单片机原理与应用_05语言设计探究.pptx

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 汇编语言程序设计 5.1 机器语言、汇编语言与高级语言 5.2 汇编语言语句格式与伪指令 5.3 汇编与编译 5.4 汇编语言程序设计 5.1机器语言、汇编语言与高级语言 1.机器语言 在计算机中,所有指令是用二进制代码来表示,称为机器语言,用机器语言编写的程序称为机器语言程序。 虽然,机器语言能被计算机直接识别和执行,但是不便于记忆,不易阅读,容易出错。 2.汇编语言 用英文字母组成的助记符表示操作码,用符号代替地址,这种表示指令系统的语言称为汇编语言或符号语言,用汇编语言编写的程序称为汇编语言程序。 用汇编语言程序机器不能直接识别,需转换成机器语言后才能执行,这一转换工作称为汇编。过去由人工汇编,也称为手工汇编。现在是由专门的程序进行,这种程序称为汇编程序,这一过程称为机器汇编。 经过汇编而得到的机器语言程序称为目的程序,原来的汇编语言程序称为源程序。汇编语言程序是直接用机器指令系统编写的程序,与机器语言一一对应,执行速度比较快,而不能脱离具体的机器。因此,也是面向机器的语言。 3.高级语言 高级语言,例如BASIC、FORTRAN、PASCAL及C语言等,是参照数学语言而设计的近似于日常会话的语言,不但直观,易学易懂,而且通用性强,容易移植到不同类型的机器上。 高级语言程序也需要转换成机器语言程序,计算机才能识别和执行。这一工作称为解释或编译,解释程序或编译程序进行。 由于高级语言不受具体机器的限制,因此是一种面向问题或面向过程的语言。近年来,又出现了许多面向对象的程序设计语言,比如Visual Basic、Visual c以及C++等,进一步方便了用户的程序设计。 5.2.1 汇编语言语句格式 5.2.2 汇编语言伪指令 5.2 汇编语言语句格式与伪指令 5.2.1 汇编语言语句格式 汇编语言的语句一般由四部分组成,其格式如下: 标号:操作码 操作数 ;注释 (1)标号 是指令地址的标志符号,通常由1~8个字符组成。第一个字符必须是字母,其它可以是字母、数字或者下划线等,与指令操作码之间用冒号“:”隔开。 (2)操作码 操作码是指令的助记符,用来说明语句执行什么操作,也可以是伪指令,与后面的操作数之间用空格分开。 (3)操作数 操作数是指参加运算(或其它操作)的数据或数据的地址。一条语句中可以无操作数,也可以有一个或者二个操作数。两个操作数之间,用逗号“,”隔开。 (4)注释 由分号“;”开头,是说明语句或程序段的功能或性质的文字,不属语句功能部分。 5.2.2 汇编语言伪指令 是程序员在编写程序时赋于汇编程序的命令,也称汇编命令,用于通知汇编程序如何完成汇编工作,对程序本身不起实质性的作用,不产生目的程序。伪指令所规定的操作称为伪操作。下面介绍MCS-51汇编程序中常用的伪指令。 1. 汇编起始地址命令ORG 格式:ORG 16位地址 用在源程序或数据块的前面,说明源程序或数据块汇编后在存储器中存放的起始地址。16位地址一般为绝对地址,也可以用标号或表达式表示。源程序中如果有多个ORG伪指令,其地址由小到大,不能重叠。如果没有ORG伪指令,则汇编得到的目的程序将从0000H单元开始存放。 2.汇编结束命令END 格式:[标号:] END [标号] 用在源程序的末尾,表示汇编结束。如果END用在子程序末尾,其后的标号可以省去,如果用在主程序的末尾,其后的标号应当是该主程序第一条指令的符号地址。一个源程序只能有一个END伪指令。 方括号表示任选项 3. 定义字节数据命令DB 格式:[标号:] DB 8位数据项或数据项表 用来定义字节数据或ASCII码字符。 例如 ORG 1000H ST DB 68H,01H DB ‘1’,’2’ END 汇编时,DB伪指令中的数据依次存入标号ST所指示的字节区域中。这里,ST表示的地址为1000H。后一DB伪指令中的数紧跟在前一伪指令中最后一个数据项的后面,即 (1000H)=68H (1001H)=01H (1002H)=31H ;1的ASCII码 (1003H)=32H ;2的ASCII码 如果数据项中是字符串,要用引号括起来。 例如 DB “How are you!” 4. 定义双倍字节数据命令DW 格式:[标号:] DW 16位数据项或数据项表 用来定义16位的双字节数据。 例如: ORG 2010H DW 2583H,75

文档评论(0)

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

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

1亿VIP精品文档

相关文档