-3

什么是系统编程上下文中的“汇编程序”?“一次通过”和“二次”汇编程序有什么区别?我正在寻找详细的解释。

4

2 回答 2

2

汇编是人类还能使用的最低级编程语言,即转译成二进制,每条指令都有一个与二进制平行的字面量,过程中没有解释,只是将符号替换为一定数量的二进制指令位。

两遍汇编程序对整个代码进行两次检查:第一次收集所有符号并创建一个将符号与地址匹配的表,然后第二次用地址替换符号(链接过程)。这允许您在任何您想要的地方定义事物,因为编译器将首先查看所有代码的定义,然后查看定义的使用。

One-pass 汇编器一次遍历代码,试图一次完成整个过程,即在读取一次时将文件和定义链接到标签。在这里保持正确的顺序很重要,如果您不这样做,它将根本不起作用,因为在您尝试使用它之后它不会找到您定义的符号。

当然第一种方法更自然,但需要两倍的时间。对于速度较慢的旧计算机,这是一个巨大的开销,因此最好通过一次代码来实现能够在任何地方定义符号的商品。

于 2013-01-21T06:14:01.847 回答
0

这些是将兼容M/CA的汇编语言程序自动翻译成兼容M/CA的机器语言程序的系统程序,但底层的M/CS

于 2015-02-04T12:12:27.180 回答