7

I was reading this article on wikipedia about list of assmeblies

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

turns out there are alot of assembly languages out there.. so for example if u learn the Yasm assembly language, would be hard to read the TCCASM code? is it like completely different than all the other asem.. languages? I wana learn this language but i dont know which one to choose.. if u could recommend some good books for novice programers that covers assembly x86 in general i would be more than grateful

4

2 回答 2

6

您不应混淆以下内容:

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

汇编语言的一般思想就是其中之一。但是它的实施例很多且不同(例如,MASM、TASM、NASM、(G)AS等)。它们的不同之处在于它们支持什么 CPU 和什么指令(子)集、它们支持什么特性(例如表达式、宏、对结构化编程的支持、对象/二进制文件格式)以及它们的外观(语法、助记符、指令、注释) )。

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

于 2012-09-07T20:48:28.083 回答
0

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

于 2018-01-21T12:10:03.617 回答