- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 MCS-51 单片机指令系统 3-1 单片机指令常用的 表示方式和寻址方式 一 指令的表示方式 MCS-51单片机主要有两种指令形式: 机器语言指令 汇编语言指令。 2.汇编语言指令 用容易记忆的缩写符号表示机器语言指令就是汇编语言指令。 例如,“A加B”用英语写出来是“Add B to A”,缩写成“ADD A,B”。这个“ADD A,B”就是汇编语言指令。MCS-51单片机的开发商约定:“ADD A,B”与25F0H对应。我们将“ADD”缩写符号称为“助记符”。 编写机器语言程序实质上就是用汇编语言编写程序。 8051汇编语言指令 指令组成: 操作码助记符 操作数 1.标号 标号是语句地址的标志符号,代表该语句指令代码第一个字节的地址。 (1)标号由1~8个ASCII字符组成,且第一个字符必须是字母,其余字符可以是字母、数字或其他特定字符。 (2)不能使用该汇编语言已经定义了的符号作为标号。如指令助记符、寄存器符号名称等。 (3)标号后必须跟冒号。 2.操作码 操作码用于规定语句执行的操作。它是汇编语句中唯一不能空缺的部分,也是语句的核心,它用指令助记符表示。 3.操作数 操作数用于给指令的操作提供数据或地址。在一条汇编语句中操作数可能是空缺的,也可能包括一项,还可能包括两项或三项。当有多个操作数时,各操作数间以逗号分隔。 (1)工作寄存器名。 (2)特殊功能寄存器名。 (3)标号名。 (4)常数。 (5)符号“$”,表示程序计数器PC的当前值。 (6)表达式。 4.注释 注释不属于汇编语句的功能部分,它只是对语句的说明。注释字段可以增加程序的可读性,有助于编程人员的阅读和维护。注释字段必须以分号“;”开头,长度不限可以换行接着书写,但换行时应注意在开头使用分号“;”。 二 指令的描述中经常用到一些特殊符号 三 MCS-51指令系统的寻址方式 1.立即数寻址 立即数寻址是由指令直接给出操作数的寻址方式。#为立即数的标识符。 2.? 寄存器寻址 寄存器寻址是指令中指定寄存器的内容作为操作数的寻址方式。 3.直接寻址 直接寻址是指令直接给出操作数所在单元的地址的寻址方式。指令中操作数部分给出直接地址,用direct表示。 例:MOV A,3AH 4.位寻址 位寻址适用于可以进行单独位操作的指令,指令中直接给出位地址寻找位操作数。参与操作的数据是1bit而不是1B。位地址用bit表示,以区别字节地址direct。 5.寄存器间接寻址 指令操作数的地址事先存放在某个寄存器中,由该寄存器的内容指定操作数地址的寻址方式,称为寄存器间接寻址,@为间接寻址指示符。 MOV A,@R0 6.变址寻址(基址寄存器+变址寄存器间接寻址) 变址间接寻址是将指令中基地址(基址寄存器)和偏移量地址(变址寄存器)的内容相加形成真正的操作数地址。 7.相对寻址 以当前的PC值加上指令中给出的相对偏移量rel而形成转移目的地址的寻址方式。 寻址空间及举例 寻址方式 存储器空间 寄存器寻址 R0~R7、A、B、Cy(位)、DPTR 直接寻址 内部数据存储器00H~7FH字节单元 特殊功能寄存器 寄存器间接寻址 内部数据存储器(@R1、@R0) 外部数据存储器(@R1、@R0、@DPTR) 立即数寻址 程序存储器(操作常数) 变址间接寻址 程序存储器(@A+DPTR、@A+PC) 相对寻址 程序存储器(修改了PC值) 位寻址 内部数据存储器及特殊功能寄存器中某 些单元位 判断下列指令各操作数的寻址方式 (1)MOV A , #65H (2)MOV @R1,65H (3)MOV 30H,R2 (4)MOV C ,20H (5)DJNZ R2,LOOP (6)MOV 60H,@R1 (7)MOVC A, @A+PC * 学习目的 1.了解指令的形式,掌握MCS-51汇编语言指令的格式。 2.了解掌握指令系统的分类,掌握MCS-51单片机指令的寻址方式。 3.掌握指令系统中各指令的使用及应用 重点难点 1.寻址方式 2.指令系统 1.机器语言指令 用二进制代码表示的指令称为机器语言指令, 也称机器码。 例如:“累加器A加1”指令用二进制数表示时,是,在程序存储器中占用一个字节单元。 比较:汇编语言指令 机器语言指令
文档评论(0)