1、将ACC清零
CLR A
2、将内部RAM 20H~2FH中的数据求相反数
MOV R0,#20H
LOOP:
MOV A,@R0
CPL A ;这里是取反,不知道你说的求相反数是指取反,还是正数变负数,负数变正数
MOV @R0,A
INC R0
CJNE R0,#30H,LOOP
3、将内部RAM 20H~2FH中的数据求绝对值
MOV R0,#20H
LOOP:
MOV A,@R0
ANL A,#80H
JZ LOOP1
MOV A,@R0
CPL A
INC A
LOOP1:
MOV @R0,A
INC R0
CJNE R0,#30H,LOOP
4、20H~2FH单元全部清零
MOV R0,#20H
LOOP:
MOV @R0,#00H
INC R0
CJNE R0,#30H,LOOP
①将ACC清零
CLR A
②将内部RAM 20H~2FH中的数据求相反数。
MOV R0, #20H
LOOP:
MOV A, @R0
CLR C
CLR A
SUBB A, @R0 ;0 - 数据,即为相反的数
MOV @R0, A
INC R0
CJNE R0, #30H, LOOP
RET
③将内部RAM 20H~2FH中的数据求绝对值。
MOV R0, #20H
LOOP:
MOV A, @R0
CLR C
CLR A
SUBB A, @R0 ;0 - 数据,即为相反的数
JB ACC.7, NEXT ;为负数转移
MOV @R0, A ;正数就保存
NEXT:
INC R0
CJNE R0, #30H, LOOP
RET
④20H~2FH单元全部清零。
CLR A
MOV R0, #20H
LOOP:
MOV @R0, A ;保存0
INC R0
CJNE R0, #30H, LOOP
RET
END