Programma:
- caricamento vettore;
- stampa del vettore non ordinato;
- calcolo e stampa del vettore ordinato.
- caricamento vettore;
- stampa del vettore non ordinato;
- calcolo e stampa del vettore ordinato.
Codice:
data segment
v db 15 dup(?)
data ends
sistema segment stack
db 100H dup(?)
top label word
code segment
assume ds:data,ss:sistema,cs:code
main: mov ax,data
mov ds,ax
mov ax,sistema
mov ss,ax
lea sp,top
;caricamento del vettore
mov si,0
mov cx,15
for1: mov ah,01h
int 21h
mov v[si],al
inc si
loop for1
;stampa del vettore non ordinato
mov si,0
mov cx,15
for2: mov ah,02h
mov dl,v[si]
int 21h
inc si
loop for2
;ordinamento del vettore
mov bx,0
mov si,0
mov cx,14
for3: mov si,bx
add si,1
while: cmp si,15
jnb finewh
mov ah,v[si]
se: cmp ah,v[bx]
jnb finese
mov dh,v[si]
mov dl,v[bx]
mov v[si],dl
mov v[bx],dh
finese: nop
inc si
jmp while
finewh: nop
inc bx
loop for3
;stampa del vettore ordinato
mov si,0
mov cx,15
for4: mov ah,02h
mov dl,v[si]
int 21h
inc si
loop for4
mov ax,4c00h
int 21h
code ends
end main