有多少汇编语言

时间:2012-09-07 20:22:48

标签: assembly x86

我正在维基百科上阅读关于assmeblies列表的这篇文章

http://en.wikipedia.org/wiki/List_of_assemblers

事实证明那里有很多汇编语言..例如,如果你学习Yasm汇编语言,那么很难读懂TCCASM代码?它是否与所有其他asem语言完全不同?我wana学习这种语言,但我不知道选择哪一个..如果你可以推荐一些好书,新手程序,一般涵盖程序集x86我会非常感激

2 个答案:

答案 0 :(得分:4)

你不应该混淆以下内容:

  • 汇编语言(具有不同实现的抽象概念)
  • 汇编程序(一个程序,一种编译器(如果你愿意)实现该语言)
  • 语法(另一个特定于实现的细节;比较x86平台的AT& T和Intel语法)
  • 指令集(不同CPU的不同)

汇编语言的总体思路是一个。但是其实施例是许多不同的(例如MASM,TASM,NASM,(G)AS等)。它们的不同之处在于它们支持的CPU和指令(子)集,它们支持的功能(例如表达式,宏,对结构化编程的支持,对象/二进制文件格式)以及它们的外观(语法,助记符,指令,注释) )。

如果您知道如何在特定平台上使用一个汇编程序,那么学习另一个汇编程序应该不是很难。同样,如果您知道如何为一个平台编写汇编代码,那么学习为另一个平台编写asm代码应该没什么大不了的。当然,如果您对至少一个汇编器和一个指令集有很好的理解,那么这一切都是正确的。

答案 1 :(得分:-1)

我将从Z80开始,了解寄存器,程序计数器,堆栈,标志,助记符等。它非常干净且有用,并且不太复杂,但具有编程处理器所需的一切。这当然是有偏见的,因为这是我第一次遇到处理器:)但是大多数其他人只是更复杂,当然有更多的可能性和力量,但它可能只会在开始时让你困惑。