DOWNLOAD MAIN
; Call: var1 = dividend (0x00..0xff)
; var2 = divisor (0x01..0x7f)
; mod = don't care
; lc = don't care (high register must be allocated)
;
; Result:var1 = var1 / var2
; var2 = not changed
; mod = var1 % var2
; lc = 0
;
; Size = 11 words
; Clock = 66..74 cycles (+ret)
; Stack = 0 byte
div08u:
clr mod
ldi lc,8
lsl var1
rol mod
cp mod,var2
brcs PC+3
inc var1
sub mod,var2
dec lc
brne PC-7
ret
|