我最近一直在树莓派上自学 ARM 汇编,现在我正在使用 NASM 编译器在 MacOS X 上自学 x86 汇编。我编写了一个文件名为“program1.s”的小程序。代码如下:
global start
section .text
start:
mov rax, 0xA
首先,我想问一下,这是 MacOS X 上 NASM 的正确语法吗?但我的主要问题是,我应该使用什么 NASM 命令来运行它?
任何有关这些问题的帮助将不胜感激。
- primecubed
最佳答案
以下命令可用于在 macOS 上汇编、链接然后运行汇编代码程序。
$ nasm -fmacho64 program1.s # assemble
$ ld -static program1.o -o program1 # link
$ ./program1 # run
为了使前面的工作正常,我添加了用于exit系统调用的指令(否则运行时会出现段错误,可能是因为内存中的后续数据被解释为要执行的指令)。
global start
section .text
start:
mov rax, 0xA
mov rax, 0x02000001 ; System call for exit.
mov rdi, 0x0 ; An exit code of 0.
syscall
关于macos - 如何在 Mac 上运行汇编程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64958460/