|
lds r14,D00BE ;垒加和1
lds r15,D00BF
lds r16,D00C0
lds r17,D00C1
lds r10,D00BE;垒加和2
lds r11,D00BF
lds r12,D00C0
lds r13,D00C1
lds r22,D00C2;;平方和
lds r23,D00C3
lds r24,D00C4
lds r25,D00C5
rcall L0CE5;平方和处理
L0CE5:
bst r25,b7
brtc L0CE8 ;平方和小于0X80000000
; ----- branch on last line
rcall L0CDB;取反平方和
L0CE8:
mov r27,r22
mov r22,r23
mov r23,r24
mov r24,r25
ldi r25,k9E
clr r0
rjmp L0D16
L0D11:
dec r25
lsl r27
rol r22
rol r23
rol r24
L0D16:
clr r1
tst r25
breq L0D2D
; ----- branch on last line
tst r24
brpl L0D11
; ----- branch on last line
cpi r25,kFF
breq L0D28
; ----- branch on last line
lsl r27
brcc L0D28
; ----- branch on last line
brne L0D24
; ----- branch on last line
tst r0
brne L0D24
; ----- branch on last line
; --------- this is skippy
sbrs r22,b0
rjmp L0D28
; --------- last may be skipped
L0D24:
subi r22
sbci r23
sbci r24
sbci r25
L0D28:
rol r24
ror r25
ror r24
bld r25,b7
ret
L0D2D:
clr r22
clr r23
clr r24
clr r25
ret
|
|