首页 > 编程语言 >汇编-LABEL插入标号

汇编-LABEL插入标号

时间:2023-11-17 10:47:39浏览次数:29  
标签:标号 汇编 WORD val16 LABEL DWORD main

 

LABEL伪指令可以插入一个标号, 并定义它的大小属性, 但不为这个标号分配存储空间。

LABEL可以使用所有的标准大小属性, 如BYTE、WORD、DWORD、QWORD或T BYTE。

LABEL通常的用法是, 为在数据段中定义的下一个变量提供另一个名称和大小属性

.386
.model flat,stdcall
.stack 4096
ExitProcess PROTO,dwExitCode:DWORD

.data
val16 LABEL WORD 
;在变量val32之前定义了一个名为val16的标号, 属性为WORD
val32 DWORD 12345678h



.code
main PROC
        
        mov ax, val16          ;AX=5678h

        mov dx, [val16+2]       ;DX =1234h

        ;val16是一个内存位置的别名,val16与val32共享这个内存位置。LABEL伪指令自身不分配内存。

        
    INVOKE ExitProcess,0
main ENDP
END  main

 

有时需要用两个较小的整数构成一个较大的整数,如下例所示,两个16位变量组成一个32位值并装入到EAX中:

.386
.model flat,stdcall
.stack 4096
ExitProcess PROTO,dwExitCode:DWORD

.data
LongValue LABEL DWORD 
val1 WORD 5678h 
val2 WORD 1234h

.code
main PROC
        
        mov eax, LongValue   ;EAX= 12345678h


        
    INVOKE ExitProcess,0
main ENDP
END  main

 

 

 

 

 

标签:标号,汇编,WORD,val16,LABEL,DWORD,main
From: https://www.cnblogs.com/liming19680104/p/17838059.html

相关文章

  • 3.6 Windows驱动开发:内核进程汇编与反汇编
    在笔者上一篇文章《内核MDL读写进程内存》简单介绍了如何通过MDL映射的方式实现进程读写操作,本章将通过如上案例实现远程进程反汇编功能,此类功能也是ARK工具中最常见的功能之一,通常此类功能的实现分为两部分,内核部分只负责读写字节集,应用层部分则配合反汇编引擎对字节集进行解码,此......
  • 汇编-SIZEOF返回数组字节总数
     SIZEOF操作符的返回值等于LENGTHOF与TYPE的返回值的乘积.386.modelflat,stdcall.stack4096ExitProcessPROTO,dwExitCode:DWORD.dataintArrayWORD32DUP(0).codemainPROCmoveax,SIZEOFintArray;EAX = 00000040h=64INV......
  • 汇编语言基础语法,然后什么是汇编语法,比喻一下
    汇编语言是一种低级编程语言,它非常接近于计算机硬件的操作语言。了解汇编语言的基础语法首先需要了解它的核心概念和基本结构。汇编语言的基本概念操作码(Opcode):这是指示计算机执行特定操作的命令,如加法、减法等。操作数(Operand):这是操作码作用的对象,可以是数值、内存地址或者寄......
  • 汇编-ALIGN对齐边界
         ......
  • RISC-V 汇编语言分析
    RISC-V汇编语言分析   3.1导言图3.1表明了从C程序翻译成为可以在计算机上执行的机器语言程序的四个经典步骤。这一章的内容包括了后三个步骤,不过要从汇编语言在RISC-V函数调用规范中的作用开始说起。图3.1从C源代码翻译为可运行程序的步骤。这是从逻辑上进......
  • 汇编-标志寄存器
      CF进位标志位一般情况下,在进行无符号整数运算的时候,它记录了运算结果的最高有效位向更高位的进位值,或从更高位的借位值。有进位或者借位时CF=1 注意:incloop 不会影响CF    ......
  • 汇编-neg求补(改变正负号)
     neg指令详细解释规则:1.negreg(对寄存器操作)2.negmem(对内存操作)作用:将目的操作数的所以数据位取反加1影响的标志:进位标志(CF),零标志(ZF),符合标志(SF),溢出标志(OF),辅助进位标志(AF),奇偶标志(PF)当操作数为0时,置CF位为0当操作数不为0时,置CF位为1.386.modelflat,stdcalloptionca......
  • 汇编-sub指令
      SUB指令从目的操作数中减去源操作数。指令的语法为:SUBdest,source  .386.modelflat,stdcalloptioncasemap:none.datavar1DWORD30000hvar2DWORD10000hExitProcessPROTO,dwExitCode:DWORD.codemainPROCmoveax,var1;......
  • 汇编-ADD指令
      .386.modelflat,stdcalloptioncasemap:none.datavar1DWORD10000hvar2DWORD20000hExitProcessPROTO,dwExitCode:DWORD.codemainPROCmoveax,var1;EAX=10000haddeax,var2;EAX=30000hINVOKEExitProcess......
  • 汇编-INC(递增)和DEC(递减)
    INC(递增)和DEC(递减)指令分别表示将寄存器或内存操作数加1和减1。语法如下:INCreg/memDECreg/mem溢出标志、符号标志、零标志、辅助进位标志,以及奇偶标志会根据目的操作数的值而发生变化。INC和DEC指令不影响进位标志.386.modelflat,stdcalloptioncasemap:none......