MCS51指令系统与程序设计.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文档。上传文档
查看更多
MCS51指令系统与程序设计

MCS-51 指令系统与程序设计 指令就是能完成特定功能的命令,每条指令都对应着处理器的一种基本操作。不同的微处理器有不同的指令系统,处理器的主要功能是由其指令系统来体现的。MCS-51系列单片机的指令系统功能完善、使用灵活方便,实际上是一系列计算机指令的有序集合。计算机的基本功能是执行程序,执行不同的程序能够完成不同的任务,利用计算机的指令系统合理地编写解决某个问题的程序的过程就称为程序设计。本章主要介绍 MCS-51 单片机指令的格式、分类和寻址方式;汇编语言的指令类型及其程序设计方法。 计算机中所有指令的集合称为该计算机的指令系统。各类计算机都有专用的指令系统, 它在很大程度上决定着计算机的功能及使用。 2.1.1 指令格式 指令是规定计算机进行某种操作的命令。程序是人们按照自己的思维逻辑,使计算机按照一定的规律进行各种操作,以实现某种功能的有关指令的集合。编制程序的过程就是程序设计,设计程序时可以采用机器语言、汇编语言和高级语言。机器语言是计算机最终能识别和执行的语言,与其硬件结构紧密相关,目前单片机开发已基本上不直接使用机器语言进行开发了;高级语言是一种面向过程且独立于计算机硬件结构的语言,如Pascal 等,它虽通用但效率相对较低;汇编语言则可以认为是机器语言的助记符形式,自然与计算机内部的硬件结构紧密相关,与高级语言相比,它通用性较差,但由于具有占用存储空间少、执行速度快等优点,因此在单片机开发中占有重要位置。 MCS-51 单片机的汇编指令由操作码和操作数两大部分组成,其基本格式如下。 [标号:] 操作码 [操作数1] [,操作数2] … [;注释] 例如: MOV A, #20H ;把立即数20H送入累加器A 标号:用于表示该指令所在的地址。由字母开始的1~8 个字符或数字串组成,以比号结尾。 操作码:由英文缩写组成的字符串,规定了CPU 应当执行何种操作。指令中必须存在操作码。 [ ]:中括号里的内容是可选的。 操作数:规定了参与指令操作的数据、数据存放的单元地址或寄存器等。有些指令没有操作数,有些指令有1 个、2 个或更多个操作数。如果有1 个以上的操作数,则各操作数之间用“,”分开。 注释:对该指令的简要说明,便于阅读。 2.1.2 指令分类 MCS-51共有42种操作码,操作码与操作数的各种可能的寻址方式相结合就构成了 MCS-51 系列单片机的111 条指令。按照功能可以分为5 类。 _ 数据传送类指令:29 条。 _ 算术运算类指令:24 条。 _ 逻辑运算及移位类指令:24 条。 _ 控制转移类指令:17 条。 _ 位操作类指令:17 条。 从指令长度来看,MCS-51 指令系统中有单字节指令49 条、双字节指令45 条、三字节指令17条。从指令执行时间来看,单机器周期指令64条、双机器周期指令45 条。组合起来就有下面几种形式。 _ 单字节指令单机器周期。 _ 单字节指令双机器周期。 _ 双字节指令单机器周期。 _ 双字节指令双机器周期。 _ 三字节指令双机器周期。 _ 单字节指令四机器周期(如单字节的乘除法指令)。 2.2 寻 址 方 式 指令的操作对象大多是各类数据,数据在寄存器、存储器中可以用多种方式来存取。指令执行过程中寻址操作数的方式称为指令的寻址方式。一般来说,寻址方式越多,计算机功能就越强,编程的灵活性也就越大。 MCS-51 指令系统共有7 种寻址方式,即立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。此外,因为在指令操作中有从右向左传送数据的约定,所以常把左边的操作数称为目 的操作数,而把右边的操作数称为源操作数。以下所讲的各种寻址方式都是针对源操作数的,但实际上目的操作数也有寻址的问题。 2.2.1 立即数寻址 采用这种方式时,指令中直接给出了参与操作的8 位或16位二进制常数,并在此常数前面加“#”作为标志。 例如: MOV A,#30H 第2 章 MCS-51 指令系统与程序设计 执行完这条指令后,A 中的值是确定的,就是十六进制数30H。在形式上,立即数前面总有一个“#”符号作为标志。 2.2.2 直接寻址 在直接寻址方式中,指令直接给出操作数所在的存储单元地址。例如: MOV A,20H 其功能是把内部RAM 中地址为20H 的单元中的数送到A 中。执行完这条指令后,A中的值并不确定,但可以肯定它一定与地址为20H 的单元中的值相同。在形式上,20H 前面没有“#”符号。 2.2.3 寄存器寻址 寄存器寻址就是操作数存放在寄存器中,因此,指定了寄存器就能得到操作数。例如: MOV A,R0 其功能就是把寄存器R0 的内容传送到累加器A 中。指令执行后,累加器A 中的内容与R0中的内容相同。 2.2.4 寄存器间接寻址 首先考虑这样一个问

文档评论(0)

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

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

1亿VIP精品文档

相关文档