80C51的汇编语言设计解答.ppt

* * 在子程序中实现(程序规范、清晰) SUB1:PUSH PSW ;保护现场( 含当前工作寄存器组号) PUSH ACC ; PUSH B ; MOV PSW,#10H ;切换当前工作寄存器组 … … POP B ;恢复现场 POP ACC ; POP PSW ;内含当前工作寄存器组切换 RET * * 4.4.2 参数传递 利用累加器或寄存器(简单、快速,但参数个数不多) 【例4-6】实现两个8位的十六进制无符号数求和的子程序。 SADD:MOV A,R3 ;取加数(在R3中) CLR C ADD A,R4 ;被加数(在R4中)加A JC PP1 MOV R3,#00H ;结果小于255时,高字节R3内容为00H SJMP PP2 PP1:MOV R3,#01H ;结果大于255时,高字节R3内容为01H PP2:MOV R4,A ;结果的低字节在R4中 RET 入口:(R3)=加数; (R4)=被加数。 出口:(R3)=和的高字节; (R4)=和的低字节。 * *

文档评论(0)

1亿VIP精品文档

相关文档