joi, 7 iulie 2016

Program in asamblare.

Aplicaţii:

1. Care este conţinutul registrului AL după executarea următoarei secvenţe de instrucţiuni:
mov al, 10011110b
mov cl, 3
rol al, cl

2. Care va fi conţinutul registrului CX după executarea următoarei secvenţe de instrucţiuni:
mov bx, sp
mov cx, 2134H
push cx
mov byte ptr ss:[bx-2], 22H
pop cx

3. Care este conţinutul registrului AX după executarea următoarei secvenţe de instrucţiuni:
mov cl, 4
mov ax, 0702H
shl al, cl
shr ax, cl

4. Care este conţinutul registrului AX după executarea următoarei secvenţe de instrucţiuni:
mov cx, 1234H
push cx
mov bx, 2359H
push bx
mov ax, 4257H
mov bp, sp
mov byte ptr [bp], al
pop ax

5. Să se scrie un program care adună numerele 145A789FH şi 92457ABCH, afişând rezultatul pe ecran.

6. Să se scrie un program care adună două numere în format BCD împachetat. Fiecare din cele două
numere are 4 cifre. Numerele sunt memorate în zona de date. Programul afişează rezultatul adunării.

7. Să se scrie un program care adună două numere în format BCD despachetat. Fiecare din cele două
numere are 4 cifre. Numerele sunt memorate în zona de date. Programul afişează rezultatul adunării.

8. Să se scrie un program care afişează pe ecran pătratul unui număr. Se va folosi instrucţiunea XLAT.

Programare în limbaj de asamblare
Lucrarea nr. 4.
Instrucţiuni de apel de procedură şi de salt
Forma generală pentru definirea unei proceduri este:
 nume_proc PROC [FAR | NEAR]
 ……
 RET
 nume_proc ENDP
unde nume_proc este numele procedurii, iar parametrii opţionali FAR sau NEAR indică tipul procedurii.
Procedurile sunt de două tipuri: FAR şi NEAR. O procedură FAR poate fi apelată şi din alte segmente de
cod decât cel în care este definită, pe când o procedură NEAR poate fi apelată numai din segmentul de cod
în care este definită. Dacă se omit parametrii FAR sau NEAR, tipul procedurii este dedus din directivele
simplificate de definire a segmentelor (modelul de memorie folosit). De exemplu , modelul LARGE
presupune că toate procedurile sunt implicit de tip FAR.
 În mod corespunzător, există apeluri de tip FAR, respectiv NEAR, precum şi instrucţiuni de
revenire de tip FAR, respectiv NEAR. Instrucţiunea RET (Return) provoacă revenirea în programul apelant;
tipul instrucţiunii este dedus din tipul procedurii (NEAR sau FAR). Putem folosi o instrucţiune de revenire
explicită: RETN (Return Near) sau RETF (Return Far).

Niciun comentariu:

Trimiteți un comentariu