;************************************************************************* ;* * ;* Convert unsigned 32bit to ASCII * ;* * ;* Author: Peter Dannegger * ;* danni@specs.de * ;* * ;************************************************************************* ; ;input: R31, R30 = 16 bit value 0 ... 9999 ;output: R22, R21, R20, R19 = 4 digits (ASCII) ; bin32_ascii: ldi r22, -1 + '0' _bcd7: inc r22 subi r30, low(1000) ;-1000 sbci r31, high(1000) brcc _bcd7 ldi r21, 10 + '0' _bcd8: dec r21 subi r30, low(-100) ;+100 sbci r31, high(-100) brcs _bcd8 ldi r20, -1 + '0' _bcd9: inc r20 subi r30, 10 ;-10 brcc _bcd9 subi r19, -10 - '0' mov r19, r30 ret ;-------------------------------------------------------------------------