汇编语言伪指令

来源:本站
导读:目前正在解读《汇编语言伪指令》的相关信息,《汇编语言伪指令》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《汇编语言伪指令》的详细说明。
在编写汇编语言程序时,会用到另一类指令,这类指令仅供汇编程序将源程序翻译成目标程序时使用,本身并不形成机器码,这类指令称为伪指令。由此可知,指令有二类:

1)汇编指令:是编译后产生机器码的指令。

2)伪指令:仅供汇编程序使用,编译后不产生机器码的指令。

下面简单介绍5条伪指令。

1. 汇编起点指令 ORGOrigin<?XML:NAMESPACE PREFIX = O />

指令格式 ORG nn

作用:将ORG nn 后的程序机器码或数据存放以nn为首地址的存储单元中。如在下面的例4-1中,伪指令 ORG 2000H 将目标程序从地址2000H处开始存放。

2. 定义字节指令 DB Define Byte

指令格式 [LABEL] DB N1N2,…,Nm

作用:将DB后的8位字节数据N1N2,…,Nm依次存入以标号LABEL为首地址的存储单元中。若无标号,则N1N2,…Nm依次存放在DB上一条指令之后的存储单元中。如在例4-1中伪指令DB 将字节数据5538依次存放到以标号LABEL3为首地址的存储单元2100H2101H中。

3. 定义字指令 DW Define Word

指令格式:[LABEL] DW NN1NN2,…,NNm

作用:将DW后的16位字数据NN1NN2,…,NNm依次存放到以标号LABEL为首地址的存储单元中,若无标号,则NN1NN2,…,NNm依次存放在DW上一条指令之后的存储单元中。在例4-1中,伪指令DW 同样可将字数据5538存放到以标号LABEL3为地址的存储单元2100H2101H中。

4. 等值指令 EQU Equate

指令格式:LABEL EQU nn

作用: 16位地址nn赋给标号 LABEL,在例4-1中,伪指令 LABEL0 EQU 2100H将地址2100H赋给标号LABEL0

5. 结束汇编指令 END

作用:汇编程序编译源程序时,遇到伪指令END,不管END下面是否还有其它指令都将停止编译。

1 将地址为2100H存储单元中内容55与地址为2101H存储单元内容38进行十进制数相加,运算结果93存放在地址为2102H的存储单元中。

即:(2100H+2101H)→(2102H

阅读十进数加法的源程序与目标程序,并解释每一条伪指令的含义与作用。

解:

汇编语言伪指令

该程序完成(2100H+2101H)送(2102H)的工作。在程序中加入一些伪指令。现分析程序中伪指令的含义及作用,汇编程序编译该程序时,将根据伪指令 ORG 0000H 将目标程序从地址0000H处开始存放。伪指令 LABEL0 EQU 2100H 将被加数地址2100H赋给标号LABEL0,伪指令 LABEL1 EQU 2101H 则将加数地址2101H赋给标号LABEL1,伪指令 LABEL2 EQU 2102H 将和的地址2102H赋给标号LABEL2。程序中可以用标号LABEL0~LABEL2去代替直接地址2100H~2102H,这样做的好处是,如果用户要进行如:(3100H+3101H)送(3102)的运算,只要在程序开始处修改等值指令EQU的标号地址,改为31003101H3102H,而不必修改程序本身即可。伪指令DB 将字节数据5538依次存放到以标号LABEL3为首地址的存储单元2100H2101H中。而伪指令DW 同样可将字数据5538存放到以标号LABEL3为地址的存储单元2100H2101H中,如目标程序所示。最后,伪指令END告诉汇编程序,汇编工作到此结束。在所有伪指令后面均没有产生机器码。这说明伪指令是仅供汇编程序使用,编译后不产生机器码的指令。

提醒:《汇编语言伪指令》最后刷新时间 2023-07-10 03:53:55,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《汇编语言伪指令》该内容的真实性请自行鉴别。