- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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(汇编结束) 一般格式
您可能关注的文档
- (单片机原理及接口技术)第5章单片机的中断与定时系统.ppt
- (单片机原理及接口技术)第6章单片机串行数据通信及串行通信接口.ppt
- (单片机原理及接口技术)第7章单片机扩展与接口技术.ppt
- (单片机原理及接口技术)第8章单片机C程序设计及应用.ppt
- (单片机原理及应用)第1章单片机系统概述.ppt
- (单片机原理及应用)第2章单片机基础知识.ppt
- (单片机原理及应用)第3章指令系统及汇编语言程序设计.ppt
- (单片机原理及应用)第4章中断、定时与串行通信.ppt
- (单片机原理及应用)第5章单片机系统的扩展及接口技术.ppt
- (单片机原理及应用)第6章高性能单片机C8051F040.ppt
最近下载
- 【一建经济】21-JG-冲关宝典(中).pdf VIP
- 石油工程-岩石力学-试卷.pdf VIP
- 【一建经济】21-JG-冲关宝典(上).pdf VIP
- 教师的专业成长课件.pptx VIP
- 西师版小学综合实践活动方案五年级上册.pdf VIP
- 2024年四川省巴中市中考数学试卷(含答案).doc VIP
- 生成式人工智能在初中生物学教学中的应用探究.pdf VIP
- 《装配式混凝土建筑构件生产》课件——本课程学习方法.pptx VIP
- 精品解析:2023-2024学年北京市海淀区人教版五年级上册期末测试数学试卷(解析版).docx VIP
- 2011年数学建模B题国家一等奖2011年数学建模B题国家一等奖.pdf VIP
文档评论(0)