模块三指令系统.docVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模块三指令系统

模块三 MCS一51 2、掌握汇编语言及其格式; 3、掌握基本的寻址方式; 4、掌握基本指令及其功能。 技能目标: 能够熟练的编写调试实验程序; 能够利用单片机仿真器开发调试单片机应用程序的过程; 3、 能够掌握单片机编程器的使用方法; 4、 能独立进行一般性的程序设计。 教学重点:单片机应用的系列指令; 教学难点:能自己编写调试实验程序。 【课时建议】8课时 项目3.1 指令系统的基本概念 机器代码、指令系统 机器代码是指计算机能够识别的二进制代码0和1。由于构成计算机的电子器件特性所决定, 计算机只能识别二进制代码。 单片机和所有微型计算机一样,要执行某周操作或运算时,要先向CPU输入以二进制数为代码的操作命令,这种操作命令就称为指令。指令也是组成程序的基本元素。不同类型的CPU都有一套适用于它本身的指令集合,我们把这种指令集合称为该CPU的指令系统。同样,MCS-51系列单片机也有一套指令集和,即MSC-51指令系统。MCS-51指令系统,不但适合于Intel公司生产的MCS-51系列单片机,而且也适用于其他公司生产的8051系列单片机。 MCS-51指令系统共有各种指令111条。其特点如下: (1)指令执行时间快; (2)指令短,约有一半的指令为单字节指令; (3)用一条指令即可实现2个一字节的相乘或相除; (4)具有丰富的位操作指令; (5)可直接用传送指令实现端口的输入输出操作。 按指令机器码的长度,MCS-51单片机指令可分为单字节指令、双字节指令、三字节指令。指令的字节越少,所占用的程序存储器空间也越少,所以编程时应尽可能选用字节少的指令。 单字节指令的格式由8位二进制编码表示;双字节指令的格式由两个字节组成,操作码和操作数。三字节指令的格式中第一个字节为操作码,后两个字节为操作数。 程序设计、机器语言 程序设计是指设计、编制、调试程序的方法和过程。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计给出解决特定问题程序的过程,是软件构造活动中的重要组成部分软件程序(通常简称程序)是指一组指示计算机每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。打个比方,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语的人(体系结构)来做这个菜。 通常,计算机程序要经过编译和链接而成为一种人们不易理解而计算机理解的格式,然后运行。MCS-51指令中,一条指令主要由操作码、操作数组成。指令的格式如下: [标号: ] 操作码 [目的操作数] [, 源操作数] [; 注释] 例如, LOOP : ADD A , #50H ;: 标号与操作码之间用“: ”隔开, 操作码与操作数之间用空格隔开, 操作数与注释之间用“;”隔开, 如果操作数有两个以上, 则在操作数之间要用逗号“,”隔开 (乘法指令和除法指令除外 )。 (1)标号表示该指令所在的地址。并不是每条指令都必须有标号,通常在程序分支、转移等需要的地方才加上一个标号。标号是以字母开始的,由1~8个字符(字母或数字)组成,不能使用汇编语言中已经定义过的符号名,如指令助记符、寄存器名、伪指令等。标号以“:”结尾。特别注意的是,在一个程序中不允许重复定义符号,即同一程序不能在两处及两处以上使用同一标号。 (2)操作码在前,规定指令所完成的功能,指明执行什么性质和类型的操作。例如:数的传送、加法、减法。 (3)操作数规定操作的对象,操作数可以是一个具体的数(立即数),也可以是这个数据所在地址。 例如:MOV 40H , #30H 75H 40H 30H ;把数30H送给片内RAM的 40H单元内。 前是用助记符表示的指令,后是其对应的机器码。MOV是操作码,40H是第一操作数(目的操作数),#30H是第二操作数(源操作数) (4)注释字段可有可无,是用户为阅读程序方便而加的解释说明。注释以“;”开始,不影响程序的执行。 3. 指令中常用的符号 在分类介绍各类指令之前, 先对描述指令的一些符号意义进行一些简单约定: (1) Ri和Rn: R表示当前工作寄存器区中的工作寄存器, i表示0或1, 即R0和R1。 n表示0~7, 即R0~R7, 当前工作寄存器的选定是由PSW的RS1和RS0位决定的。 (2) #data: #表示立即数, data为8位常数。 #data是指包含在指令中的8位立即数。 (3) #data16: 包含在指令中的16位立即数。 (4) rel: 相对地址, 以补码形式表示的地址偏移量, 范围为-128~+127, 主要用于无条件相对短转移指令SJMP和所有的条件转移指令中。 (5) addr16: 16位目的地址。 目的地址可

文档评论(0)

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

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

1亿VIP精品文档

相关文档