南京瓦库在哪儿:汇编语言中LABEL伪指令的功能

来源:百度文库 编辑:中财网 时间:2024/04/30 13:27:44
LABEL 一般用作定义变量和标号的属性,它是与紧接着的下一条变量和标号定义语句相关的,其类型可以为BYTE、WORD、DWORD、QWORD、NEAR、FAR等等。用法为:buffer(变量) LABEL     BYTE(类型)例如:Buffer1        LABEL       WORDBuffer2        DB             20  DUP (?)通常,紧接着的下一条语句定义的类型与LABEL指定的类型不同。而实际上,Buffer1是Buffer2的别名,两者指向内存中的同一个存储地址。换言之,同一组数据定义了两种不同的类型,在接受不同数据类型的访问时,可以指定相应的标号。如接受一个字类型数据访问时,使用Buffer1;接受字节类型数据访问时,使用Buffer2。否则因为数据类型不匹配,编译器编译时将出现异常。说到LABEL,也不得不提到另一个与之功能相近的伪指令THIS。THIS通常也与它的下一条变量定义语句相关,因为在数据类型过多的情况下接受不同数据类型访问时,使用PTR属性限定符显得十分繁琐,比如起初定义了变量:Buffer1       EQU      THIS  WORDBuffer2       DB         20     DUP   (0)  假设有如下语句:mov    AX,  Buffer1mov    AX,  Buffer2 其中,在作字类型访问时,mov  AX, Buffer1相当于mov  AX, WORD PTR Buffer2,这样省去了繁琐的PTR操作符。以上两条语句在内存中的安排:  |...... ......01h ...... ......|  02h  |          |          |         |...... ...... ...... ......|                | (Buffer1、Buffer2首地址)Buffer1指向的数据为0201hBuffer2指向的数据为01h 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
原文:http://zhidao.baidu.com/question/338259784.html?seed=0