Sunteți pe pagina 1din 4

Lucrare de laborator Nr 10

Tema : Macrodefiniții. Tablouri numerice


Obiectivele lucrării :
Această lucrare are drept scop familiarizarea cu principiile de alcătuire a macroinstrucțiunilor ,
însușirea tehnicii de utilizare a macroinstrucțiunilor și însușirea tehnologiilor de prelucrare a
tablourilor numerice.

Sarcina :
Fie A o matrice numerică de dimensiunea mxn . Să se determine coloana elementele căreia după
modul sunt mai mici sau egale cu numărul a dat.

Varianta a)
.model small

.stack

.data

m dw -3,1,12,9,8,6,14,0,-23,-1,12,17,21,-7,13

m1 db "Suma elementelor din intervalul [-3,11] este:",'$'

s db 6 dup(' '),"$"

.code

start:

mov ax, @data

mov ds, ax

xor di,di; di=0, registru de index

xor bx,bx; bx=0, registru acumulator

mov cx,15; cx=15, nr iteratiilor

a1:cmp m[di],-3; comparam elementele cu -3

jl et1; daca e mai mic, salt la et1

cmp m[di],11; comparam elementele cu 11

jg et1; daca e mai mare, salt la et1

add bx,m[di]; suma elementelor din intervalul [-3,11]

et1:add di,2; incrementam registrul de index

loop a1
;afisarea m1

mov ah, 9

lea dx, m1

int 21h

;afisarea rezultatului expresiei

mov ax,bx

push ax

mov si,10

mov di,5

mov dx,0

cmp ax,0

jge z

neg ax

z:div si

add dl,30h

mov s[di],dl

xor dx,dx

dec di

cmp ax,0

jne z

pop ax

cmp ax,0

jge z1

mov s[di],"-"

z1: mov ah,9

lea dx,s

int 21h

;sfirsit de program
mov ah,4ch

int 21h

end start

Varianta b)

.model small

.stack

.data

m dw -3,-1,-12,-9,-8,-6,-14,-2,-23,-1,-12,-17,-21,-7,-13

m1 db "Elementul maxim este:",'$'

s db 6 dup(' '),"$"

.code

start:

mov ax, @data

mov ds, ax

xor di,di; di=0, registru de index

xor bx,bx; bx=0, registru acumulator

mov cx,14; cx=15, nr iteratiilor

mov si, m[0]

a1:cmp m[di+2],si; comparam elementele

jle et1; daca e mai mic, salt la et1

mov si,m[di+2]

et1:add di,2; incrementam registrul de index

loop a1

;afisarea m1

mov ah, 9

lea dx, m1

int 21h

;afisarea rezultatului expresiei


mov ax,si

push ax

mov si,10

mov di,5

mov dx,0

cmp ax,0

jge z

neg ax

z:div si

add dl,30h

mov s[di],dl

xor dx,dx

dec di

cmp ax,0

jne z

pop ax

cmp ax,0

jge z1

mov s[di],"-"

z1: mov ah,9

lea dx,s

int 21h

;sfirsit de program

mov ah,4ch

int 21h

end start

S-ar putea să vă placă și

  • Lab1 Grafica
    Lab1 Grafica
    Document5 pagini
    Lab1 Grafica
    Valeria Ţînţaru
    Încă nu există evaluări
  • Lab2 Grafica
    Lab2 Grafica
    Document10 pagini
    Lab2 Grafica
    Valeria Ţînţaru
    Încă nu există evaluări
  • ASDC4
    ASDC4
    Document9 pagini
    ASDC4
    Valeria Tintaru
    Încă nu există evaluări
  • Referat Etica Minciuna
    Referat Etica Minciuna
    Document11 pagini
    Referat Etica Minciuna
    Valeria Ţînţaru
    100% (1)
  • ASDC1
    ASDC1
    Document17 pagini
    ASDC1
    Valeria Tintaru
    Încă nu există evaluări
  • LFA3
    LFA3
    Document5 pagini
    LFA3
    Valeria Ţînţaru
    Încă nu există evaluări
  • Lab 2
    Lab 2
    Document4 pagini
    Lab 2
    Valeria Ţînţaru
    Încă nu există evaluări
  • Cnmo 2
    Cnmo 2
    Document19 pagini
    Cnmo 2
    Valeria Ţînţaru
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document8 pagini
    Lab 1
    Valeria Ţînţaru
    Încă nu există evaluări
  • Cnmo 1
    Cnmo 1
    Document26 pagini
    Cnmo 1
    Valeria Ţînţaru
    100% (1)
  • Lab5 ASS
    Lab5 ASS
    Document2 pagini
    Lab5 ASS
    Valeria Ţînţaru
    Încă nu există evaluări