0

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

4

3 回答 3

4

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

汇编语言:

MOV AX,1

机器语言:

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

请注意,汇编语言隐藏0100变成0001- 这个处理器是“小端”

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

JMP next_thing

机器语言:

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

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

于 2010-08-23T21:46:40.863 回答
1

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

另一方面,汇编是象征性的,而不是纯粹的二进制。它旨在由人类程序员读取,然后转换为机器代码二进制文件,但仍适用于单独的指令。

维基百科总结得很好:

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

于 2010-08-23T21:46:13.643 回答
0

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

于 2010-08-23T21:47:03.033 回答