第一范文网 - 专业文章范例文档资料分享平台

(完整版)汇编语言中常用的伪指令档

来源:用户分享 时间:2025/5/25 22:13:34 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

汇编语言中常用的伪指令 分类: 软件相关2013-01-23 20:13 515人阅读 评论(0) 收藏 举报

areaequ伪指令常用汇编语言

汇编语言中,指令语句在源程序汇编时会产生可供计算机执行的指令代码,即目标代码。汇编程序除指令语句外,还需要提供一些指令,用于辅助源程序的汇编。比如指定程序或数据存放的起始地址,为数据分配一段连续的内存单元等。这些指令在汇编时并不生成目标代码,不影响程序执行,因此称之为伪指令。本文简单总结了常用的伪指令,如下。 1、EQU(Equate)

一般格式为: 标号: EQU 操作数

指令功能为将操作数赋予标号,两边的值完全相等。使用EQU伪指令给一个标号赋值后,此标号在整个源文件中值固定。

AREA: EQU 1000H ;将标号AREA赋值为1000H

2、ORG(Origin)

一般格式为: ORG xxxxH(绝对地址或标号)

XxxxH决定此语句后第一条指令(或数据)的地址。该段源程序或数据被连续存放在此后的地址内,直到下一条ORG指令为止。

ORG 8000H ;此后目标代码存储在存储器中以0x8000h开始的地址空间中。

ADD R1, #1 MOV R2, #2

3、DB(Define Byte)

一般格式为: 标号: DB 字节常数或字符或表达式

标号字段可有可无,字节常数或字符是指一个字节数据。此伪指令的功能是把字节常数或字节串存放至内存连续的地址空间中。 ORG 8000H

DATA1: DB 43H,09H,08H DATA2: DB 07H

伪指令DB指定了43H,09H,08H 顺序存放在8000H开始的存储单元中,DATA2中的07H紧挨着DATA1的地址空间存放,即07H存放在8003H单元中。

注:DW(Define Word)指令定义与DB类似,区别在于DW定义一个字,DB定义一个字节。

4、END

一般格式为: 标号: END 地址或标号

地址或标号可以忽略。此伪指令用于指示汇编语言程序段结束。因此一个源程序中仅有一个END,且一般放在程序最后。若END放在程序中间,则END后面的语句将不再被汇编。 5、AREA

一般格式为: 标号 sectionname{,attr}{,attr}……

Sectionname指定节的名称。节是不可分的已命名独立代码模块或数据模块,由连接器进行处理。

Attr则是一个或多个用逗号分隔的节的属性。属性有多种,比如:

ALIGN=expression。默认条件下节以四字节边界对齐。Expression取值范围为0-31.表征的对齐边界是2的expression平方。

CODE 包含机器指令。默认值为READONLY

DATA 包含数据但不包含指令。默认值为READWRITE READONLY 指示此节只读。代码区域默认值。 READWRITE 指示此节可读可写。数据区域默认值。 AREA Example, DATA, READWRITE ;data

以上代码定义了名为Example的可读写数据节。

6、PUBLIC

一般格式为: PUBLIC 标识符1,标识符2……

在开发较为复杂的应用程序时,其执行文件的生成一般由多个目标文件链接而成。多个目标文件之间一般存在数据交互,汇编语言中通过伪指令PUBLIC及EXTRN来解决模块之间的联系。PUBLIC用来说明当前模块中可被其他模块所引用的公共标识符。 PUBLIC _STARTUP

声明标识符_STARTUP可被其他模块所引用。

7、EXTRN或EXTERN

一般格式为: EXTRN 标识符1:类型1,标识符2:类型2…….

表明标识符1、2是外部标识符,其已经在其他模块中被定义为类型1、类型2等。在一个模块中,可用多条EXTRN来说明本模块中所引用的外部标识符。实质为汇编器提供一个并未在当前汇编文件中定义的名称。

注:EXTRN所声明的标识符必须在其定义的模块中被PUBLIC声明为公共标识符,且声明的标识符类型需与该标识符定义类型一致。 类似:EXPORT或GLOBAL

声明一个符号,链接器可以使用此符号解析不同对象和库文件中的符号引用。即,可使其他文件中的代码能够访问当前文件中的符号。

8、PROC

一般格式为: <过程名> PROC [类型]

此指令为过程定义指令。过程即子程序,一个过程可以被其他程序调用(CALL指令)。 <过程名> PROC [类型] ……. ……. ENDP

注:PROC和ENDP必须成对出现。

9、SPACE

一般格式为: 标号 SPACE 表达式

此指令用于分配一片连续的存储区域并初始化为0。表达式为要分配的字节数。SPACE可用“%”来代替。

DataSpace SPACE 1000 ;分配连续1000个字节的存储单元DataSpace并初始化为0。

10、ENTRY

此指令用于声明程序的入口点。一个程序至少有一个入口点。 AREA TEST, CODE, READONLY ENTRY ;程序入口点。

11、PRESERVE8

一般格式为: PRESERVE8 {bool}

PRESERVE8指令指定当前文件需保持堆栈八字节对齐方式。其通过设置PRES8编译属性通知连接器。

PRESERVE8 ;保持代码堆栈八字节对齐。 PRESERVE8 {FALSE} ;不保持代码堆栈八字节对齐。

搜索更多关于: (完整版)汇编语言中常用的伪指令档 的文档
(完整版)汇编语言中常用的伪指令档.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c51h3e293628wrp7230mk0mq5e7eayt017vx_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top