- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 51系列单片机指令系统 2.1 寻址方式 2.2 数据传送与交换指令 2.3 算术、逻辑运算指令 2.4 控制转移指令 2.5 位操作指令 第2章 51系列单片机指令系统 指令:指挥机器完成操作的命令 指令系统:机器可识别的全部指令 第2章 51系列单片机指令系统 一条汇编语言指令中最多包含 4 个区段, 如下所示: [标号:] 操作码 [操作数] [;注释] 4 个区段之间要用分隔符分开: 如果操作数有两个以上, 则在操作数之间要用逗号“,”隔开 (乘法指令和除法指令除外 )。 标号代表该指令所存放的第一个字节存储单元的地址,故标号又称为“符号地址”。 操作码也称“助记符”。 51单片机指令格式: 操作符 目的操作数,源操作数 操作符:指明指令完成什么操作 操作数:指令需要的数据 寻址方式:如何提供操作数 1. 单字节指令 (49条) 单字节指令格式由8位二进制编码表示, 例如: CLR A→E4H 2. 双字节指令 (45条) 双字节指令格式由两个字节组成, 操作码和操作数, 例如: MOV A, #10H→74H 10H 3. 三字节指令 (17条 三字节指令格式中, 第一个字节为操作码, 后两个字节为操作数, 例如: MOV 40H, #30H→75H 40H 30H 从执行时间看:单周期64条,双周期45条,四周期2条。 2.1 寻址方式 所谓寻址方式, 就是寻找操作数地址的方式, 在用汇编语言编程时, 数据的存放、传送、 运算都要通过指令来完成。 编程者必须自始至终都要十分清楚操作数的位置, 以及如何将它们传送到适当的寄存器去参与运算。每一种计算机都具有多种寻址方式。寻址方式的多少是反映指令系统优劣的主要指标之一。 在 MCS -51单片机指令系统中, 有以下 7种寻址方式: (1) 立即寻址; (2) 直接寻址; (3) 寄存器寻址; (4) 寄存器间接寻址; (5)变址寻址(基址寄存器加变址寄存器间接寻址); (6) 相对寻址; (7) 位寻址。 2.1 寻址方式 可存储数据的存储区: 内部RAM 外部RAM 特殊功能寄存器SFR 程序存储器ROM 不同存储区中数据的地址表示方式不同 1、立即寻址 立即寻址:在指令中直接给出操作数 例如: MOV A,#76H ;数据76H送累加器A 立即数寻址过程下图所示。 2、直接寻址 直接寻址:直接在指令中给出操作数地址 例如:MOV A,76H ;A←(76H)。 可用于直接寻址的空间是内部RAM低128字节(包括其中的可位寻址区)、特殊功能寄存器。 直接寻址的过程如图所示。 3、寄存器寻址 寄存器寻址:用寄存器保存数据 例如:MOV A,R0 ;A←(R0) 51系列可用寄存器寻址的空间是: R0-R7:工作寄存器组 A:累加器 CY(位):PSW中的进位标志 DPTR:数据指针寄存器 B 工作寄存器组由PSW中的D4、D3决定 如何确定工作寄存器组位置 4组工作寄存器组在内存中的位置 每组8个字节,分别对应R0~R7 选择工作寄存器组 修改PSW的D4、D3 SETB PSW.4 将D4设置为1 CLR PSW.3 将D3设置为0 PSW的内存地址为D0H D4和D3位地址为D4和D3 用位地址选择工作寄存器组 SETB 0D4H 将D4设置为1 CLR 0D3H 将D3设置为0 寄存器寻址举例 将第2组工作寄存器中的R2内的数据送入累加器 目的操作数和源操作数 目的操作数:保存传送或指令结果 源操作数:被转送的数据 例如: MOV A,R2 目的:A 源:R2 两个操作数都有各自的寻址方式 4、寄存器间接寻址 寄存器间接寻址:将寄存器内容作为操作数的地址 例如:MOV A,@R0 ;A←((R0)) @符号表示将寄存器内容作为地址 51系列单片机用R0或R1间接寻址片内或片外RAM的256字节范围 用DPTR或PC间接寻址64K字节外部RAM或ROM SP也可看成寄存器间接寻址 间接寻址的过程如图所示。 5、变址寻址 变址寻址:DPTR或PC的内容加上累加器A的内容为操作数地址 例如:MOVC A,@A+DPTR ;((A)+(DPTR))送 A。变址寻址过程如图2-5所示。 变址寻址只适用于访问程序存储器 用于将程序存储器中的数送入A,称为查表指令 举例:查表程序 6、相对寻址 相对寻址:指令转移地址为程序计数器PC加指令中提供的偏
文档评论(0)