(单片机原理及接口技术)第4章MCS-51单片机汇编程序设计.ppt

(单片机原理及接口技术)第4章MCS-51单片机汇编程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 MCS-51单片机汇编程序设计     4.1 汇编语言程序设计概述 4.1.1 汇编语言以及汇编语言程序设计特点   1.汇编语言的特点   以助记符标识指令的程序设计语言,就是计算机的汇编语言,一条指令就是汇编语言的一条语句。其特点如下:   (1) 助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优秀的程序。   (2) 使用汇编语言编程比使用高级语言困难。因为汇编语言是面向计算机的语言,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。   (3) 汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能直接管理和控制硬件设备。   (4) 汇编语言缺乏通用型,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能 通用。   2.汇编语言程序设计的特点   所谓程序设计就是编写计算机程序。汇编语言程序设计就是使用汇编指令来编写计算机程序。在进行单片机的汇编语言程序设计时请注意以下要点:   (1) 在程序中要对数据的存放、寄存器和工作单元的使用等做出具体安排。   (2) 设计人员必须对所使用的单片机的硬件结构有较为详细的了解,特别是对各类寄存器、端口、定时器/计数器、中断等内容更应了如指掌,以便在程序设计中熟练使用。   4.1.2 MCS-51汇编语言伪指令   计算机一般都配备汇编语言,每一条语句就是一条指令,命令CPU执行一定的操作,完成规定的功能。但是用汇编语言编写的源程序,计算机不能直接执行,因为计算机只认识机器指令(二进制编码)。因此必须把汇编语言源程序通过汇编程序翻译成机器语言程序(称为目标程序),计算机才能执行,这个翻译过程称为汇编。汇编程序对用汇编语言写的源程序进行汇编时,还要提供一些汇编用的控制指令,例如要指定程序或数据存放的起始地址;要给一些连续存放的数据确定单元等。但是,这些指令在汇编时并不产生目标代码,不影响程序的执行,所以称为伪指令。常用的伪指令有下列几种:   1.ORG(Origin,起点)   ORG伪指令总是出现在每段源程序或数据块的开始,它指明此语句后面的程序或数据块的起始地址。其一般格式为     ORG nn (绝对地址或标号)   在汇编时由nn确定此语句后面第一条指令(或第一个数据)的地址。该段源程序(或数据块)就连续存放在以后的地址内,直到遇到另一个ORG nn语句为止。   例4-1 ORG 8000H MOV R0,#50H MOV A , R4 ADD A ,@R0 MOV R3 ,A   ORG伪指令说明其后面源程序的目标代码在存储器中存放的起始地址是8000H,即:   2.DB(Define Byte,定义字节)   一般格式为  [标号:] DB 字节常数或字符或表达式 其中,标号区段可有可无;字节常数或字符是指一个字节数据,或用逗号分开的字节串,或用引号括起来的ASCII码字符串(一个ASCII字符相当于一个字节)。此伪指令的功能是把字节常数或字节串存入内存连续单元中。   例4-2 ORG 9000H DATA1:DB 73H,01H,90H DATA2:DB 02H   伪指令ORG 9000H指定了标号DATA1的地址为9000H,伪指令DB指定了数据73H,01H、90H顺序地存放在从9000H开始的单元中,DATA2也是一个标号,它的地址与前一条伪指令DB连续,为9003H,因此数据02H存放在9003H单元中,即:   3.DW(Dwfine Word,定义一个字)   一般格式为  [标号码] DW 字或字符串   DW伪指令的功能与DB相似,其区别在于DB用以定义一个字节,而DW用以定义一个字(规定为两个字节,即16位二进制数),故DW主要用来定义地址。存放时一个字需两个单元。例如:  ORG 0100H  DW 2389H,75H 0100H~0103H单元中分别存放23H、89H、00H和75H。   4.EQU(Equate,等值)   一般格式为 标号 EQU 操作数   EQU伪指令的功能是将操作数赋予标号,使两边的两个量等值。例如: AREA EQU 1000H 给标号AREA赋值为1000H, STK EQU AREA 相当于STK?=?AREA。若AREA已赋值为1000H,则STK也为1000H。   使用EQU伪指令给一个标号赋值后,这个标号在整个源程序中的值是固定的。也就是说,在一个源程序中,任何一个标号只能赋值一次。   5.END(汇编结束)   一般格式

文档评论(0)

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

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

1亿VIP精品文档

相关文档