;clears (sum)
mov r4, #0x00
mov r5, #0x00
-
;i (sum)
mov r0, #0x00
mov r1, #0x00
-
;save away len
mov _sum_len_1_1, dpl
mov (_sum_len_1_1 +1), dph
-
;load datapointer with adress of array
mov dpl, _sum_PARM_2
mov dph, (_sum_PARM_2+1)
subb A,B
;jump to exit
jnc 0002$
-
;fetch the array element and add
movx A, @DPTR
inc DPTR
addc A, r5
mov r5, A
inc DPTR
-
;increment loop counter and jump
inc r0
cjne r0, #0x00, 0001$
; prepare return values
mov dpl, r4
mov dph, r5
-
ret