变量定义伪指令

变量定义伪指令是最常使用的汇编语言说明性语句,它的汇编语言格式为:

变量名变量定义伪指令初值表

变量名即汇编语句名字部分,是用户自定义的标识符,表示初值表首个数据的逻辑地址。汇编语言使用这个符号表示地址,故有时被称为符号地址。变量名可以没有,这种情况,汇编程序将直接为初值表分配空间,无符号地址,设置变量名是为了方便存取它指示的存储单元。

初值表是用返号分隔的参数,由各种形式的常量和特殊的符号“?”、“DUP”组成。其中“?”表示初值不确定,即未赋初值。多个存储单元如果初值相同,可以用复制操作符DUP进行说明。DUP的格式为:

重复次数dup(重复参数)

变量定义伪指令有DB、DW、DD、DF、DQ和DT(MASM 6.0开始还对应支持BYTE、WORD、DWORD、FWORD、QWORD和TBYTE,两者功能相同),它们根据申请的主存空间单位分类,如下面所示。不同的变量类型在表达整数时,只是使用的二进制位数(长度)不同,能够表达的数据范围不同,但有符号数都采用补码编码。

1、助记符:DB

变量类型:字节(BYTE)

变量定义功能:分配一个或多个字节单元;每个数据是字节量,也可以是字符串常量字节量表示8位无符号数或有符号数,字符的ASCII码值

2、助记符:DW

变量类型:字(WORD)

变量定义功能:分配一个或多个字单元;每个数据是字量、16位数据字量表示16位无符号数或有符号数、16位段选择器、16位偏移地址

3、助记符:DD

变量类型:双字(DWORD)

变量定义功能:分配一个或多个双字单元;每个数据是双字量、32位数据双字量表示32位无符号数或有符号数、32位段基地址、32位偏移地址

4、助记符:DF

变量类型:三个字(FWORD)

变量定义功能:分配一个或多个6字节单元;6字节量常表示含16位段选择器和32位偏移地址的48位指针地址

5、助记符:DQ

变量类型:四个字(QWORD)

变量定义功能:分配一个或多个8字节单元;8字节量表示64位数据

6、助记符:DT

变量类型:十个字节(TBYTE)

变量定义功能:分配一个或多个10字节单元,表示BCD码、10字节数据(浮点处理单元支持)

除了DB、Dw、DD等定义的简单变,汇编语言还支持复杂的数据变量,例如结构(Structure)、记录(Record)、联合(Union)等。

说点什么

avatar
  Subscribe  
提醒