You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NASM(或MASM)中“dd”指令在GNU汇编器(GAS)的等价写法是什么?

NASM/MASM dd 指令转GNU汇编器(GAS)的写法

NASM/MASM 中的 dd 是用来定义**双字(4字节)**数据的指令,在GNU汇编器(GAS)中对应的是 .long 指令,以下是具体转换场景:

  • 单值初始化
    NASM/MASM 写法:

    my_var dd 0x12345678
    

    GAS 对应写法:

    my_var: .long 0x12345678
    
  • 多值数组初始化
    NASM/MASM 写法:

    my_array dd 1, 2, 0xDEADBEEF
    

    GAS 对应写法:

    my_array: .long 1, 2, 0xDEADBEEF
    
  • 预留未初始化双字空间
    NASM/MASM 中用 dup 预留空间的写法:

    my_buffer dd 10 dup(?)
    

    GAS 有两种等价实现方式:

    ; 方式1:用.skip指定总字节数(10个双字=40字节)
    my_buffer: .skip 40
    ; 方式2:重复定义10个未初始化的.long
    my_buffer: .long 0,0,0,0,0,0,0,0,0,0
    

补充说明:GAS 中 .int 通常对应2字节数据(NASM的dw),.long 固定对应4字节,和 dd 完全匹配;64位环境下如果需要8字节数据,用 .quad 对应NASM的dq。

内容的提问来源于stack exchange,提问作者kamkow1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 08:20:49