DigitLoad: mov 0x30,#4 ;load digits into RAM
mov 0x31,#5
mov 0x32,#7
mov 0x33,#8
mov 0x34,#5
mov 0x35,#9
mov 0x36,#9
mov 0x37,#9
mov 0x38,#9
mov 0x39,#1
mov R1,#0x0A ;set counter for 10 digits
acall AddDigit
;continue with main code
AddDigit: push ACC ;store accumulator
push R0 ;store R0
mov R0,#0x30 ;set starting RAM address
mov A,#0 ;clear accumulator
AddLoop: add A,@R0 ;add digit
inc R0 ;increment digit address
djnz R1,AddLoop ;decrement digit counter, continue adding if counter > 0
pop R0 ;restore R0
pop ACC ;restore accumulator
ret