Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Schitaprobleme Lab 9
Schitaprobleme Lab 9
asm
.model small
.stack 200h
.data
mesaj db 'Sarbatori Fericite !', '$'
.code
main label
mov ax,@data
mov ds,ax
afisare:
;TEMA: afisare sir terminat cu caract $
iesire:
;TEMA: iesire program
end main
suma.asm
.model small
.stack 200h
.data
a db 3
b db 5
suma db ?
.code
main label
mov ax,@data
mov ds,ax
mov bx, offset a
mov al, [bx]
mov bx, offset b
add al,[bx]
mov bx, offset suma
mov [bx],al
afisare:
;TEMA: completati pt afisare
iesire:
;TEMA: completati pt iesire din
program
end main
sumasir.asm
.model small
.stack 200h
.data
sir db 1,1,1,1,1,1,1,1,1
suma db ?
.code
main label
mov ax,@data
mov ds,ax
mov cx,1
mov bx, offset sir
mov al, [bx]
etich: inc bx
inc cx
add al,[bx]
cmp cx,8 ; suma va fi cu 1 mai mult, adica 9
jle etich
mov bx, offset suma
mov [bx],al
afisare:
;TEMA: completati pt afisare
iesire:
;TEMA: completati pt iesire din program
end main
maximsir.asm
Stiva
Push
Xor
Push
Mov
Mov
mov cx, 9
ds
ax,ax
ax
ax,data
ds,ax
; trebuie o valoare cu 1 mai mica decat
nr de elem al sirului
Sumatast.asm
.model small
.stack 200h
.data
a db 3
b db 5
suma db ?
.code
main label
mov ax,@data
mov ds,ax
problema.asm
.model small
.stack 200h
.data
SIR_INIT db 2,'M','I',3,'C','R','O',8,7,'p',1,'r','o',5,'c'
;
CIFRE db 15 dup (?)
LITERE db 15 dup (?)
.code
main label
mov ax,@data
mov ds,ax
;contor elemente sir
mov cx, 15
mov si, offset SIR_INIT
mov di, offset CIFRE
mov bx, offset LITERE
ordonare.asm
.model small
.stack 200h
.data
sir db 4,3,6,7,9,1,2,5,0,8
.code
main label
mov ax,@data
mov ds,ax
;ordonare crescatoare a elem sirului
et2:
et1:
mov al, [si] ;pentru cifrele din SIR_INIT se returneaza
valoarea efectiva (0.9)
;iar
pentru litere MARI codul ascii corespunzator (41h.5Ah), litere MICI
(61h...7Ah).
cmp al, 40h ;fiecare element din sir va fi comparat cu
valoarea 40h.
jb et2
;daca valoarea sa este mai mica
decat 40h elementul repr. o cifra
mov [bx] , al
;daca valoarea sa este mai mare decat 40h
elementul repr. o litera
;se depune litera in sirul LITERE
inc bx
jmp et3
et2:
mov [di] , al
inc di
et3:
inc si
dec cx
jnz et1
; afisare cifre
;pt afisare se util functia 0eh a intreruperii int 10h
; TEMA : pregatiti pentru afisare sir
afis1:
; TEMA : afisati sirul CIFRE
;afisare litere
; TEMA : pregatiti pentru afisare sir
afis1:
; TEMA : afisati sirul LITERE
iesire:
mov ax, 4c00h
int 21h
end main