65 |
|
|
66 |
|
|
67 |
_U(ltoa): |
_U(ltoa): |
68 |
mov ZH, a_str_hi ; Z = &string |
X_movw ZL, a_str_lo ; Z = &string |
|
mov ZL, a_str_lo |
|
69 |
push r28 ; save r28 |
push r28 ; save r28 |
70 |
push ZH ; keep &string |
push ZH ; keep &string |
71 |
push ZL |
push ZL |
102 |
subi r22, 0xd9 ; + 'a' - 10 - '0' |
subi r22, 0xd9 ; + 'a' - 10 - '0' |
103 |
10: |
10: |
104 |
st Z+, r22 ; write character to string in reverse order! |
st Z+, r22 ; write character to string in reverse order! |
105 |
mov a_val_lo, r18 ; quotient -> dividend |
X_movw a_val_lo, r18 ; quotient -> dividend |
106 |
mov a_val_hi, r19 |
X_movw a_val_hlo, r20 |
|
mov a_val_hlo, r20 |
|
|
mov a_val_hhi, r21 |
|
107 |
subi a_val_lo, 0 |
subi a_val_lo, 0 |
108 |
sbci a_val_hi, 0 |
sbci a_val_hi, 0 |
109 |
sbci a_val_hlo, 0 |
sbci a_val_hlo, 0 |