- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口技术 第四章 80C51的指令系统 例7、已知片内 RAM 50H 单元中存放数值为 AAH ,设堆栈指针为 30H ,把此数值压入栈后再弹出到 40H 单元中。 根据题意编写指令如下: MOV SP, #30H ; 30H→SP PUSH 50H ; SP + 1→SP , ( 50H ) → ( 31H ) POP 40H ; ( 31H ) → ( 40H ) , SP- 1→ SP 4.3.4 堆栈操作指令 交换指令 XCH A , Rn ; A ←→Rn XCH A , direct ; A ←→ ( direct ) XCH A , @Ri ; A ←→ ( Ri ) XCHD A , @Ri ; A.3~A.0 ←→( Ri.3 ~ Ri.0 ) SWAP A ; A.3 ~ A.0 ←→A.7 ~ A.4 这组指令的前三条为全字节交换指令。其功能是将累加器 A 与源操作数所指出的数据相互交换。 例5、A中内容为 FFH , R0 中内容为 5BH, 5BH 中内容为 6DH。 A = ?, R0 = ? 4.3.5 交换指令 例9、把累加器 A 中的数传送到外部数据存储器 3040H 单元中去。 解:MOV DPTR, #3040H ; 3040H → DPTR MOVX @DPTR, A ; A → ( DPTR ) 例10、把片内 6AH 单元中的数取出,传送到外部数据存储单元 3000H 单元中去。 解:MOV DPTR, #3000H ; 300OH → DPTR MOV A, 6AH ; ( 6AH ) → A MOVX @DPTR, A ; A → ( DPTR ) 4.3.6 传送指令举例 例11、试说明下述程序中每一条指令的作用,已知 A 中内容为34H 。 MOV R6, #29H; 把立即数 29H 送入 R6 中。 XCH A, R6; A与R6中的内容交换,交换后A中为29H, R6中为34H 。 SWAP A; A的高低半字节交换,交换后A中内容为92H XCH A , R6; A与R6中的内容交换,交换后A中为 34H, R6中为92H。 4.3.6 传送指令举例 4.4 算术运算类指令 4.4.2 带进位加法指令 4.4.1 加法指令 4.4.3 带借位减法指令 4.4.4 乘法指令 4.4.5 除法指令 4.4.6 加1指令 4.4.7 减1指令 4.4.8 十进制调整指令 4.4.9 算术运算指令举例 4.4.1 加法指令 ADD A, Rn; A + Rn → A ADD A, direct; A + ( direct ) → A ADD A, @Ri; A + ( Ri ) → A ADD A, #data; A + data→ A 例1、A = AEH, R1 = 81H,执行指令“ ADD A, R1”,则操作如下所示: 1 0 1 0 1 1 1 0 + ) 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 结果: A =? , CY = ? , OV = ? , AC = ? , P = ?。 4.4 算术运算类指令 4.4.2 带进位加法指令 ADDC A , Rn ; A + Rn + CY →A ADDC A , direct ; A + ( direct ) + CY → A ADDC A , @Ri ; A + ( Ri ) + CY → A ADDC A , #data ; A + data + CY → A 例2、A = AEH, R1 = 81H, CY = 1, 执行指令 “ADDC A , R1” ,则操作如下所示: 1 0 1 0 1 1 1 0 1 0 0 0 0 0 0 1 +)
文档评论(0)