第三章 指令系统(专).ppt

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

第三章 80C51单片机的指令系统 §3.1 指令系统概述 指令有三种属性:功能、时间和空间。 二、MCS-51指令系统主要特点 二、MCS-51指令系统主要特点 三、指令格式 三、指令格式 3.1.2 符号指令及其注释中常用的符号 addr11-----------11位目的地址; addr16-----------16位目的地址; rel-----------------补码形式表示的8位地址偏移量,值在-128~+127范围内; bit----------------片内RAM位地址、SFR的位地址(可用符号名称表示); /-------------------位操作数的取反操作前缀; (×)----------- 表示 × 地址单元或寄存器中的内容; ((×)) -----------表示×所指地址单元的内容。 → ----------------将箭头左边的内容送入箭头右边的单元中。 3.1.3 80C51指令系统主要特点 3.2 80C51的寻址方式 是寻找操作数或指令的地址的方式。 1、立即数寻址 指令编码中直接给出操作数的寻址方式称为立即寻址。在这种寻址方式中,紧跟在操作码之后的操作数称为立即数。立即数可以为一个字节,也可以是两个字节,并要用符号“#”来标识。由于立即数是一个常数,所以只能作为源操作数。 立即寻址所对应的寻址空间为:ROM 2、直接寻址 直接寻址是指在指令中直接给出操作数所在存储单元的地址。执行指令时,从该地址中直接获取操作数。 3、寄存器寻址 寄存器寻址是指把寄存器的内容作为操作数。 可以获得较高的传送和运算速度。 4、寄存器间接寻址 5、变址寻址 6、相对寻址 7、位寻址 存储器的数据操作方式 2、外部数据RAM的数据操作 3、内部数据RAM的数据操作 4、SFR的数据操作 3.3 80C51指令系统 3.3.1 数据传送类指令(29条) 传送类指令占有较大的比重。数据传送是进行数据处理的最基本的操作,这类指令一般不影响标志寄存器PSW的状态。 一般传送指令 一般传送指令 一、16位传送 二、8位传送 1、 以A为目的 2.以Rn 为目的 3.以direct 为目的 4.以@Ri为目的 例:设内部RAM(30H)=40H,(40H)=10H,(10H)=00H(P1)=CAH,分析以下程序执行后各单元及寄存器、P2口的内容。 MOV R0,#30H ;(R0)=30H MOV A,@R0 ;(A)=40H MOV R1,A ;(R1)=40H MOV B,@R1 ;(B)=10H MOV @R1,P1 ;(40H)=CAH MOV P2,P1 ;(P2)=(P1)=CAH MOV 10H,#20H ;(10H)=20H 执行上述指令后的结果为:(R0)=30H,(R1)=(A)=40H,(B)=10H,(40H)=(P1)=(P2)=CAH,(10H)=20H。 特殊传送指令 一、ROM查表 例:A中内容是一个BCD数(0~9),用查表法获取相应的平方值。 例:A中内容是一个BCD数(0~9),用查表法获取相应的平方值。 二、读写片外RAM 2.写片外RAM 三、堆栈操作 例: 若在外部程序存储器中2000H单元开始依次存放0~9的平方值,数据指针(DPTR)=3A00H,用查表指令取得2003H单元的数据后,要求保持DPTR中的内容不变。 MOV A,#03H ;(A)←03H PUSH DPH ;保护DPTR高8位入栈 PUSH DPL ;保护DPTR低8位入栈 MOV DPTR,#2000H ;(DPTR)←2000H MOVC A,@A+DPTR ;(A)←(2000H+03H) POP DPL ;弹出DPTR低8位 POP DPH ;弹出DPTR高8位 执行结果:(A)=09H,(DPTR)=3A00H。 四、数据交换 例:若(R0)=80H,(A)=20H。执行指令 XCH A,R0 后,(A)=80H,(R0)=20H。 2.半字节交换 XCHD指令的功能是间址操作数的低半字节与A的低半字节内容互换。 SWAP指令的功能是累加器 的高低4位互换。 3.3.2 算术运算类指令(24条) 加法 二、带进位加 例:3字节无符号数相加,被加数放在内部RAM的20H~22H(低字节在低地址,高字节在高地址),加数放在内部RAM23H~25H,结果放到内部RAM26H~29H。其程序段如下: MOV

文档评论(0)

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

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

1亿VIP精品文档

相关文档