Suma o Resta de 2 numeros de 8 bits el resultado se muestra en 2 displays en hexadecimal

;Programa Suma o Resta 2 números de bits
; y el resultado sera mostrado en hexadecimal en 2 displays
.include “m16def.inc”
.def aux1 = r16
.def aux2 = r17
.def rat = r18
.org 0×00
;Definimos entradas y Salidas
ldi aux1,0×00
out ddra,aux1
out ddrb,aux1
ldi aux1,0×7f
out ddrd,aux1
ldi aux1,0xff
out ddrc,aux1
;Inicio
main:
in aux1,pina
in aux2,pinb
sbic pind,7 ;Suma 1,Resta 0
rjmp suma
resta:
sub aux1,aux2
brbs 2,comp
ldi rat,0×00
rjmp mostrar
comp:
neg aux1
ldi rat,0×80
rjmp mostrar
suma:
add aux1,aux2
mostrar: ;Para mostrar en Hexadecimal en 2 Displays
mov aux2,aux1
cbr aux1,0xf0
ldi zl,low(tabla<<1 br="">ldi zh,high(tabla<<1 br="">add zl,aux1
clr aux1
adc zh,aux1
lpm aux1,z
sbrc rat,7
ori aux1,0×80
out portc,aux1
swap aux2
cbr aux2,0xf0
ldi zl,low(tabla<<1 br="">ldi zh,high(tabla<<1 br="">add zl,aux2
clr aux2
adc zh,aux2
lpm aux2,z
out portd,aux2
rjmp main;
tabla:; display anodo común
.dw 0×7940;1,0
.dw 0×3024;3,2
.dw 0×1219;5,4
.dw 0×7802;7,6
.dw 0×1000;9,8
.dw 0×0308;b,a
.dw 0×2146;d,c
.dw 0×0e06;f,e

No response to “Suma o Resta de 2 numeros de 8 bits el resultado se muestra en 2 displays en hexadecimal”