我正在尝试在 MAC OS 中使用 GNU 汇编器(as)编写一个简单的汇编程序。部分程序如下所示:
.intel_syntax noprefix
.globl _main
.text
...
mov rdx, len
syscall
...
.data
message: .asciz "this is a message!\n"
len = . - message
汇编链接后,在调试器中查看的可执行代码为:
movq 0x14, %rdx
syscall
movq $0x14, %rdx
但我真正想要的是movq 0x14, %rdx
我试图将部分放在.data
部分之前,.text
但仍然得到相同的结果。
如何使用 intel 语法获得正确的立即模式?