Za zadanie mam napisać program na mikrokontroler 8051, który sumuje 2 liczby 8 bitowych a wynik w postaci dziesiętnej wyświwtla na wyświetlaczu LED. Napisałem program, który sumuje mi dwie liczby i wyświetla wynik tylko gdy wynik jest 2 cyfrowy. Mam problem z napisaniem programu gdy wynik jest 3 cyfrowy, czyli dodawanie jest z przeniesienm np. FF+FF powinno wyświetlić 510. Proszę o jakąś podpowiedź. Używam edsim51
MOV 30h, #11000000B ; 0
MOV 31h, #11111001B ; 1
MOV 32h, #10100100B ; 2
MOV 33h, #10110000B ; 3
MOV 34h, #10011001B ; 4
MOV 35h, #10010010B ; 5
MOV 36h, #10000010B ; 6
MOV 38h, #10000000B ; 8
MOV 39h, #10010000B ; 9
MOV r0, #7dh
mov r1, #4h
MOV a, r0
add a, r1
mov b, #0Ah
div AB
petla:
next0:
CJNE a, #0, next1
mov p1, 30h
jmp koniec
next1:
CJNE a, #1, next2
mov p1, 31h
jmp koniec
next2:
CJNE a, #2, next3
mov p1, 32h
jmp koniec
next3:
CJNE a, #3, next4
mov p1, 33h
jmp koniec
next4:
CJNE a, #4, next5
mov p1, 34h
jmp koniec
next5:
CJNE a, #5, next6
mov p1, 35h
jmp koniec
next6:
CJNE a, #6, next7
mov p1, 36h
jmp koniec
next7:
CJNE a, #7, next8
mov p1, 37h
jmp koniec
next8:
CJNE a, #8, next9
mov p1, 38h
jmp koniec
next9:
CJNE a, #9, next0
mov p1, 39h
jmp koniec
koniec:
mov a, b
clr p3.3
setb p3.4
jmp petla