- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]第2章MCS-51单片机指令系统及汇编语言程序设计基础
第2章 MCS-51单片机指令系统及汇编语言程序设计基础 2.1 MCS-51单片机指令格式 2.2 MCS-51单片机寻址方式 2.3 MCS-51单片机指令 2.4 汇编语言程序设计基础 2.1 MCS-51单片机指令格式 2.1.1 指令格式 2.1.2 指令的字节数 2.1.3 指令分类 2.1.1 指令格式 不同类型的CPU有不同的指令系统,MCS-51指令系统兼容性高,功能强。 指令:指示计算机执行某种操作命令 指令系统:一台计算机所能执行的全部指令的集合 指令系统功能强弱很大程度上决定了计算机智能的高低。 程序:按人的要求编排的指令操作序列 程序设计:编写程序的过程 程序设计语言:实现人机交换信息(对话)最基本工具,包括机器语言、汇编语言、高级语言等。 机器语言:用一组二进制编码表示每条指令,是计算机能直接识别和执行的语言。 缺点:不易记忆,不易查错,不易修改。 汇编语言:用助记符、符号和数字等来表示指令的程序语言。 与机器语言指令一一对应,易于理解和记忆。 优点:内存占用少,不用解释程序,适用实时控制, 缺点:与计算机内部硬件结构密切相关,不如高级语言通用性强。 高级语言:经过编译或解释成机器能识别和执行的机器语言指令。 对51单片机,现有4种语言支持: 汇编、PL/M(结构化语言、高级汇编)、BASIC、C C:结构化语言,源于编写UNIX操作系统,可产生紧凑代码,不依赖机器硬件系统、易于移植。 指令格式:指令码的结构形式 四地址指令: 最原始的计算机,操作数部分包括四部分地址,指令格式为: 缺点:指令码冗长,严重影响指令执行速度。 单地址指令: MCS-51系统单片机的指令系统采用了地址压缩技术,将操作数字段的四个地址压缩到一个地址中,其具体的指令格式为: 单地址指令的特点:累加器A(E0H)经常用来隐含寻址,存放一个操作数和结果操作数,PC自动+1,存放下一条指令地址。 2.1.2 指令的字节数 1)单字节指令(49条) 指令中的8位二进制代码既包含操作码的信息,也包含操作数的信息。 (1)指令码中隐含着对某一个寄存器的操作 INC A 操作码:04H (A)+1 →(A) NOP 操作码:00H 空操作 (2)指令码中后三位不同编码指定某一个寄存器 MOV A,Rn 操作码:11101rrr (Rn)→(A) rrr = 000-111 = R0-R7 2)双字节指令(45条) 一个字节表示操作码,另一个字节表示操作数或操作数所在的地址。 (1)操作数字节是立即数(采用立即数寻址方式) 如:ADD A,#22H; (A)+ 22H →(A) 操作码24H,操作数22H (2)操作数字节是片内RAM地址(采用直接寻址方式) 如:ADD A,22H; (A)+(22H)→(A) 操作码25H,操作数22H 注:两个22H含义不同 3)三字节指令(17条) 一个字节表示操作码,一个字节表示目的操作数,另一个字节表示源操作数。第二个和第三个字节为操作数或操作数地址。 如:MOV 5EH,#4FH 操作码85H,目的操作数5EH,源操作数4FH 4)汇编语言指令格式 一条汇编语言指令最多包含4个区段: [标号:] 操作码助记符 [目的操作数][,源操作数] [;注释] 如:START:MOV A,#0F0H ;(A)←立即数0F0H (1)标号 标号位于语句的最前面,由1-8个字母和数字组成,它代表该语句的地址。标号必须由字母打头,以冒号结尾,不能使用指令助记符、伪指令或寄存器名。 (2)操作码 操作码是指令的助记符,不可以省略,它是语句的核心部分。 (3)操作数 必须满足寻址方式的规定。 (4)注释 应养成良好的添加注释的习惯。 2.1.3 指令分类 MCS-51指令系统共有111条指令,用42种助记符代表了33种操作功能,有的功能可以有几种助记符(例如数据传送的助记符有MOV,MOVC,MOVX)。 1)根据指令在程序存储器中所占的字节数,指令系统分为: (1)单字节指令(49条) (2)双字节指令(45条) (3)三字节指令(17条) 2)根据指令执行的时间,指令系统分为: (1)1个机器周期(12个时钟振荡器周期)指令(64条) (2)2个机器周期指令(45条)(24个时钟振荡器周期) (3)乘、除两条指令为4个机器周期指令(48个
文档评论(0)