“用C语言编写一个汇编程序。” 为什么要用高级语言编写用于低级语言的机器代码翻译器?
我的微处理器班老师给了我们一个作业,说: “用C语言编写一个汇编程序。” -我亲爱的教授 所以对我来说似乎有点不合逻辑。 如果我没搞错,汇编语言是从机器代码到高级语言之旅的第一步。我的意思是C是比汇编语言更高级的语言。那么,用C编写汇编语言有什么意义呢?在没有C语言的情况下,他们过去在做什么?他们是用机器代码编写汇编程序吗? 对我来说,用高级语言为低级语言编写机器代码翻译器没有任何意义。 假设我们已经创建了一个全新的微处理器架构,该架构甚至没有C编译器。用C编写的汇编程序能否模拟新架构?我的意思是没用吗? 顺便说一下,我知道GNU汇编器和Netwide汇编器是用C编写的。我也想知道为什么它们是用C编写的? 最后,这是我们的教授提供给我们的简单汇编程序的示例源代码: // to compile, gcc assembler.c -o assembler // No error check is provided. // Variable names cannot start with 0-9. // hexadecimals are twos complement. // first address of the code section is zero, data section follows the code section. //fout …