好的。我想学习如何在我的 Mac 上组装程序(2009 年初 MBP,Intel Core 2 Duo)。到目前为止,我只了解汇编语言是由 CPU 指令的直接一对一助记符组成的。经过一番谷歌搜索,我看到了很多术语,主要是“x86”和“x86_64”。我还看到了 MASM、NASM 和 GAS 等。
如我错了请纠正我:
- x86 和 x86_64 是指令集。如果我使用这些指令集(作为原始机器代码)编写一些东西,只要我的程序停留在它设计的处理器上,我就可以了。
- NASM、MASM 和 GAS 都是不同的汇编程序。
- 有不同的汇编语言。例如,有 AT&T 语法和 Intel 语法。对这些语法的支持因汇编程序而异。
现在,问题:
- 作为 Mac 用户,我应该关注哪些指令集?
- Xcode 使用 GCC。这是否意味着它也使用 GAS?
- 如果它确实使用 GAS,那么我应该学习 AT&T 语法吗?
- 有没有一本书我可以得到这个。不是教程,也不是网络上的参考手册。这些事情对我来说很重要。例如,据我所知,寄存器只是 CPU 上的一点点内存。这就是我真正知道的很少。
谢谢你的帮助。