第1个回答 2019-07-09
1.若N小于22,结果小于255,可以用一个字节存放
SUM
EQU
30H
N
EQU
31H
...
MOV
R7,N
CLR
A
MOV
R6,#00H
XADD:ADD
A,R6
INC
R6
DJNZ
R7,XADD
MOV
SUM,A
...
2.若N大于22,则算出来结果大于一个字节,所以一个sum中肯定不够存。
N为0到255时
现假设结果存于:SUM1,SUM0
SUM
EQU
30H
N
EQU
31H
...
MOV
R7,N
CLR
A
MOV
R6,#00H
MOV
R5,#00H
;暂存SUM0
MOV
R4,#00H
;暂存SUM1
XADD:ADD
A,R6
MOV
R5,A
MOV
A,R4
ADDC
A,#00H
MOV
R4,A
MOV
A,R5
INC
R6
DJNZ
R7,XADD
MOV
SUM0,R5
MOV
SUM1,R4