;入口: R0,R1,R7
;占用资源: ACC,B
;堆栈需求: 2字节
;出口: R0,CF
NSUBN: MOV B,R0
MOV R7,N
CLR C
NSUBN1 : MOV A,@R0
SUBB A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R7,NSUBN1
MOV R0,B
RET
-
-
xilinxue 发表于 2009/2/10 13:01:18
;双字节无符号数加法程序 (R3R4+R6R7)=(R3R4)2楼 回复本楼
;入口: R3,R4,R6,R7
;占用资源: ACC
;堆栈需求: 2字节
;出口: R3,R4,CF
NADD : MOV A,R4
ADD A,R7
MOV R4,A
MOV A,R3
ADDC A,R6
MOV R3,A
RET
引用 xilinxue 2009/2/10 13:01:18 发表于2楼的内容
-
-
xilinxue 发表于 2009/2/10 13:01:35
;N字节无符号数加法程序 ([R0]+[R1])=([R0])3楼 回复本楼
;入口: R0,R1,R7
;占用资源: ACC,B
;堆栈需求: 2字节
;出口: R0,CF
NADDN: MOV B,R0
CLR C
NADN1: MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R7,NADN1
MOV R0,B
RET
引用 xilinxue 2009/2/10 13:01:35 发表于3楼的内容
-
-
xilinxue 发表于 2009/2/10 13:01:51
;双字节无符号数减法程序 (R3R4-R6R7)=(R3R4)4楼 回复本楼
;入口: R3,R4,R6,R7
;占用资源: ACC
;堆栈需求: 2字节
;出口: R3,R4
NSUB : MOV A,R4
CLR C
SUBB A,R7
MOV R4,A
MOV A,R3
SUBB A,R6
MOV R3,A
RET
引用 xilinxue 2009/2/10 13:01:51 发表于4楼的内容
-
-
xilinxue 发表于 2009/2/10 13:02:12
;原码有符号双字节减法程序 (R3R4-R6R7)=R3R45楼 回复本楼
;入口: R3,R4,R6,R7
;占用资源: ACC,DADD
;堆栈需求: 6字节
;出口: R3,R4,OV
DSUB : MOV A,R6
CPL ACC.7
MOV R6,A
LCALL DADD
RET
引用 xilinxue 2009/2/10 13:02:12 发表于5楼的内容
-
-
xilinxue 发表于 2009/2/10 13:02:35
;原码有符号双字节加法程序 (R3R4+R6R7)=R3R46楼 回复本楼
;入口: R3,R4,R6,R7
;占用资源: ACC,SR0,NADD,NSUB,CMPT
;堆栈需求: 4字节
;出口: R3,R4,OV
DADD : MOV A,R3
MOV C,ACC.7
MOV SR0,C
XRL A,R6
MOV C,ACC.7
MOV A,R3
CLR ACC.7
MOV R3,A
MOV A,R6
CLR ACC.7
MOV R6,A
JC DAB2
LCALL NADD
MOV A,R3
JB ACC.7,DABE
DAB1 : MOV C,SR0
MOV ACC.7,C
MOV R3,A
CLR OV
RET
DABE : SETB OV
RET
DAB2 : LCALL NSUB
MOV A,R3
JNB ACC.7,DAB1
LCALL CMPT
CPL SR0
SJMP DAB1
引用 xilinxue 2009/2/10 13:02:35 发表于6楼的内容