汇编程序中的一对一映射转换

时间:2017-11-22 16:31:26

标签: assembly compiler-construction

  

汇编是一种人类可读的语言,但它通常与相应的机器代码具有一对一的关系。因此,据说汇编程序执行同构(一对一映射)转换。

我需要知道汇编程序中一对一映射转换的含义。

3 个答案:

答案 0 :(得分:5)

这意味着您在汇编文件中编写的每个助记符都对应于机器码中的单个指令。在某种程度上,汇编文件只是一种以人类可读的方式表示机器代码的方式。

请注意,这是一种简化。在某些机器上,某些指令可以由多个助记符表示,并且汇编程序无法生成某些指令。例如,当有多种方法将单个助记符映射到指令并且编译器只选择一个时,就会发生这种情况,而其他方法则无法实现。例如,在8086上,您可以将助记符mov ax,bx编码为89 c38b d8,汇编程序通常会选择一个选项,而另一个选项则不可编码。

答案 1 :(得分:1)

他们的意思是:

如果你有一个机器指令,这是一些n位代码,那里只有一个汇编命令对应于这个n位代码。 如果反过来也是如此,那么你就有了一对一的映射。

答案 2 :(得分:-2)

当您使用汇编程序执行操作时,汇编程序将一张一张地映射(意味着仅扫描一条指令或助记符),其余的将被保留并在下一个进程中选择(在下一个扫描进程中)。