第4章 MCS-51单片机汇编程序设计

第4章 MCS-51单片机汇编程序设计

ID:42723269

大小:2.03 MB

页数:146页

时间:2019-09-21

第4章 MCS-51单片机汇编程序设计_第1页
第4章 MCS-51单片机汇编程序设计_第2页
第4章 MCS-51单片机汇编程序设计_第3页
第4章 MCS-51单片机汇编程序设计_第4页
第4章 MCS-51单片机汇编程序设计_第5页
资源描述:

《第4章 MCS-51单片机汇编程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章MCS-51单片机汇编程序设计4.1汇编语言程序设计概述4.2程序设计的基本结构及常用子程序4.3编程及开发环境本章小结练习与思考题4.1汇编语言程序设计概述4.1.1汇编语言以及汇编语言程序设计特点1.汇编语言的特点以助记符标识指令的程序设计语言,就是计算机的汇编语言,一条指令就是汇编语言的一条语句。其特点如下:(1)助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优秀的程序。(2)使用汇编语言编程比使用高级语言困难。因为汇编语言是面向计算机的语言,汇编语言的

2、程序设计人员必须对计算机硬件有相当深入的了解。(3)汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能直接管理和控制硬件设备。(4)汇编语言缺乏通用型,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能 通用。2.汇编语言程序设计的特点所谓程序设计就是编写计算机程序。汇编语言程序设计就是使用汇编指令来编写计算机程序。在进行单片机的汇编语言程序设计时请注意以下要点:(1)在程序中要对数据的存放、寄存器和工作单元的使用等做出具体安排。(2)设计人员必须对所使用的单片机的硬件结构有较为详细的了解,

3、特别是对各类寄存器、端口、定时器/计数器、中断等内容更应了如指掌,以便在程序设计中熟练使用。4.1.2MCS-51汇编语言伪指令计算机一般都配备汇编语言,每一条语句就是一条指令,命令CPU执行一定的操作,完成规定的功能。但是用汇编语言编写的源程序,计算机不能直接执行,因为计算机只认识机器指令(二进制编码)。因此必须把汇编语言源程序通过汇编程序翻译成机器语言程序(称为目标程序),计算机才能执行,这个翻译过程称为汇编。汇编程序对用汇编语言写的源程序进行汇编时,还要提供一些汇编用的控制指令,例如要指定程序或数据存放的起始地址;要给一些连

4、续存放的数据确定单元等。但是,这些指令在汇编时并不产生目标代码,不影响程序的执行,所以称为伪指令。常用的伪指令有下列几种:1.ORG(Origin,起点)ORG伪指令总是出现在每段源程序或数据块的开始,它指明此语句后面的程序或数据块的起始地址。其一般格式为ORGnn(绝对地址或标号)在汇编时由nn确定此语句后面第一条指令(或第一个数据)的地址。该段源程序(或数据块)就连续存放在以后的地址内,直到遇到另一个ORGnn语句为止。例4-1ORG8000HMOVR0,#50HMOVA,R4ADDA,@R0MOVR3,AORG伪指令说明其后

5、面源程序的目标代码在存储器中存放的起始地址是8000H,即:2.DB(DefineByte,定义字节)一般格式为[标号:]DB字节常数或字符或表达式 其中,标号区段可有可无;字节常数或字符是指一个字节数据,或用逗号分开的字节串,或用引号括起来的ASCII码字符串(一个ASCII字符相当于一个字节)。此伪指令的功能是把字节常数或字节串存入内存连续单元中。例4-2ORG9000H DATA1:DB73H,01H,90HDATA2:DB02H伪指令ORG9000H指定了标号DATA1的地址为9000H,伪指令DB指定了数据73H,01H

6、、90H顺序地存放在从9000H开始的单元中,DATA2也是一个标号,它的地址与前一条伪指令DB连续,为9003H,因此数据02H存放在9003H单元中,即:3.DW(DwfineWord,定义一个字)一般格式为[标号码]DW字或字符串DW伪指令的功能与DB相似,其区别在于DB用以定义一个字节,而DW用以定义一个字(规定为两个字节,即16位二进制数),故DW主要用来定义地址。存放时一个字需两个单元。例如:ORG0100HDW2389H,75H 0100H~0103H单元中分别存放23H、89H、00H和75H。4.EQU(Equa

7、te,等值)一般格式为 标号EQU操作数EQU伪指令的功能是将操作数赋予标号,使两边的两个量等值。例如:AREAEQU1000H给标号AREA赋值为1000H,STKEQUAREA相当于STK = AREA。若AREA已赋值为1000H,则STK也为1000H。   使用EQU伪指令给一个标号赋值后,这个标号在整个源程序中的值是固定的。也就是说,在一个源程序中,任何一个标号只能赋值一次。5.END(汇编结束)一般格式为[标号:]END[地址或标号]其中标号以及操作数字段的地址或标号不是必要的。END伪指令是一个结束标志,用来指示汇

8、编语言源程序段在此结束。因此,在一个源程序中只允许出现一个END语句,并且它必须放在整个程序(包括伪指令)的最后面,是源程序模块的最后一个语句。如果END语句出现在中间,则汇编程序将不汇编END后面的语句。例4-3ORG8400H PRG0EQU8

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。