Mov A, @RO MOV B, ORI MOV RI, A MoV oRO, B SJMP 方法3(字节交换传送法) MOV A, 30H XCH A, 40H MOV 30H, A SJMP S 方法4(堆栈传送法): PUSH 40H POP 30H POP 40H SJMP S 3.3.2算术运算类指令 1.加法指令 ADDA,Rn;A←A+Rr ADd A, direct A+A+(direct) ADDA,@Ri;A←A+(Ri) ADd A, #data A+A+ #data 2.带进位加指令 ADDC A, Rn A←A+Rn+C ADdC A, direct: A+a+(direct)+ c addc A, ORi A+A+(Ri)+ c ADDC A, #data: A-A+ #data+ c C为来自PSW状态寄存器中的进位位C 例如,设A=20H,RO=2lH,C=1,执行指令ADCA,R0后,A=42H 3.带借位减指令 SUBB A,Rn;A←A-Rn-C SUBB A, direct: a+a-(direct)-C A←A-(Ri)-C SUBB A, #data A+A-#data -C 例如,设A=39H,R0=2OH,(20H)=32H,C=1,执行指令 SUBBA,@RO0后,A=06H 4.乘法指令 MUL AB BA←A×BMOV A,@R0 MOV B,@R1 MOV @R1,A MOV @R0,B SJMP $ 方法3(字节交换传送法): MOV A,30H XCH A,40H MOV 30H,A SJMP $ 方法4(堆栈传送法): PUSH 30H PUSH 40H POP 30H POP 40H SJMP $ 3.3.2 算术运算类指令 1.加法指令 ADD A,Rn ;A← A + Rn ADD A,direct ;A← A +(direct) ADD A,@Ri ;A← A +(Ri) ADD A,#data ;A← A + #data 2.带进位加指令 ADDC A,Rn ;A← A + Rn + C ADDC A,direct ;A← A +(direct)+ C ADDC A,@Ri ;A← A +(Ri)+ C ADDC A,#data ;A← A + #data + C C为来自PSW状态寄存器中的进位位C。 例如,设A=20H,R0=21H,C=1,执行指令 ADDC A,R0后,A=42H。 3.带借位减指令 SUBB A,Rn ;A← A - Rn - C SUBB A,direct ;A← A -(direct)- C SUBB A,@Ri ;A← A -(Ri)- C SUBB A,#data ;A← A - #data – C 例如,设A=39H,R0=20H,(20H)=32H,C=1,执行指令 SUBBA,@R0后,A=06H。 4.乘法指令 MUL AB ;BA← A×B