MCS-51汇编语言程序设计(I)

MCS-51汇编语言程序设计(I)

ID:39335547

大小:809.10 KB

页数:76页

时间:2019-07-01

MCS-51汇编语言程序设计(I)_第1页
MCS-51汇编语言程序设计(I)_第2页
MCS-51汇编语言程序设计(I)_第3页
MCS-51汇编语言程序设计(I)_第4页
MCS-51汇编语言程序设计(I)_第5页
资源描述:

《MCS-51汇编语言程序设计(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章汇编语言程序设计§4.1伪指令§4.2汇编语言语句格式§4.3汇编语言程序设计方法§4.4典型程序设计分析习题§4.1伪指令伪指令的定义用汇编语言设计完成的源程序,需要用汇编程序(翻译程序)将其转换成由二进制代码组成的目标程序后,机器才能执行。在翻译过程中,需要了解程序的起始点、数据放在哪里、程序到哪里结束等一些问题,这些问题在机器指令系统中并没有解决,因此需要一些汇编命令来解决这些问题,这种汇编命令就是伪指令。伪指令就是为了解决汇编语言源程序汇编为机器码程序时说明一些汇编功能的指令,之所以称其为伪指令,是它在源程序中的表现形式与机器指令并无两样,只是它

2、在目标程序中不产生机器代码,它只是给汇编程序一个指示而已。当然一些伪指令还有助于提高源程序的可读性。§4.1伪指令起始指令ORGnn起始指令中的ORG表示起点(Origin),也称定位伪指令。指令中的nn表示地址,其功能是确定程序代码和数据代码放在存储器中的起始位置。起始指令可以在源程序中多处使用,用于表达某段程序的起始地址。§4.1伪指令结束指令END结束指令END的功能似乎象它助记符号那样简单,表示源程序到此结束,指示汇编程序翻译到此为止,即使END后面还有其他语句,汇编程序不再进行翻译。每一个源程序应该只有一个结束指令END。§4.1伪指令定义字节数据伪

3、指令[标号:]DB项或项表助记符号DB的含义是定义字节数据(DefineByte)。每一个数据都是常数,每一个常数的大小范围不能超过8位二进制数能表达的范围。这些常数存放在程序存储器中,指令中的标号是这些数据存放在存储器中的首地址。指令中的“项或项表”有以下几层含义:1)“项或项表”可以是一个数据,也可以是一串数据。每一个数据之间用逗号隔开。2)“项或项表”中数据书写的形式可以是二进制数、十进制数、十六进制数等。3)“项或项表”也可以表达字符串,表达时用单引号将字符串包括在内,字符串经过汇编以后将生成相应的ASCII码。§4.1伪指令定义字节数据伪指令例4-1

4、:分析下列程序段。┇ORG0100HLABLE:DB10000101B,100,93HDB‘ABC’,56H56H43H42H41H93H64H85H地址0106H0105H0104H0103H0102H0101H0100H程序存储器§4.1伪指令定义字数据伪指令[标号:]DW项或项表助记符号DW的含义是定义字数据(DefineWord)。每一个数据都是常数,每一个常数的大小范围不能超过十六位二进制数能表达的范围。这些常数存放在程序存储器中,指令中的标号是这些数据存放在存储器中的首地址。指令中的“项或项表”可以是一个数据,也可以是一串数据,每一个数据之间用逗号

5、隔开;“项或项表”中数据书写的形式可以是二进制数、十进制数、十六进制数。§4.1伪指令定义字数据伪指令例4-3:分析下列程序段。┇ORG2100HLABLE:DW1,2,3§4.1伪指令定义字节变量于内部数据存储器伪指令符号名DATAaddr8这条伪指令的功能是将一个字节型变量定义在内部数据存储器00H~7FH中,指令中符号名用于给变量起名,指令中addr8是内部数据存储器地址,表示变量所在的内存单元。§4.1伪指令定义字节变量于内部数据存储器伪指令例4-4:试编制一段程序,完成公式y=7x+8的运算。设y的值域为大于零、小于255。解:根据题意,程序编制如下

6、:xDATA30H;定义变量x于内部数据存储器30H单元.yDATA31H;定义变量y于内部数据存储器31H单元.MOVA,x;将变量x的值送入累加器A.MOVB,#7;将常数7送入寄存器B.MULAB;进行7x运算.ADDA,#8;进行7x+8运算.MOVy,A;将运算值送入y.STOP:SJMPSTOP;程序暂停.§4.1伪指令定义字节变量于外部数据存储器伪指令符号名XDATAaddr16这条伪指令的功能是将一个字节型变量定义在外部数据存储器0000H~FFFFH中,指令中符号名用于给变量起名,指令中addr16是外部数据存储器地址,表示变量所在的内存单元

7、。需要注意的是,访问该变量时必须采用寄存器间接寻址方式。§4.1伪指令定义字节变量于外部数据存储器伪指令例4-5:试编一段程序,将变量X1定义在外部数据存储器0124H单元,并把数据39H赋予X1。解:根据题意,程序编制如下:X1XDATA0124H;定义X1变量于外部;数据存储器0124H单元。MOVDPTR,#X1;设立变量X1指针。MOVA,#39H;将常数39H送入累加器A。MOVX@DPTR,A;通过累加器A把;常数39H赋给变量X1。§4.1伪指令定义位变量伪指令符号名BITaddr8这条伪指令的功能是将一个位变量定义在内部数据存储器位寻址区域20

8、H~2FH中,指令中符号名用于给变量起

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

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

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