ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

АссСмблСр ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΠΈΡ‚Π΅Ρ€ АбСль. АссСмблСр ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для IBM PC. ΠœΠΈΡ‚Π½ΠΈΡ†ΠΊΠΈΠΉ Π’. — ΠΡ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° IBM PC ΠΈ ΡΠ·Ρ‹ΠΊ АссСмблСра. Π—Π°Π΄Π°Π½ΠΈΠ΅ Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° — курсовоС Π·Π°Π΄Π°Π½ΠΈΠ΅, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 1. Str1 db 'Registr AX soderzhit 11 0000b, a registr DX soderzhit 100 0100b', 10,13,'$'. 783.99, 659.26, 659.26, 880.00, 1046.50, 987.77, 880.00, 1046.50, 880.00, 987.77, 880.00,. Float snd = {659.26, 880.00, 1046.50, 987.77, 880.00, 1046.50… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

АссСмблСр ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π—Π°Π΄Π°Π½ΠΈΠ΅ 2

1. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 1 3

2. ASM 1 4

3. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 2 7

4. ASM 2 8

5. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 3 11

6. ASM 3 12

7. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 4 16

8. ASM 4 17

9. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 5 19

10. ASM 5 20

11. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 6 23

12. ASM 6 24

13. KOMP. CPP 26

14. Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ 36

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

39

Π—Π°Π΄Π°Π½ΠΈΠ΅ Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° — курсовоС Π·Π°Π΄Π°Π½ΠΈΠ΅, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 1

Π’Ρ€ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ A, B, ΠΈ C ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ Ρ†Π΅Π»Ρ‹Π΅ значСния. Π£ΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ эти значСния ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ A ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π»Π° минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° Π‘ — максимальноС.

Π—Π°Π΄Π°Π½ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ массив ΠΈΠ· N ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Π½Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌ BCD Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ прСобразования исходного массива Π—Π°Π΄Π°Π½ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ массив ΠΈΠ· N ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ². ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, ΠΎΡ‚Ρ‹ΡΠΊΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ: Π½ΠΎΠΌΠ΅Ρ€ максимального ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ элСмСнтов, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтами.

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ значСния, содСрТащСгося Π² AX. Нормализация Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ΄Π²ΠΈΠ³Π΅ содСрТимого AX Π²Π»Π΅Π²ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ ΠΈΠ· Π±ΠΈΡ‚ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1, Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² 15-ΠΉ разряд. Если ΠΆΠ΅ сразу (AX)=0 ΠΈΠ»ΠΈ 15-ΠΉ разряд содСрТит 1, Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. ΠŸΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ рСгистр BX Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ число, Ρ€Π°Π²Π½ΠΎΠ΅ количСству Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… сдвигов.

Бчитая содСрТимоС рСгистров DX: AX 32-Π±ΠΈΡ‚Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‰ΡƒΡŽ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ DL Π½ΠΎΠΌΠ΅Ρ€ самого младшСго Π±ΠΈΡ‚Π°, содСрТащСго 1.

Π˜Π½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅: ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· DTA.

1. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 1

2. ASM 1

mes macro msg

mov ah, 9

lea dx, msg

int 21h

endm

abc macro char

add char,'0'

mov dl, char

mov ah, 2

int 21h

sub char,'0'

endm

d_seg segment

a db 5

b db 9

c db 3

str db 'Ishodnie dannie:', 10,13,'$'

str2 db 'Resultat sortirovki po vozrastaniyu', 10,13,'$'

str3 db 'Press any key…$'

enter db 10,13,'$'

space db ' ','$'

strA db 'A=','$'

strB db 'B=','$'

strC db 'C=','$'

d_seg ends

c_seg segment

assume ds: d_seg, cs: c_seg

start:mov ax, d_seg

mov ds, ax

mes enter

mes str

mes enter

mes strA

abc a

mes space

mes strB

abc b

mes space

mes strC

abc c

mes enter

mov al, a

mov bl, b

mov cl, c

cmp al, bl

jl continue

xchg al, bl

continue:

cmp al, cl

jl continue2

xchg al, cl

continue2:

cmp bl, cl

jl continue3

xchg bl, cl

continue3:

mov a, al

mov b, bl

mov c, cl

mes enter

mes str2

mes enter

mes strA

abc a

mes space

mes strB

abc b

mes space

mes strC

abc c

mes enter

mes enter

mes str3

mov ah, 1

int 21h

mov ah, 4ch

int 21h

c_seg ends

end start

3. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 2

4. ASM 2

mes macro msg

mov ah, 9

lea dx, msg

int 21h

endm

dseg segment

k dw 10

mdb10

masdb1,3,6,8,9,1,4,7,2,3,7,9,4,5,8,9

str db 'Ishodnii massiv elementov v neupakovannom BCD formate:', 10,13,'$'

str1 db 10,13,'Poluchenii massiv elementov v ypakovannom BCD formate:', 10,13,'$'

str2 db 10,13,'Press any key…', 10,13,'$'

enter db 10,13,'$'

space db ' $'

dseg ends

cseg segment

assume cs: cseg, ds: dseg

vivod proc

xor cx, cx

k_del:

mov dx, 0

div k

add dx,'0'

push dx

inc cx

cmp ax, 0

jne k_del

k3:

pop dx

mov ah, 2

int 21h

loop k3

ret

vivod endp

abcproc

xorsi, si

xordi, di

movbx, 16

movcx, 16

decbx

m2:

moval, mas[si]

mulm

incsi

addal, mas[si]

movmas[di], al

cmpsi, bx

jem1

incdi

incsi

loop m2

m1:

ret

abcendp

start:

movax, dseg

movds, ax

mes enter

mes str

mes enter

mov bx, 0

met2: mov al, mas[bx]

mov ah, 0

call vivod

mes space

inc bx

cmp bx, 15

jle met2

call abc

mes enter

mes str1

mes enter

mov bx, 0

met1: mov al, mas[bx]

mov ah, 0

call vivod

mes space

inc bx

cmp bx, 7

jle met1

mes enter

mes str2

mov ah, 1

int 21h

movah, 4ch

int21h

cseg ends

end start

5. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 3

6. ASM 3

char1 macro b

add b,'0'

mov dl, b

mov ah, 2

int 21h

sub b, '0'

endm

char macro a

xor dx, dx

mov ax, a

mov bx, 10

div bx

add dl,'0'

mov ah, 2

int 21h

endm

mes macro str

mov ah, 9

lea dx, str

int 21h

endm

d_seg segment

mindb0

maxdb0

n_mindw1

n_maxdw1

razdb0

adb2,6,4,1,7,9,3

n=$-a

enter db 10,13,'$'

str db 10,13,'Ishodnii massiv: $'

str1 db 10,13,'Resultat: $'

str2 db 10,13,'Number min chisla: $'

str3 db 10,13,'Number max chisla: $'

str4 db 10,13,'Raznost mezhdu max i min chislami: $'

str5 db 10,13,'Press any key…$'

space db ' $'

d_seg ends

c_seg segment

assume cs: c_seg, ds: d_seg

start:

movax, d_seg

movds, ax

xorsi, si

moval, a[si]

movmin, al

movmax, al

incsi

m3:

moval, a[si]

cmpal, max

jlem1

movmax, al

movbx, si

incbx

movn_max, bx

m1:

cmpal, min

jgem2

movmin, al

movbx, si

incbx

movn_min, bx

m2:

incsi

cmpsi, n

jlm3

moval, max

subal, min

movraz, al

mes str

mes enter

xor si, si

povtor:

char1 a[si]

mes space

inc si

cmp si, n

jne povtor

mes enter

mes str1

mes enter

mes str2

char n_min

mes enter

mes str3

char n_max

mes enter

mes str4

char1 raz

mes enter

mes enter

mes str5

mov ah, 1

int 21h

movah, 4ch

int21h

c_seg ends

end start

7. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 4

8. ASM 4

mes macro str

mov ah, 9

lea dx, str

int 21h

endm

dseg segment

str db 10,13,'AX soderzhit znachenie 2345h$'

str1 db 10,13,'Posle normalizacii znacheniya AX, BX soderzhit chislo vipolnenih sdvigov$' $'

str2 db 10,13,'BX = $'

str3 db 10,13,'Press any key…$'

enter db 10,13,'$'

x dw 2345h

dseg ends

cseg segment

assume cs: cseg, ds: dseg

start: mov ax, dseg

mov ds, ax

mov ax, x

push ax

xor dx, dx

cmp ax, dx

je exit

xor si, si

cont: mov cx, 2

mov dx, 100 000 000 000 0000b

mov bx, ax

or bx, dx

cmp bx, ax

je exit

inc si

shl ax, 1

loop cont

exit: mes str

mes enter

mes str1

mes enter

mes str2

mov bx, si

xor dx, dx

push bx

mov ax, bx

mov bx, 10

div bx

add dx,'0'

mov ah, 2

int 21h

pop ax

pop bx

mes enter

mes str3

mov ah, 1

int 21h

mov ah, 4ch

int 21h

cseg ends

end start

9. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 5

10. ASM 5

mes macro msg

mov ah, 9

lea dx, msg

int 21h

endm

d_seg segment

k dw 10

str1 db 'Registr AX soderzhit 11 0000b, a registr DX soderzhit 100 0100b', 10,13,'$'

str2 db 'Nomer samogo mladshego bita, soderzhaschego 1', 10,13,'$'

str3 db 10,13,'Press any key…', 10,13,'$'

enter db 10,13,'$'

d_seg ends

c_seg segment

assume ds: d_seg, cs: c_seg

vivod proc

xor cx, cx

k_del:

sub dx, dx

div k

add dx,'0'

push dx

inc cx

cmp ax, 0

jne k_del

k3:

pop dx

mov ah, 2

int 21h

loop k3

ret

vivod endp

start:

mov ax, d_seg

mov ds, ax

mov ax, 11 0000b

mov dx, 100 0100b

nachalo:

clc

rcr ax, 1

inc bx

jc vivod1

cmp ax, 0

jne nachalo

mov bx, 7

m1:

clc

rcr dx, 1

inc bx

jc vivod1

cmp dx, 0

jne m1

vivod1:

mes enter

mes str1

mes enter

mes str2

mes enter

mov dl, bl

mov ax, dx

call vivod

mes enter

mes str3

mov ah, 1

int 21h

mov ah, 4ch

int 21h

c_seg ends

end start

11. Π‘Π»ΠΎΠΊ-схСма ΠΊ Π·Π°Π΄Π°Π½ΠΈΡŽ 6

12. ASM 6

mes macro str

mov ah, 9

lea dx, str

int 21h

endm

dseg segment

ten dw 10

filename db 8 dup (0)

dta db 2ch dup (' '), 0,10,13,'$'

error db 10,13,'File not found', 10,13,'$'

exit db 10,13,'Press any key…$'

inp db 'Input filename:', 10,13,'$'

out1 db 10,13,10,13,'Size file in DTA:', 10,13,10,13,'$'

out2 db 'FILE_NAME — $'

out3 db 'FILE_SIZE — $'

out4 db ' bytes', 10,13,'$'

dseg ends

cseg segment

assume cs: cseg, ds: dseg

start: mov ax, dseg

mov ds, ax

mes inp

mov ah, 1ah

lea dx, dta

int 21h

xor si, si

povtor: mov ah, 1

int 21h

cmp al, 13

je ok

mov filename[si], al

inc si

jmp povtor

ok:mov ah, 4eh

lea dx, filename

mov cx, 0

int 21h

jc err

mes out1

mes out2

mes dta[1eh]

mes out3

mov dx, word ptr dta[1ah]+2

mov ax, word ptr dta[1ah]

mov cx, 0

jmp next

l1:mov dx, 0

next:div ten

push dx

inc cx

cmp ax, 0

jne l1

n: pop dx

add dx,'0'

mov ah, 2

int 21h

loop n

mes out4

jmp quit

err:mes error

quit:mes exit

mov ah, 1

int 21h

mov ah, 4ch

int 21h

cseg ends

end start

13. KOMP. CPP

#include

#include

#include

#include

#include

#include

#include

#include

void pomehi (int x, int y, int i)

{

setcolor (i);

line (x-100,y-60,x-80,y-60);

line (x-60,y-50,x-40,y-50);

line (x-20,y-60,x, y-60);

line (x+20,y-50,x+40,y-50);

line (x+60,y-60,x+80,y-60);

line (x-100,y-20,x-80,y-20);

line (x-60,y-10,x-40,y-10);

line (x-20,y-20,x, y-20);

line (x+20,y-10,x+40,y-10);

line (x+60,y-20,x+80,y-20);

line (x-100,y+20,x-80,y+20);

line (x-60,y+30,x-40,y+30);

line (x-20,y+20,x, y+20);

line (x+20,y+30,x+40,y+30);

line (x+60,y+20,x+80,y+20);

line (x-100,y+60,x-80,y+60);

line (x-60,y+70,x-40,y+70);

line (x-20,y+60,x, y+60);

line (x+20,y+70,x+40,y+70);

line (x+60,y+60,x+80,y+60);

}

void komp (int x, int y)

{

int i;

///////////////monitor////////////////

i=8;

setcolor (i);

rectangle (x-120, y-100, x+120, y+100);

setfillstyle (SOLID_FILL, i);

floodfill (x-115,y-95,i);

i=0;

setcolor (i);

rectangle (x-110, y-90, x+110, y+90);

setfillstyle (SOLID_FILL, i);

floodfill (x, y, i);

i=0;

setcolor (i);

line (x-120, y-100, x-110, y-110);

line (x+120, y+100, x+130, y+90);

line (x+120, y-100, x+130, y-110);

line (x-110, y-110, x+130, y-110);

line (x+130, y-110, x+130, y+90);

line (x+20, y+110, x+20, y+100);

line (x-20, y+110, x-20, y+100);

rectangle (x+60, y+110, x-60, y+120);

line (x+60, y+110, x+70, y+100);

line (x+60, y+120, x+80, y+100);

line (x-60, y+110, x-50, y+100);

line (x+20, y+110, x+30, y+100);

circle (x+110,y+95,3);

circle (x+100,y+95,2);

circle (x+90,y+95,2);

///////////////sistemnik//////////////

i=0;

setcolor (i);

rectangle (x-130, y+120, x-200, y-100);

line (x-200, y-100, x-110, y-190);

line (x-130, y-100, x-40, y-190);

line (x-110, y-190, x-40, y-190);

line (x-130, y+120, x-110, y+100);

line (x-40, y-190, x-40, y-110);

rectangle (x-190, y-90, x-140, y-80);

rectangle (x-190, y-70, x-140, y-60);

rectangle (x-190, y-50, x-140, y-40);

rectangle (x-190, y-30, x-140, y-20);

rectangle (x-180, y-10, x-150, y);

rectangle (x-180, y+10, x-150, y+20);

rectangle (x-190, y+100, x-140, y+110);

circle (x-165,y+80,5);

circle (x-165,y+60,4);

line (x-165,y+80,x-165,y+84);

circle (x-165,y+80,2);}

void kolonki (int x, int y, int i)

{int k;

//////////////left//////////////////

k=i;

i=15;

setfillstyle (INTERLEAVE_FILL, i);

i=k;

setcolor (i);

rectangle (x-210, y+120, x-260, y+60);

line (x-210, y+120, x-200, y+110);

line (x-210, y+60, x-200, y+50);

line (x-260, y+60, x-240, y+40);

line (x-240, y+40, x-200, y+40);

i=k;

setcolor (i);

pieslice (x-235, y+90, 0, 180, 20);

rectangle (x-255, y+90, x-215, y+110);

floodfill (x-245,y+95,i);

//////////////right/////////////////

rectangle (x+140, y+120, x+190, y+60);

line (x+190, y+120, x+210, y+100);

line (x+190, y+60, x+210, y+40);

line (x+140, y+60, x+160, y+40);

line (x+160, y+40, x+210, y+40);

line (x+210, y+100, x+210, y+40);

i=k;

setcolor (i);

pieslice (x+165, y+90, 0, 180, 20);

rectangle (x+145, y+90, x+185, y+110);

floodfill (x+155,y+95,i);

circle (x+165,y+115,4);

circle (x+155,y+115,3);

circle (x+175,y+115,3);

arc (x+165,y+40,0,150,40);

}

void main ()

{int dr=DETECT, mod;

float snd[] = {659.26, 880.00, 1046.50, 987.77, 880.00, 1046.50, 880.00, 987.77, 880.00,

698.46, 783.99, 659.26, 659.26, 880.00, 1046.50, 987.77, 880.00, 1046.50, 880.00, 987.77, 880.00,

659.26, 622.25, 587.33, 587.33, 698.46, 880.00, 987.77, 587.33, 698.46,

830.61, 880.00, 440.00, 523.25, 698.46, 698.46, 659.26, 783.95, 698.46, 698.46,

659.26, 493.88, 523.25, 440.00, 987.77, 987.77, 932.33, 880.00, 987.77, 987.77,

880.00, 783.99, 698.46, 659.26, 659.26, 783.99, 659.26, 587.33, 587.33,

698.46, 587.33, 493.88} ;

int x, y, err, i, ki, key, r, h, c, x1,x2,y1,y2;

char s, str[80]={'K','U','R','S','O','V','A','Y','A',' ','R','A','B','O','T','A'};

initgraph (&dr,&mod," «);

err=graphresult ();

if (err){

cout<<" error initgraph" <

exit (1); }

snachala:

cleardevice ();

i=7;

x=getmaxx ()/2;

y=getmaxy ()/2;

setfillstyle (SOLID_FILL, i);

floodfill (x, y, i);

setcolor (4);

outtextxy (400,70," Press any key for STOP Music");

outtextxy (400,80," Press 'P' for PLAY Music");

outtextxy (400,90," Press 'M' for GOTO MENU");

outtextxy (400,100," Press 'Esc' for exit");

settextstyle (0,0,3);

setcolor (2);

outtextxy (150,15,str);

settextstyle (0,0,2);

setcolor (6);

outtextxy (330,380," KAFEDRA: EVM");

setcolor (5);

outtextxy (330,420," SPECIALNOST: VMKSiS");

setcolor (4);

outtextxy (30,380," VIPOLNIL:");

settextstyle (0,0,1);

setcolor (1);

outtextxy (180,380," STUDENT FITU 1−2a");

settextstyle (0,0,1);

setcolor (0);

outtextxy (180,390," XLINTCEV A.G.");

settextstyle (0,0,2);

setcolor (4);

outtextxy (30,420," PROVERIL:");

settextstyle (0,0,1);

setcolor (1);

outtextxy (180,420," KOLOMEICEVA T.G.");

settextstyle (0,0,1);

setcolor (0);

outtextxy (180,430," BELIKOV I.Yu.");

komp (x, y); m1:

for (r=0;r<62;r++)

{

if (kbhit ()) break;

i=15;

pomehi (x, y, i);

delay (100);

i=7;

kolonki (x, y, i);

i=0;

kolonki (x, y-10, i);

i=0;

pomehi (x, y, i);

delay (100);

sound (snd[r]/1.5);

if (r==11 ^ r==23 ^ r==27 ^ r==31 ^ r==43) { delay (1500); nosound (); delay (600); }

else if (r==53 ^ r==57 ^ r==61) { delay (300); nosound (); delay (1400); }

else if (r==47) { delay (500); nosound (); delay (700); }

else delay (50);

i=7;

kolonki (x, y-10,i);

i=0;

kolonki (x, y, i);

}

nosound ();

setcolor (RED);

m:

s=getch ();

if (s==27) exit (1);

if (s=='p') {setfillstyle (SOLID_FILL, 0); floodfill (getmaxx ()/2,getmaxy ()/2,8); goto m1;}

if (s≠'m') goto m;

cleardevice ();

i=15;

setcolor (i);

setfillstyle (SOLID_FILL, i);

floodfill (x, y, i);

settextstyle (0,0,2);

setcolor (RED);

outtextxy (150,30," MENU");

settextstyle (0,0,1);

setcolor (2);

outtextxy (20,100," Zadanie po assembleru #1″);

setcolor (3);

outtextxy (20,135," Zadanie po assembleru #2″);

setcolor (4);

outtextxy (20,170," Zadanie po assembleru #3″);

setcolor (5);

outtextxy (20,205," Zadanie po assembleru #4″);

setcolor (6);

outtextxy (20,240," Zadanie po assembleru #5″);

setcolor (0);

outtextxy (20,275," Zadanie po assembleru #6″);

setcolor (8);

outtextxy (20,310," Zadanie po programmirovaniu");

setcolor (9);

outtextxy (20,345," Back to previos display");

setcolor (12);

outtextxy (20,380," Exit");

ki=1; x1=14; y1=95; x2=250; y2=115;

rectangle (x1,y1,x2,y2);

sled:

key=bioskey (0);

switch (key)

{

case 18 432:{setcolor (15);

rectangle (x1,y1,x2,y2);

if (y1==95) {y1=375;y2=395; ki=9;}

else {y1=y1−35; y2=y2−35; ki—;}

setcolor (RED);

rectangle (x1,y1,x2,y2);

break; }

case 20 480:

{setcolor (15);

rectangle (x1,y1,x2,y2);

if (y1==375) {y1=95;y2=115; ki=1;}

else {y1=y1+35; y2=y2+35; ki++;}

setcolor (RED);

rectangle (x1,y1,x2,y2);

break; }

case 7181: switch (ki)

{ case 1: spawnl (P_WAIT, «1.EXE», NULL); break;

case 2: spawnl (P_WAIT, «2.EXE», NULL); break;

case 3: spawnl (P_WAIT, «3.EXE», NULL); break;

case 4: spawnl (P_WAIT, «4.EXE», NULL); break;

case 5: spawnl (P_WAIT, «5.EXE», NULL); break;

case 6: spawnl (P_WAIT, «6.EXE», NULL); break;

case 7: spawnl (P_WAIT, «CPP.EXE», NULL); break;

case 8: goto snachala;

case 9: closegraph (); exit (1); }

}

goto sled;

}

14. Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Для запуска курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ Ρ„Π°ΠΉΠ»ΠΎΠΌ KOMP.EXE.Π’ случаС возникновСния ошибки «Error initialization» ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» графичСского Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° egavga. bgi ΠΈ Π΅Π³ΠΎ ΠΏΡƒΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΡƒΠΊΠ°Π·Π°Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

Для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ функционирования курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²:

KOMP.EXE

1.EXE

2.EXE

3.EXE

4.EXE

5.EXE

6.EXE

EGAVGA.BGI

TRIP.CHR

SANS.CHR

LITT.CHR

INPUT.ASM

Π›ΡŽΠ±ΠΎΠΉ Ρ„Π°ΠΉΠ» Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ < 1 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° (потрСбуСтся для ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ задания) ΠŸΡ€ΠΈ запускС прилоТСния отобраТаСтся графичСская заставка, сопровоТдаСмая ΠΌΠ΅Π»ΠΎΠ΄ΠΈΠ΅ΠΉ ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ содСрТащая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅.

НаТмитС «M» для отобраТСния мСню курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Ρ‹Ρ…ΠΎΠ΄ производится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиши Esc. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ клавиши останавливаСтся мСлодия ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡ.

Для запуска задания, Π½Π°Π²Π΅Π΄ΠΈΡ‚Π΅ курсор Π½Π° Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter. ЗапускаСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ· ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, послС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Π½Π΅Ρ‘, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° автоматичСски ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘Ρ‚ Π² ΠΌΠ΅Π½ΡŽ Π’ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ потрСбуСтся ввСсти имя Ρ„Π°ΠΉΠ»Π°, послС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ENTER.

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах MS DOS ΠΈ Microsoft Windows 95/2000/XP, для запуска Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах Windows Π±ΠΎΠ»Π΅Π΅ высокой вСрсии потрСбуСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС.

1. Калашников О. «ΠΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€? Π­Ρ‚ΠΎ просто!»

2. ΠŸΠΈΡ‚Π΅Ρ€ АбСль. АссСмблСр ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для IBM PC

3. ΠšΡƒΡ€Ρ Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΏΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρƒ «Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°»

4. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ указания ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρƒ «Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°»

5. ΠšΡ€ΡƒΠΏΠ½ΠΈΠΊ А. — ΠΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ

6. ΠšΡ€ΡƒΠΏΠ½ΠΈΠΊ А. — Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ ассСмблСр

7. ΠœΠΈΡ‚Π½ΠΈΡ†ΠΊΠΈΠΉ Π’. — ΠΡ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° IBM PC ΠΈ ΡΠ·Ρ‹ΠΊ АссСмблСра

8. Π“ΠΎΠ»ΡƒΠ±ΡŒ Н. — Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования Π½Π° ΠΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ