;双字节取补程序 /(R3R4)=(R3R4)
;入口: R3,R4
;占用资源: ACC
;堆栈需求: 2字节
;出口: R3,R4
CMPT : MOV A,R4
CPL A
ADD A,#01H
MOV R4,A
MOV A,R3
CPL A
ADDC A,#00H
MOV R3,A
RET
;N节取补程序 /([R0])=([R0])
;入口: R0,R7
;占用资源: ACC,B
;堆栈需求: 2字节
;出口: R0
NCMPTN : MOV B,R0
SETB C
NCPT1: MOV A,@R0
CPL A
ADDC A,#00H
MOV @R0,A
INC R0
DJNZ R7,NCPT1
MOV R0,B
RET
1楼
0
0
回复
;入口: R3,R4
;占用资源: ACC
;堆栈需求: 2字节
;出口: R3,R4
CMPT : MOV A,R4
CPL A
ADD A,#01H
MOV R4,A
MOV A,R3
CPL A
ADDC A,#00H
MOV R3,A
RET
;N节取补程序 /([R0])=([R0])
;入口: R0,R7
;占用资源: ACC,B
;堆栈需求: 2字节
;出口: R0
NCMPTN : MOV B,R0
SETB C
NCPT1: MOV A,@R0
CPL A
ADDC A,#00H
MOV @R0,A
INC R0
DJNZ R7,NCPT1
MOV R0,B
RET