单片机原理与C51基础赵丽清第3章节.ppt

单片机原理与C51基础赵丽清第3章节.ppt

  1. 1、本文档共173页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 80C51单片机的寻址方式和指令系统 第3章 目录 3.1 汇编语言指令格式及其常用符号 3.2 80C51的寻址方式 3.3 数据传送类指令 3.4 算术运算类指令 3.5 逻辑运算及移位类指令 3.6 控制转移类指令 3.7 位操作类指令 80C51单片机的寻址方式和指令系统 机器指令: 是指单片机能直接识别和执行的指令是二进制编码(书写时常采用十六进制的形式)指令,称为机器指令,也称为机器语言。机器语言难编写、难读懂、难查错和难交流。 符号指令: 为了编写程序的方便,人们采用便于记忆的符号(助记符)来表示机器指令,从而形成了所谓的符号指令,它是机器指令的符号表示,所以它与机器指令一一对应。符号指令必须转换成机器指令后,单片机才能识别和执行,汇编语言就是典型的符号指令。 80C51单片机的寻址方式和指令系统 单片机常用的编程语言及其关系: 单片机主要是采用汇编语言和C语言,其各自有自己的指令体系。 汇编语言程序编译后代码效率高,但不同机型之间程序不能互相移植。 早期C语言编制的程序编译成二进制代码后,编译效率低,占用ROM空间过大,在业界应用较少。 随着高效率C语言编译器的成功开发,目前用C语言编制的程序其编译后的代码效率只比直接使用汇编语言低20%左右。而其高级语言所具有的可读性好、可移植性强的优势受到了开发人员的认可。 80C51单片机的寻址方式和指令系统 80C51系列单片机汇编语言指令系统共有111条指令 按功能划分,可分为五大类: (1)数据传送类指令(29条); (2)算术运算类指令(24条); (3)逻辑运算及移位类指令(24条); (4)控制转移誉指令(17条); (5)位操作类指令(17条)。 3.1 汇编语言指令格式及其常用符号 3.1 汇编语言指令格式及其常用符号 3.1.1 汇编语言指令格式 3.1.2 机器码的三种格式 3.1.3 指令中常用符号说明 3.1 汇编语言指令格式及其常用符号 3.1.1 汇编语言指令格式 一条完整的80C51系列单片机汇编语言指令通常由标号、操作码、操作数(一般包括目的操作数和源操作数)及指令的注释几个字段构成。 指令格式如下: [标号:] 操作码 [操作数] [,操作数][;注释] (注:在一条指令中,方括号中的内容可有可无,尖括号中的内容必须有。由指令格式可见,操作码是指令的核心,不可缺少。) 3.1 汇编语言指令格式及其常用符号 3.1.1 汇编语言指令格式 标号——表示与标号同一行指令的起始地址,是一种符号地址。标号可以由1~8个字符组成,第一个字符必须是字母,其余字符可以是字母、数字或其他特定符号,标号后跟分隔符“:”。 操作码——指令的助记符,规定了指令所能完成的操作功能。 操作数——指出了指令的操作对象,操作数可以是一个具体的数据,也可以是存放数据的单元地址,还可以是符号常量或符号地址等。 操作码与操作数之间必须用空格分隔。 在一条指令中可能有多个操作数,操作数与操作数之间用逗号“,”分隔。 注释——为了方便阅读而添加的解释说明性的文字,用分号“;”开头。 3.1 汇编语言指令格式及其常用符号 3.1.2 机器码的三种格式: 汇编语言需要编译成用机器语言表达的机器码才能在ROM中存放。在80C51系列单片机汇编语言指令系统中,指令的字长有单字节、双字节、三字节三种,其编译后的机器码在程序存储器中分别占用1~3个单元。 按所占字节分,分三种: (1)单字节指令49条; (2)双字节指令45条; (3)三字节指令17条。 按执行时间来分,分三种: (1)1个机器周期(12个时钟振荡周期)的指令64条; (2)2个机器周期指令45条; (3)4个机器周期——乘、除指令。 3.1 汇编语言指令格式及其常用符号 3.1.2 机器码的三种格式: 1、单字节指令(49条):两种编码格式 8位编码只表示一个操作码的编码,其格式为: 例如:INC A 该汇编指令的机器码为:0000 0100B 其十六进制数为04H,操作数(累加器A)隐含在操作码中。 ◆注意:在汇编语言指令中,“A”代表累加器,而用“ACC”代表累加器的地址E0H。 3.1 汇编语言指令格式及其常用符号 3.1.2 机器码的三种格式: 1、单字节指令(49条):两种编码格式 8位编码中包含操作码和寄存器编码,其格式为: 这类指令中高5位表示操作码,低3位rrr为存放操作数的寄存器Rn(n=0,…7)的编码。 例如:MOV A,R0。 该指令的编码为:1110 1000B 其十六进制表示为E8H,低三位000为R0的编码。 3.1 汇编语言指令格式及其常用符号 3.1.2 机器码的三种格式: 2、双字节指令(

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档