В uart
я пытался отправить несколько цифр, которые пытались преобразовать в bcd, а затем отправить.
Код работает только с 00 до 99, и если я хочу отправить что-то большее, чем 99, оно преобразует его в таблицу ASCI для некоторого символа или другого числа.
Не могли бы вы помочь мне улучшить его, чтобы я мог отправлять номера до 255?
print_arr:
mov a,@r0
anl a ,#0f0h
swap a
add a , #30h
mov sbuf , a
jnb ti , $
clr ti
mov a , @r0
anl a ,#0fh
add a , #30h
mov sbuf , a
jnb ti , $
clr ti
mov sbuf ,#' ';
jnb ti,$
clr ti
inc r0
djnz r7,print_arr
mov a , #0DH
mov sbuf , a
jnb TI , $
clr TI
mov a , #0AH
mov sbuf , a
jnb TI , $
clr TI
clr TR1
ret
end