1
我想使用GCC内联汇编,Intel语法。如何在GCC内联汇编中使用未初始化的数据
是否有我在NASM做一个等价的:
myvar resb 1024
其在位置myvar
保留1024个字节的内存? GCC似乎不喜欢它:
Error: no such instruction: `myvar resb 1024'
为
int main() {
asm("myvar resb 1024");
return 0;
}
那么这是否意味着即使我将自己的.s文件写入合适的区域,GCC也会忽略'resb's? – nh2 2011-04-17 22:11:15
当你使用GCC时,你正在装配与NASM语法不同的GAS(你必须习惯使用'resb')。如果你把正确的命令(例如'.lcomm')放在正确的部分,GAS会为你预留空间。查看:http://www.ibm.com/developerworks/linux/library/l-gas-nasm/index.html。不过,我认为你最好在C中为混合代码做分配。 – 2011-04-17 23:22:10