2012-11-19 29 views
1

在C++的情况下,有ISO文件和关于该语言未来和现在定义草稿的“社区”论文。X86和ARM汇编的参考文档是什么?

X86和ARM平台的装配体的等效源是什么?

我发现真的很难跟上程序集,因为它真的是碎片化的(甚至只考虑X86平台),并且在很多情况下,我甚至无法找出X引用的寄存器,或者哪些CPU集支持该功能或注册。

没有所有寄存器的索引,不是吗?

+3

可能重复http://stackoverflow.com/questions/4568848/good-reference-for-x86 - 装配的指令)。每个制造商都记录自己的芯片。 –

+1

如果您想要等同于ISO标准,请在制造商文档和manuels上进行。对于x86,请看Intel 64和IA-32架构软件开发人员的Manuel。 – Linuxios

回答

3

正如评论中提到的那样,您的问题的答案很复杂,因为制造商为他们的处理器生产手册。此外,x86更加复杂,因为通常有32位和64位处理器的单独文档手册(我对ARM的评论并不熟悉)。

英特尔的x86(32位和64位),可以在这里找到:Intel® 64 and IA-32 Architectures Software Developer Manuals

AMD的x86文件:All processorsAMD64 Architecture and Software Manuals。这里有很多资源,您可能需要根据您要查找的内容对其进行过滤。

ARM使得可用的参考手册由ARM架构:ARM Architecture

[用于x86组装说明良好参考](的
+0

我很惊讶地注意到没有人提到操作系统是可能的变体,但实际上有时我会看到汇编代码被签名为“仅限Linux”或“仅限Windows”类似的东西:是那些低级别的内核调用或与其无关的东西CPU和硬件寄存器? – user1824407

+0

在DOS,Windows,Linux等操作系统之间的界面各不相同(更疯狂!)。这更多的是“汇编语言怎么处理”的问题,而不是汇编语言本身(它没有像C这样的“标准”,等等。 )。每个汇编程序都可以自由使用它们自己的语法......而且它们是这样的!什么CPU?什么汇编程序?什么OS?你需要知道所有三个才能编写汇编语言。 –