机器和汇编语言之间的关系

时间:2010-08-23 21:43:19

标签: assembly machine-code

机器语言和汇编语言编程之间有什么关系?

3 个答案:

答案 0 :(得分:4)

发明汇编语言是为了让人们更容易编写机器语言。

汇编语言:

MOV AX,1

机器语言:

B8 01 00    ; B8 = copy two bytes into AX   0001 = value to copy

请注意,汇编语言隐藏了将0100转换为0001 - 此处理器为“little endian”

一个重要的区别是汇编语言提供标签

JMP next_thing

机器语言:

EB FC         ; EB = jump, FC = current address - 4 bytes

在装配之前,您必须手动计算跳跃偏移量。

答案 1 :(得分:1)

两者都是特定于实现的,并处理处理器的各个指令,但机器代码稍低,代表人类程序员作为一系列数字,几乎总是纯二进制。

另一方面,

汇编是象征性的,而不是纯二进制。它被设计为由人类程序员读取,然后转换为机器代码二进制文件,但仍然可以使用单独的指令。

Wikipedia总结得很好:

  

更易读的机器语言再现,称为汇编语言,使用助记符代码来引用机器代码指令,而不是简单地使用指令的数值。例如,在Zilog Z80处理器上,导致CPU递减B处理器寄存器的机器代码00000101将用汇编语言表示为DEC B.

答案 2 :(得分:0)

汇编语言是机器语言的人类可读表示。