This doesn't quite follow the Italics section, but I think It's what you meant.
Code:
movlw 32 ; start with 32 loops
movwf R3
SkiOpt
movf R0 + 3, W ; IF R0.byte3 = 0
bnz divloop
movf R1 + 3, W ; AND R1.byte3 = 0 then
bnz divloop
movlw 8 ; loops - 8 ; movlw 24
subwf R3, F
movff R0 + 2, R0 + 3 ; and preshift R0
movff R0 + 1, R0 + 2
movff R0 + 0, R0 + 1
clrf R0
movff R1 + 2, R1 + 3 ; and R1 over 8 bits
movff R1 + 1, R1 + 2
movff R1 + 0, R1 + 1
clrf R1
movf R3, W
btfss STATUS, Z ; stop if no loop's left (0/0)
bra SkiOpt
Does it look like what you were thinking?
<br>
Bookmarks