
;********************** Multiplication * 10 for decimal input **********
;
;Input: R0 point to X (LSB)
;       ACC = new digit
;Output: X = X * 10 + ACC

amula10:
        mov     r2, #4          ;4 byte value
_amu1:
        mov     r3, a           ;digit to add
        mov     a, @r0
        mov     b, #10
        mul     ab              ;* 10
        add     a, r3           ;add digit or carry
        mov     @r0, a
        clr     a
        addc    a, b            ;add carry
        inc     r0              ;next byte
        djnz    r2, _amu1
        ret
