2015年计算机三级考试PC技术基础知识(15)
发布时间:2012/4/28 16:20:15 来源:城市网学院 编辑:ziteng
九、80X86宏汇编说话的伪指令语
(一)根基宏汇编说话的伪指令语句
8086/8088宏汇编有近60条伪指令,其大体分类如下表所示。
表8086/8088伪指令分类
类别 伪指令 类别 伪指令
符军号说伪操作 EQU,=,LABEL
宏措置伪操作 MACRO,ENDM,EXITM LOCAL,REPT,IRPC,IRP,PURGE
变量界说伪操作 DB,DW,DD,DQ,RECORD,STRUC 前提伪操作 IF,ENDIF,IF1,IF2,IFNB,IFE,IFDIF,IFNDFE IFIDN,ELSE
段界说伪操作 SEGMENT,
ENDS GROUP,
ASSUME,ORG
过程界说伪操作 PROC,ENDP 列表伪操作 PAGE,TITLE, SUBTTL,LIST, XLIST,%OUT
模块界说与通信 EXTRN,PUBLIC
NAME,END 其他 COMMENT,RADIX INCLUDE EVEN
1.符军号说
符军号说伪指令可用于为表达式赋予一个符号名,表达式可所以常量、变量、标号、指令语句和字符等。在轨范中,任何需要这种表达式的处所都可以用被赋予的符号名来庖代它。常用的符军号说语句有等值语句(EQU)和等号语句(“=”)。
(1)等值语句
名目:符号名 EQU 表达式
功能:用符号名庖代右边的表达式的值。
声名:表达式可所以一个值、新符号名、可执行的呼吁或表达式的值。
注重:在统一个源轨范中,EQU语句界说的符号不能再赋予分歧的值,即不能再从头界说。
(2)等号语句
名目:符号名=表达式
功能:等号语句的功能和EQU语句近似,分歧之处是它许可对符号名再界说。
2.变量界说
变量界说语句使用伪指令DB、DW、DD、DF、DQ和DT。名目:变量名 {DB|DW|DD|DF|DQ|DT}表达式
功能:在内存平分配一块以变量名为名字的一个或多个字节/字/双字/长字/4字/10字的数据储区,并填入由伪指令给出的数据。声名:
①变量名是可选择的,它暗示界说的一块内存单元数据区的名字。
②花括号{}中的项是可选择的伪指令,每次界说只能选择其一一种。各伪指令的意义为:
●DB 界说字节数据存储区
●DW 界说字数据存储区
●DD 界说双节数据存储区
●DF 界说长字数据存储区
●DQ 界说4字数据存储区
●DT 界说10字压缩BCD码数据存储区 [NextPage] ③表达式是伪指令的操作
数,它可所以数值表达式、地址表达式、ASCII码表达式、?表达式或n DUP表达式。声名如下:
●数值表达式
数据在存储区中存放时,左边的数据项占较小地址,右边的数据项占较大的地址;对于非DB界说的数据,高位字节占有较大地址,低位字节占有较小地址。
●地址表达式
地址表达式的运算结不美观是一个地址,因而只能使用伪指令DW和DD。这时,存储单元中存放的是存储器的地址值。如不美观使用DW,则存放的是段内地址偏移量;如不美观使用DD,则存放段地址和地址偏移量。
●ASCII码字符串表达式
使用伪指令DB可以界说用单引号括起来的字符串,它为字符串的每个字符分配一个存储单元,并依字符串从左到右的挨次,将字符的ASCII码按地址递增挨次放在内存中
●?表达式
表达式?号时,暗示符号名无确定值。汇编轨范碰着?号时,它仍然为数据项分配存储单元,但不合错误它初始化。
●n DUP(?)
名目:数值表达式 DUP 项或项表
数值表达式的值暗示一再的次数,其各项必需预先界说。项或项表暗示一再内容,可所以?、数值、数值表达式、字符或一再子句。项表中的各项用逗号离隔。
当一再子句为DB、DW、DD、DQ和惟一操作数且项为?时,将不初始化数据区,该数据氏的原存信息连结不变。当一再句是惟一操作数时,界说的变量具有LENGTH和SIZE属性。
3.标军号说伪指令
名目:符号名 LABEL 类型
功能:将紧跟在本伪指令语句后的标号、操作码、过程或变量成立新的符号名,并刷新其类型属性。对标号、操作码或过程,其类型为NEAR、FAR;对变量,其类型为BYTE、WORD、DWOBD、FWORD、QWORD或TBYTE。
声名:LABEL伪指令供给了另一种界说标号或变量名的体例,但它并不为符号名分配存储空间 。
4.段界说语句
8086/8088的存储器是分段的,是以使用段界说语句来组织轨范和操作存储器。常用的段界说伪
指令有:SEGMENT、ENDS、ASSUME、ORG、PAGE、PUBLIC、TITLE、SUBTTL等。
(1)SEGMENT和ENDS
SEGMENT和ENDS语句将汇编说话源轨范分成段。
名目:
段名 SEGMENT
┆
语句段
┇
段名 ENDS
声名:段名是由自己指定的为该段起的名字。定位类型、组合类型是给段名的属性,用来指出汇编轨范为该段分配的存储器的肇端地址;类别号则指出段的类别。用方括号括起来的项可以缺省。