- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1.6相对寻址方式 相对寻址方式与前几种寻址方式有一个重要的区别,前几种寻址方式CPU操作的对象是数据,不同的寻址方式只是不同的寻找数据的方式而已。 对于相对寻址方式而言,CPU操作的对象是指令的执行地址。 相对寻址只用于指令系统中的转移类指令,其转移地址形成的方法是,当前PC值加上一个“相对距离”(称为偏移量)。用以下公式表示。 转移目的地址=当前PC值+偏移量 (3-1) * 1、当前PC值 当前PC值是指CPU在执行某指令时程序计数器PC内的值,更精确地说,当前PC值是CPU在执行某指令过程中,处在执行阶段时程序计数器PC内的值。 当前PC值=被执行的指令地址+被执行指令的字节数 (3-2) 2、偏移量 偏移量是表示转移目的地址与当前PC值之间关系的一个量,它有正有负。 从公式(3-1)中可知,当转移目的地址大于当前PC值时,它为正;当转移目的地址小于当前PC值时,它为负。因此它是一个采用补码表示的一个二进制数,在51系列单片机的指令系统中,它是一个用8位二进制数表示的补码数据。 * 相对转移指令 51系列单片机指令系统中的相对转移指令是“SJMP 转移地址”,其指令代码是“80H rel”,80H是操作码,rel是偏移量。指令代码存放形式如图所示。 * 3.1.7 位寻址方式 所谓位寻址方式是指CPU需要操作的是位数据,而不是字节数据。位地址包含在指令代码中。 例3-8: 分析指令“CLR 36H”。 该指令是将内部数据存储器中36H位单元的内容清零,也就是将内部数据存储器26H单元中的D6位清零。如图所示。 * 作业三 P67. 3-2 第八讲 指令系统中的寻址方式 * 第三章 MCS-51系列指令系统 指令是CPU控制系统各部件执行相关操作的指示或命令。 指令系统是CPU能识别、能执行的指令的集合。 51系列单片机的指令系统共有111条指令,它们是程序设计的基础。 * 3.1指令格式和寻址方式 指令的表示形式有两种,一种是以二进制数的形式,比(24H、68H),这就是指令的机器代码。 由这些机器代码组成的程序叫目的程序或可执行程序。 另外一种指令形式是以一些助记符号组成的形式,比如“ADD A, #68H”。 这条指令对应的指令代码就是24H、68H。 由助记符号组成的程序叫源程序。 * 指令格式 然而,不管是以上哪一种形式的指令,每一条指令要表示的内涵是一样的。 抽象地说,每一条指令包含着操作码和操作数这两部分内容。这也称为指令格式,如下所示。 操作码 操作数 * 1、操作码 操作码是表示指令的种类和功能的二进制代码,如上面例子中的24H,而“ADD”是其对应的助记符号。 2、操作数 操作数是指令的操作对象,表示指令操作的数据和地址,它也是用二进代码表示。比如上面例子中的68H。 * 特别要提醒注意的是:操作数不仅仅表示指令所需要处理的数据,而且还可以表示下一条执行指令的地址。 寻址方式 指令如何找到操作数?采用什么方式找到操作数就是所谓寻址方式问题。 寻址方式就是寻找操作数的方式,也就是寻找数据或地址的方式。 为了适应各种各样方式对数据的操作,数据存放形式也是各种各样的, 数据可以存放在寄存器中,可以存放在数据存储器中,有的还可以存放在程序存储器中等等。 有时数据有两个、三个,这些数据的存放地点和个数信息都必须在指令的操作数代码段里加以表示。 * 3.1.1 立即寻址方式 所谓立即寻址是指CPU需要操作的数据包含在指令中,也就是说需要操作的数据成为指令代码的一部分。 比如上面例子中“ADD A, #68H”中68H就是指令需要操作的数据,它包含在指令代码(24H、68H)中。 指令代码在程序存储器中的存放形式如图3-1所示。 程序存储器 PC+1→操作数 PC→操作码 * 例3-1 具有立即寻址方式的指令,经常用于给一些存储器和寄存器赋初值, MOV P1, #0FFH;将数据FFH传送至P1口 MOV SP, #70H;将地址70H传送至堆栈指针SP MOV R0, #30H;将30H传送至工作寄存器R0 这3条指令中,每一条指令都有两个操作数,一个叫源操作数,表示数据的来源;一个叫目的操作数,表示数据存放的目的地, 目的操作数 源操作数 * 3.1.2 直接寻址方式 所谓直接寻址是指指令中“直接”给出了数据的地址,而不是数据。指令中包含CPU需要操作的数据在内存的地址, 例3-2: MOV R0, 30H;将内部数据存储器30H单元中的内容传送至R0。 * 例3-3 直接寻址方式主要用于传送变量数据。 X DATA 40H ; 定义40H为变量X单元 MOV X, #46H; 将
您可能关注的文档
最近下载
- 《非凡十年》奋进新征程-建功新时代课件.ppt VIP
- 抗美援朝战争的历史启示.docx VIP
- 2025中考数学复习专题6-1相似三角形(考点清单,知识导图+9个考点清单&16种题型解读+10种方法解读)(解析版).docx VIP
- 2025春青岛版(2024)小学科学一年级下册《11 动物的运动》教学设计.docx
- 专题02 文言文加点词语及相关内容解说考点专训(02)(教师版) 2025年新高考语文一轮复习各考点满分宝鉴.pdf
- 南开大学超星尔雅学习通“选修课”《《时间简史》网课答卷带答案卷5.docx
- 专题1-1 全等三角形(考点清单,知识导图+3个考点梳理+11种题型解读+5种方法解读)(解析版).docx VIP
- 2024年生猪屠宰兽医卫生检验人员考试题库.pdf
- 康复医学科质量与安全管理制度.docx VIP
- 专题02 文言文加点词语及相关内容解说考点专训(01)(学生版) 2025年新高考语文一轮复习各考点满分宝鉴.pdf
文档评论(0)