如何在GCC内联汇编中使用未初始化的数据

时间:2011-04-17 02:35:32

标签: assembly intel inline-assembly

我想使用GCC内联汇编,Intel语法。

我在NASM中的表现是否相同:

myvar resb 1024

在位置myvar保留1024字节内存? 海湾合作委员会似乎不喜欢它:

Error: no such instruction: `myvar resb 1024'

int main () {
    asm("myvar resb 1024");
    return 0;
}

1 个答案:

答案 0 :(得分:2)

如果你正在混合C和内联汇编,你应该让C编译器处理内存分配。将您的内存声明为char myvar[1024],并根据需要从内联程序集中引用它。您可以直接访问它,但最好将其作为arg传递给asm()并让编译器为您选择寻址格式。