Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model small ; 64kb pentru date
- .stack 100 ; 100 locuri in stiva
- .data ; cate variabile avem
- sir db 80 dup('$') ; db pe un byte, $ terminator de sir
- m1 db 'Introduceti sirul:$'
- m2 db 13,10,'Sirul sortat este este: $'
- max db 0,'$' ; var max va tine valoarea maxima
- .code
- ;initializare segment de date
- mov ax,@data
- mov ds,ax
- ;afisare mesaj m1
- mov ah,9h
- mov dx,offset m1
- int 21h
- ;preluare sir de la tastatura si depunere in memorie la adresa din dx
- mov bx,0
- mov cx,80
- mov ah,3fh ; citeste sirul de la tastatura
- mov dx,offset sir
- int 21h
- parcurgere:
- mov si,offset sir
- xor cl, cl
- mov ah,[si] ; salveaza sirul in ah
- next: mov al,[si]
- cmp al,13 ; comparam cu CR (sfarsit de sir)
- jz parcurs
- mov bl, [si+1]
- cmp bl, 13
- jz parcurs
- cmp al,bl
- jle et1
- mov [si], bl
- mov [si+1], al
- mov cl,1
- et1: inc si
- jmp next
- parcurs:
- cmp cl,1
- jz parcurgere
- mov ah,9
- mov dx,offset m2
- int 21h
- mov dx,offset sir
- int 21h
- mov dl,bl
- mov ah,2
- ;sau:
- ;mov dx,offset max
- ;mov ah,9
- int 21h
- ;apel functie de terminare normala a programului
- mov ah,4ch
- int 21h
- end ; terminare program
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement