|
Максимальное число для преобразования 4095(0FFFh).
Как видно из 4 операторов RLA.
Но если их уменьшить до 2
и в регистр R15 заносить 14(0Eh) вместо 12(0Ch) то можно преобразовывать и до 9999.
; Now convert to BCD format
Bin_Dec:
rla R14 ; Shift out upper nibble,
rla R14 ; not used for this
rla R14 ; conversion
rla R14 ;
mov #0Ch,R15 ; Loop counter
clr R12 ; Result goes into R12
L3 rla R14 ; Shift MSB into C
dadd R12,R12 ; Add R14 to itself, plus C
dec R15
jnz L3 ; Jump if not done
mov R12, R14
ret
E-mail: info@telesys.ru