我想使用GCC内联汇编,Intel语法。
我在NASM中的表现是否相同:
myvar resb 1024
在位置myvar
保留1024字节内存?
海湾合作委员会似乎不喜欢它:
Error: no such instruction: `myvar resb 1024'
的
int main () {
asm("myvar resb 1024");
return 0;
}
答案 0 :(得分:2)
如果你正在混合C和内联汇编,你应该让C编译器处理内存分配。将您的内存声明为char myvar[1024]
,并根据需要从内联程序集中引用它。您可以直接访问它,但最好将其作为arg传递给asm()
并让编译器为您选择寻址格式。