Код
;;=========================================================================
;; преобразование 10-разрядного двоичного числа
;; в 3-разрядное двоично-десятичное неупакованное число
;; resH:resL - двоичное число
;; r18:r17:r16 - десятичное
bin_to_dec:
ser r18
bin_to_dec1: inc r18
subi resL, 100
sbci resH, 0
brcc bin_to_dec1; вычитаем еще раз (нет заема)
subi resL, -100
sbci resH, 0
ser r17
bin_to_dec2: inc r17
subi resL, 10
brcc bin_to_dec2
subi resL, -10
ser r16
bin_to_dec3: inc r16
subi resL, 1
brcc bin_to_dec3
ret
;; преобразование 10-разрядного двоичного числа
;; в 3-разрядное двоично-десятичное неупакованное число
;; resH:resL - двоичное число
;; r18:r17:r16 - десятичное
bin_to_dec:
ser r18
bin_to_dec1: inc r18
subi resL, 100
sbci resH, 0
brcc bin_to_dec1; вычитаем еще раз (нет заема)
subi resL, -100
sbci resH, 0
ser r17
bin_to_dec2: inc r17
subi resL, 10
brcc bin_to_dec2
subi resL, -10
ser r16
bin_to_dec3: inc r16
subi resL, 1
brcc bin_to_dec3
ret
Я так понял она и выполняет такое преобразование.
Написал програмку, но у нее даже пропала выдача значения в uart.
Буду благодарен, если кто нибудь подскажет ошибку или хотя бы подскажет как правильно реализовать мой проект