• 汇编语言中LABEL伪指令的功能?


    LABEL 一般用作定义变量和标号的属性,它是与紧接着的下一条变量和标号定义语句相关的,其类型可以为BYTE、WORD、DWORD、QWORD、NEAR、FAR等等。用法为:
    buffer(变量) LABEL BYTE(类型)

    例如:
    Buffer1 LABEL WORD
    Buffer2 DB 20 DUP (?)
    通常,紧接着的下一条语句定义的类型与LABEL指定的类型不同。而实际上,Buffer1是Buffer2的别名,两者指向内存中的同一个存储地址。换言之,同一组数据定义了两种不同的类型,在接受不同数据类型的访问时,可以指定相应的标号。如接受一个字类型数据访问时,使用Buffer1;接受字节类型数据访问时,使用Buffer2。否则因为数据类型不匹配,编译器编译时将出现异常。

    说到LABEL,也不得不提到另一个与之功能相近的伪指令THIS。THIS通常也与它的下一条变量定义语句相关,因为在数据类型过多的情况下接受不同数据类型访问时,使用PTR属性限定符显得十分繁琐,比如起初定义了变量:
    Buffer1 EQU THIS WORD
    Buffer2 DB 20 DUP (0)
    假设有如下语句:
    mov AX, Buffer1
    mov AX, Buffer2
    其中,在作字类型访问时,mov AX, Buffer1相当于mov AX, WORD PTR Buffer2,这样省去了繁琐的PTR操作符。

    以上两条语句在内存中的安排:
    |...... ......01h ...... ......| 02h | | | |...... ...... ...... ......|
    |
    (Buffer1、Buffer2首地址)

    Buffer1指向的数据为0201h
    Buffer2指向的数据为01h

  • 相关阅读:
    张维迎:你必须知道的10个经济学原理
    艾德莱斯绸:“千年时尚”托起新产业
    Sending forms through JavaScript[form提交 form data]
    Sending form data
    Your first HTML form
    form submission
    <input type="file">
    web storm查看文件结构
    jQuery-File-Upload
    IHttpHandler
  • 原文地址:https://www.cnblogs.com/wushangzhizun/p/7875617.html
Copyright © 2020-2023  润新知