Witam moim zadaniem jest napisanie programu który wczyta dwie liczby a i b (0 ≤ a ≤ 99, 0 ≤ b ≤ 99) a następnie sprawdzi i wyświetli na kranie tekst w postaci „ab” lub „a=b. Napisałem taki program lecz nie działa on prawidłowo. Problemem jest to, że przy mnożeniu przez 10 wynik trafia do rejestru ax później muszę to jakoś zsumować z jednościami w al i nie wiem dokładnie jak to zrobić. Zwracam się więc z prośbą o pomoc.
Oto kod:
.data
teksta db "Podaj liczbe A:$"
tekstb db 10,13,"Podaj liczbe B:$"
tekstw db 10,13,"a>b$"
tekstm db 10,13,"a<b$"
tekstr db 10,13,"a=b$"
.stack 256
.code
start:
mov ax,@data
mov ds,ax
mov dx,offset teksta
mov ah,9
int 33
mov ah,1
int 33
sub al,'0'
mov bl,10
mul bl
mov ah,1
int 33
sub al,'0'
add bl,al
mov dx,offset tekstb
mov ah,9
int 33
mov ah,1
int 33
sub al,'0'
mov cl,10
mul cl
mov ah,1
int 33
sub al,'0'
add cl,al
cmp cl,bl
ja mniejsze
cmp cl,bl
jb wieksze
mov dx,offset tekstr
mov ah,9
int 33
jmp koniec
mniejsze:
mov dx,offset tekstm
mov ah,9
int 33
jmp koniec
wieksze:
mov dx,offset tekstw
mov ah,9
int 33
jmp koniec
koniec:
mov ah,76
int 33
end start