Aug*_*Aug 5 gcc scope local-variables inline-assembly
我知道这是一个非常基本的问题,但我真的很困惑.事实上,我绝对是gcc语法的新手.我希望在不使用扩展内联汇编的情况下拥有局部变量(事实上堆栈地址带有标签); 类似于intel语法中的代码:
DATA1 DB 100
MOV AL,DATA1
这是我猜可能在gcc中替代的代码:
- (int)someFunction:(int)x {
Run Code Online (Sandbox Code Playgroud)DATA1 DB 100 MOV AL, DATA1
但是这段代码导致了这个错误:
找不到架构x86_64的符号
我可以在x86中使用全局变量,但x64或x86_x64中的结果相同.
设置:LLVM 4.1; Xcode中使用的Cocoa 4
什么是正确的语法?
GCC内联汇编程序不支持局部变量,在堆栈指针的帮助下定位变量或使用gcc的扩展语法:http: //gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html
如果您对AT&T语法感到不舒服,可以在gcc上使用英特尔语法:http: //xorl.wordpress.com/2009/01/01/intel-syntax-on-gcc/
这是关于GCC asm的优秀方法:http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
| 归档时间: |
|
| 查看次数: |
4477 次 |
| 最近记录: |