不同类型处理器的汇编语言有何不同?

时间:2011-07-14 20:58:02

标签: assembly processors

每种处理器的汇编语言有何不同?

如果有人学习x86 intel汇编,如果他将汇编与其他处理器类型(fx x86-64)一起使用,他是否必须从头开始?

3 个答案:

答案 0 :(得分:3)

嗯,有些概念是相似的。例如,所有处理器体系结构都具有用于快速临时存储的寄存器,所有这些寄存器都具有指令指针,并且几乎所有处理器体系结构都具有堆栈。 根据我的经验,如果你能够处理x86(当然还有amd64,这比仅添加32位更复杂),你将能够很快地处理更简单的体系结构,如ARM,z80或MIPS。

如果您想快速拿起它,请获取免费版IDA,或者如果您在Windows中,还有Ollydbg。 用C写一个小程序,然后反汇编你写的东西。你会学到很多东西(这就是我自学的方式)。

另外需要注意的是,就x86而言,有两种主要的汇编语法风格 - 英特尔和AT& T.似乎linux的人群倾向于使用AT& T语法,但我个人更喜欢英特尔。

答案 1 :(得分:2)

这实际上取决于特定的汇编语言。 32位和64位x86处理器之间的区别并不算太差(额外的寄存器等),但PC的64位处理器和旧的翻盖式手机处理器之间的差异将会非常不同。但总的来说,大多数概念都会很好地转化。

答案 2 :(得分:0)

它们通常比不同更相似。 x86是你想要学习的最后一个指令集,它不是那么棒的指令集,非常难看。是的,如果你学习它,其他的都很简单,但最好先学习一个好的指令集。正如你的问题所暗示的那样,一旦你知道其中一两个是语法问题。 msp430是一个很好的第一个指令集,硬件超级便宜(5美元以下)或只是使用模拟器。主线binutils支持。手臂和拇指是其他好的教学集。同样硬件是便宜的,基于cortex-m3(拇指/拇指2只有没有手臂说明)大约10美元,手臂/拇指(没有拇指2)基于40以下免费模拟器,所以你不必购买硬件。 / p>