data segment
info DB "Program sortuje 4 liczby $"
wiad DB "Podaj liczbe1 : $"
wiad1 DB "Podaj liczbe2 : $"
wiad2 DB "Podaj liczbe3 : $"
wiad3 DB "Podaj liczbe4 : $"
tabela DB [A],,[C],[D]
tabela_size EQU 4
jeszcze_raz DB 0
A DB 0
B DB 0
C DB 0
D DB 0
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
mov dx, @DATA
mov ds, dx
mov dx, offset info
mov ah, 9
int 21h
mov dx, offset wiad
mov ah, 9
int 21h
mov ah,01h ;wczytywanie liczby klawiatury
int 21h
sub al, 30h
mov [A],al
mov dx, offset wiad1
mov ah, 9
int 21h
mov ah,01h ;wczytywanie liczby klawiatury
int 21h
sub bl, 30h
mov ,bl
mov dx, offset wiad2
mov ah, 9
int 21h
mov ah,01h ;wczytywanie liczby klawiatury
int 21h
sub cl, 30h
mov [C],cl
mov dx, offset wiad3
mov ah, 9
int 21h
mov ah,01h ;wczytywanie liczby klawiatury
int 21h
sub ch, 30h
mov [D],ch
kalkulacja:
mov al,[A]
mov bl,
mov cl,[C]
mov ch,[D]
przygotuj:
mov bx, OFFSET tabela
jeszczeraz:
mov jeszcze_raz,0
xor si,si
nastepny_element:
mov ah,[bx+si],al
mov al,[bx+si+1]
cmp ah,al
jbe bez_przejscia
mov [bx+si],al
mov [bx+si+1],ah
mov jeszcze_raz,1
bez_przejscia:
inc si
cmp si,tabela_size
jl nastepny_element
cmp jeszcze_raz,1
je jeszczeraz
mov dx, offset tabela
mov ah, 9
int 21h/9h
mov ax, 4c00h
int 21h
ends
end start