单片机教案第三章.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机教案第三章

指令系统 第一节 指令格式和寻址方式 所谓指令,就是计算机完成某种操作的命令。一台计算机所具有的全部指令称为该机器的指令系统。指令系统全面描述了CPU的功能。指令系统是由生产厂家确定的。不同的CPU有不同的指令系统。 编程语言是人机对话的工具,按使用层次可分为机器语言、汇编语言和高级语言。机器语言(二进制代码)能直接被机器识别,程序运行效率高,但编程效率低,不便于阅读,书写和交流。引入助记符,将机器语言符号化后就是汇编语言,其程序直观。用汇编语言编写的程序称为汇编语言程序。汇编语言程序必须经过汇编(机器汇编或手工汇编)成为机器语言后才能被机器执行。 例如指令: MOV 20H, #11H 指令机器码为: 752011H 指令功能: 将11H送到内部RAM20H单元。 高级语言编程效率高,但程序运行效率低。 一、指令格式                 1. 汇编语言指令格式 汇编语言语句是构成汇编语言源程序的基本单元。8051汇编语言指令格式为: [标号:] 操作码助记符  [操作数1] [,操作数2] [,操作数3] [;注释] (1)标号表示该指令所在的地址,是用户根据程序需要(子程序入口或转移指令目标地址)而设定的符号地址。汇编时,以该指令所在的地址来代替标号。标号是以英文字母开始的由1-8个字母或数字组成的字符串,以“:”结束。 (2)操作码助记符是表示指令操作功能的英文缩写。是指令的核心部分,每条指令都必须有操作码,不能缺省。 (3)操作数字段表示指令的操作对象,其表示形式与寻址方式有关。指令中的操作数可以是0个,1个,2个和3个,操作数和操作码之间以空格分隔。操作数之间以逗号分隔。双操作数时,逗号前面的操作数称为源操作数;逗号后面的操作数称为目的操作数。 (4)注释,是编程者为该指令或该程序段功能进行的说明,是为方便程序阅读的一种说明。 2.机器语言指令格式 机器语言指令是一种二进制代码,由操作码和操作数两部分组成。操作码规定了指令进行的操作,是指令中的关键字,不能缺省。操作数表示该指令的操作对象。 MCS-51系列单片机的指令,按指令长度可分为单字节指令,双字节指令和三字节指令三种,分别占用1-3个存储单元。机器指令的格式为: (1)单字节指令 操作码本身就隐含了操作数的信息,不需再加操作数。 例如:汇编语言指令 MOV  A, Rn  ;A←(Rn)    指令机器码为:     (2)双字节指令    首字节为操作码,第二个字节为操作数或操作数地址。    例如:汇编语言指令  MOV Rn, direct ;Rn←(direct) 指令机器码为: (3)三字节指令 首字节为操作码,后两个字节为操作数或操作数地址。 例如:汇编语言指令 MOV DPTR, #DATA16 指令机器码为: 又如:汇编语言指令: MOV direct, #DATA, 指令机器码为:  3.伪指令 在汇编语言中,除了可执行的指令外,为方便程序的编写,还定义了一些伪指令。伪指令是对汇编语言程序做出的一些必要说明。在汇编过程中,伪指令为汇编程序提供必要的控制信息,不产生任何指令代码,因此也称为不可执行指令。常见的伪指令有: (1)ORG(oRigin)汇编起始地址命令 格式:ORG nn ORG后面16位地址表示此语句后的程序或数据块在程序存储器中的起始地址。 例如:  ORG 1000H START:MOV A, #32H 上述指令说明:START表示的地址为1000H,MOV指令从1000H存储单元开始存放。 (2)DB(Define Byte) 定义字节数据命令 格式:[名字:] DB n1, n2, n3,………,nN 该命令表示将DB后面的若干个单字节数据存入指定的连续单元中。每个数据(8位)占用一个字节单元,通常用于定义一个常数表。注意:名字也是一个符号地址,但以名字表示的存储单元之中存放的是数据,而不是指令代码,故不能做为转移指令的目标地址,这一点与标号不同。 例如:  ORG  2000H TAB1:DB 01H,04H,08H,10H 以上伪指令汇编后从2000H单元开始定义(存放)4个字节数据(平方表): (2000H)=01H,(2001H)=04H,(2002H)=09H,(2003H)=10H。 (3)DW(Define word)定义字数据命令 格式:[名字:] DW nn1, nn2,……,nnN 该命令表示将DW后面的若干个字数据存入指定的连续单元中。

文档评论(0)

82393aa + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档