网站大量收购独家精品文档,联系QQ:2885784924

[数学]第2章 指令系统-2.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[数学]第2章 指令系统-2

§2-3 指令系统 指令分类: 2.3.1 数据传送类指令 2.3.2 算术运算类指令 2.3.3 逻辑运算与循环类指令 2.3.4 程序转移类指令 2.3.5 调用子程序及返回指令 2.3.6 位操作指令 2.3.7 空操作指令 2.3.1 数据传送类指令 数据传送类指令共29条,是将源操作数送到目的操作数。指令执行后,源操作数不变,目的操作数被源操作数取代。数据传送类指令用到的助记符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP 8种。 源操作数可采用寄存器、寄存器间接、直接、立即、变址5种寻址方式寻址,目的操作数可以采用寄存器、寄存器间接、直接寻址3种寻址方式。MCS-51单片机片内数据传送途径如图3-6所示。 一、8位数通用传送指令 1.以A为目的操作数的指令(4条) MOV A,Rn ;A← Rn MOV A,direct ;A←(direct) MOV A,@Ri ;A←(Ri) MOV A,#data ;A← #data 如:已知A=40H, R6=50H, (6FH)=32H R0=18H, (18H)=10H,执行下列程序段: MOV A,R6 ;A ← 50H MOV A,6FH ;A  ← (6FH) MOV A,@R0 ;A  ← (R0) 2.以Rn为目的操作数的指令(3条) MOV Rn,A ;Rn ← A (n=0~7) MOV Rn,direct ;Rn ←(direct) MOV Rn,#data ;Rn ← #data 如:已知A=3FH, R1=20H, (4EH)=2FH R3=30H, 执行下列程序段: MOV A,#2EH ; MOV R1,A ; MOV R2,4EH ; MOV R3,#6FH 执行后,A=?,R1=?,R2=?,R3=? 3.以直接地址为目的操作数的指令(5条) MOV direct ,A ; (direct) ← A MOV direct ,direct ;( direct ) ←(direct) MOV direct ,Rn ;( direct ) ← Rn MOV direct ,@Ri ; (direct ) ← (Ri) MOV direct ,#data ; (direct ) ← data 如:已知(30H)=1FH, (40H)=5FH,执行下列程序段: MOV 30H,40H ; MOV 50H,#40H 执行后: (30H)=5FH, (40H)=5FH, (50H)=40H 4.以间接地址为目的操作数的指令(3条) MOV @Ri,A ;(Ri) ← A MOV @Ri,direct ;(Ri) ←(direct) MOV @Ri,#data ;(Ri) ← #data 例如,设片内RAM中,(30H)=40H,(40H)=20H ,P1口为输入口, 其输入数据为CAH,执行下列程序段: MOV R0,#30H ; MOV A, @R0 ; MOV R1,A ; MOV B, @R1 MOV @R1,P1 MOV P2,P1 执行后,A=?,R0=?,R1=?,B=?,(40H)=?P2口的输出内容为? 二、DPTR(16位数)为目的操作数的指令(1条) 这是唯一的16位立即数传送指令。 MOV DPTR,#data16 ;DPTR ← #data16 例如执行 MOV DPTR,#2000H 后, (DPTR)= 2000H。 其功能是把16位常数送入数据指针DPTR中。 这是一条三字节指令。 指令: MOV DPTR,#2068H 机器代码: 90 20 68 DPH( 前) DPL(后) 三、堆栈操作指令(2条) 所谓堆栈是在片内RAM中按“先进后出,后进先出”原则设置的专用存储区。数据的进栈出栈由指针SP统一管理。堆栈的操作有如下两条专用指令: PUSH direct;SP←(SP+1),(SP)←(direct) POP direct ;(direct)←(SP),SP ← SP-1 例如,设SP=30H,(50H)=80H,指令如下: PUSH 50H ;SP ← SP+1,(31H) ← (50H) POP 40H

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档