第3章单片机指令系统分析.ppt

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

Basic of Basic 3.1 指令系统概述 高级语言:如C语言,用类似自然语言、算术语言表示指令的程序设计语言。 3.2 指令格式 3.3指令系统的寻址方式 寻址方式:指CPU寻找操作数或操作数地址的方法 1.立即寻址 操作数直接由指令给出,通常紧跟指令操作码之后的字节是操作数,该操作数被称为立即数。 立即寻址所对应的寻址空间为:ROM 立即数:8/16位二进制数 2. 直接寻址 直接寻址可访问的存储空间: 注意: ① 适当选择SFR。寻址SFR时,可以用直接地址,也可以用寄存器名,但后者更容易理解和阅读 如: MOV A,0D0H ; (A)←(D0H) MOV A,PSW ; (A)←(PSW) 3. 寄存器寻址 4. 寄存器间接寻址 指令给出的寄存器中存放的不是操作数本身,而是操作数的单元地址 5. 基址加变址寄存器间接寻址 方式:以DPTR或PC作为基址寄存器,以A作为变址寄存器,并以两者内容相加形成新的16位地址作为操作数地址,寻找该地址,读取数据,放到累加器A中。 功能:用于读出ROM中的数据到累加器A中 ② 变址寻址指令有:(单字节两周期指令) 6. 相对寻址 7. 位寻址 89C51设有独立的位处理器,又称为布尔处理器,可对位地址空间的211个位地址进行运算和传送操作 直接使用位地址形式 MOV C,0D6H ;(0D6H)→(C),D6H是PSW的第6位 单元地址加位序号的表示形式 MOV C,0D0H.6 ;(0D0H.6)→(C), D0H.6是PSW的第6位 位的符号地址(位名称)的形式 MOV C,AC ;(AC)→(C), P是PSW的第6位 注:对于部分特殊功能寄存器,其各个位均有一个特定的名字,所以可以用它们的位名称来访问该位 专用寄存器符号加位序号的形式 MOV C,PSW.6 ; (PSW.6)→(C),PSW.6表示PSW的第6位 总结: 寻址方式针对的对象是源操作数和目的操作数,对于89C51: 源操作数寻址方式:立即、直接、寄存器、间接、变址、位寻址 目的操作数寻址方式:直接、寄存器、间接、位寻址 了解汇编时机器码的规律: 1.操作码一定在一条指令的第一个字节出现 2.若有立即数出现,则一定出现在最后 3.若有两个直接地址,则目的操作数在最后 4.若指令中有Rn,则操作码的后三位rrr表示与n相应的数,如:n=6,rrr=110. 5.若指令中有@Ri,则操作码的最后一位表示与i相应的数,如:i=0/1。 指令及其注释中常用的符号 addr11-----------11位目的地址; addr16-----------16位目的地址; rel-----------------补码形式表示的8位地址偏移量,值在-128~+127范围内; bit----------------片内RAM位地址、SFR的位地址(可用符号名称表示); /-------------------位操作数的取反操作前缀; (×)----------- 表示 × 地址单元或寄存器中的内容; ← ----------------将箭头右边的内容送入箭头左边的单元中。 3.4指令系统分类介绍 111条指令,按功能分类,可分为下面5大类: (1)数据传送类(28条) (2)算术操作类(24条) (3)逻辑运算类(25条) (4)控制转移类(17条) (5)位操作类(17条) 数据传送指令共有28条. 设内部RAM(30H)=40H,(40H)=10H,(10H)=00H,(P1)=CAH,分析以下程序执行后各单元及寄存器、P2口的内容。 MOV R0,#30H ; MOV A,@R0 ; MOV R1,A ; MOV B,@R1 ; MOV @R1,P1 ; MOV P2,P1 ; MOV 10H,#20H 16位立即数传送指令(1条) MOV DPTR,#data16 ;data16 →(DPTR ) 总结: 内部传送指令MOV相互关系见下图,每条指令格式和功能由厂家规定,用户只能按规定使用,不得任意制造指令 以累加器A为目的寄存器的传送指令会影响PSW中的奇偶标志位,其余传送指令对所有标志位均无影响 (2)堆栈操作指令(PUSH 、POP):2条 功能:分别用于保护现场和恢复现场 进栈指令PUSH用于保护片内某个单元内容 出栈指令POP用于恢复片内某个单元内容 设(30H)=X,(40H)=Y,试利用堆栈区域实现30H和40H单元中的数据交换 (3)外部数据传送指令(MOVX):4

文档评论(0)

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

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

1亿VIP精品文档

相关文档