第6章 MCS-51单片机指令系统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 MCS-51单片机指令系统 计算机是在指令的控制下进行工作的。所谓指令,就是能够被计算机识别,并能直接加以执行的语句。计算机的指令系统,是该计算机所能执行的全部指令的集合。不同的CPU对应着不同的指令系统。但是指令系统在某种程度上是相似的,因此,学会一种指令系统之后,就会容易掌握另一种CPU的指令系统。MCS-51单片机的指令系统十分丰富,它运算速度快、编程效率高。 3.1指令格式 一般来说计算机的指令有两种表达形式:机器指令(机器码)、汇编指令。 计算机内部的工作电路是以二进制的算术逻辑运算为基础的逻辑电路,CPU只能识别和执行二进制数表示的指令。这种二进制形式的指令就叫机器码或机器指令。机器指令也叫做硬指令。不同类型的CPU都有自己特有的、一定数量的基本指令。 实际编写程序时,使用机器码形式的指令极不方便。因此,于是人们开始用“助记符”表示机器指令的操作码,用“变量”代替操作数的存放地址,在语句前加一个“标号”用来代表该指令的存放地址。这样,就形成了汇编指令,它与机器指令是一一对应的。下面介绍几个概念 机器语言:由机器指令构成的集合。 汇编语言:是一种用符号书写的,主要操作与机器指令一一对应,并遵循一定的语法规则的计算语言。 汇编语言语句也就是汇编指令。 机器指令的格式 机器指令由操作码和操作数两部分组成。 操作码 操作数 操作码:用于指出运算的种类。 操作数:指出参与运算的数据或数据地址。每个机器指令必须有操作码。 MCS-51单片机共有49条单字节指令、45条双字节指令、17条三个字节指令。 MCS-51机器语言代码长度有三种格式:单字节指令、双字节指令、三字节指令。 ①单字节指令 单字节指令格式由8位二进制编码表示。有两种形式: 8位全表示操作码, 例:NOP(空操作),其机器码为:0 0 0 0 0 0 0 0 8位编码中包含操作码和寄存器编码 例:MOV A,Rn ; A(Rn (n=0, 1, 2, 3, 4, 5, 6, 7) 机器码为: ②双字节指令 指令的编码由两个字节组成。 例:MOV A,#DATA;A(立即数DATA 机器码:第一字节0 1 1 1 0 1 0 0为操作码第二字节1 0 0 0 0 1 0 1为操作数(立即数85H)。 ③三字节指令 第一个字节为操作码,其后两个字节为操作数。 例:MOV direct, #DATA;(direct) (DATA direct=78H, DATA=80H 则MOV 78H, #80H指令的机器码为:第一字节0 1 1 1 0 1 0 1为操作码第二字节0 1 1 1 1 0 0 0为第一操作数(目的地址)第三字节1 0 0 0 0 0 0 0为第二操作数(立即数) ②④⑤ 3.2寻址方式 MCS-51单片机指令的操作数寻址主要有6种方式:直接寻址、立即寻址、寄存器寻址、寄存器间接寻址、基址寄存器加变址寄存器间接寻址、位寻址、相对寻址。 3.2.1直接寻址 紧跟在操作码后的是操作数的直接地址,该方式中操作数存储的空间有三种: 内部数据存储器的低128个字节单元(00H~7FH)。 例:MOV A, 70H 表示(70H)→A ②位地址空间 例:MOV C, 00H ; 直接位00H的内容)→进位位 ③特殊功用功能寄存器128个字节单元(00H~7FH) 只能用直接寻址方式进行访问 例: MOV A, 70H ; (70H) →A特殊功用功能寄存器 例:MOV IE, #85 ; 立即数85H →中断允许寄存器 3.2.2立即寻址 操作数紧跟在操作码之后操作数前面加#号 例1:机器码  助记符  注释    74 70H MOV A, #70H ; A←70H 例2: 机器码    助记符     注释 90 82 00 MOV DPTR, #8200H ; DPH←82H ; DPL ←00H 3.2.3寄存器寻址 操作数在寄存器中。MCS-51指令系统中寄存器寻址的工作寄存器是R0~R7。 例: INC R0 ; (R0)+1→R0 3.2.4寄存器间接寻址 操作数的地址在寄存器中 寄存器间接寻址只能使用寄存器R0或R1作为地址指针,来寻址内部RAM(00H~FFH)中的数据。 ?寄存器间接寻址也适用于访问外部RAM,可使用R0,R1(只能访问低256位)或DPTR(访问整个外部RAM)作为地址

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档