日期:2014-05-16  浏览次数:20622 次

有人知道编译器的机器代码生成部分主要用的什么指令集吗?
也就是说最后把汇编代码生成最终机器代码用的什么指令,翻了一些编译器相关的书籍没找到这部分内容

------解决方案--------------------
探讨

引用:


这不是什么指令的问题,用C语言也可以实现……

靠几条指令无法将汇编语言直接变成机器语言,虽然汇编器比高级语言编译器简单得多……
c语言只能把高级语言翻译成汇编或其他中间语言,是不能写机器代码生成器的。
如果你用c语言写编译器只能把java翻译成c语言语法或汇编,再用c语言编译器或汇编器转化为2进制代码的

------解决方案--------------------
探讨

引用:

什么叫用的什么指令?
可以说现在所有的编译器(包括前端和后端)以及汇编器都是用的C。。

如果LZ还不能了解B8和10111000B的区别的话,建议你别看编译器了。难道你以为从汇编码到机器码只用几条指令就够的吗?
我是说cpu不是有算术指令,逻辑运算指令等,控制类指令等,汇编器用了哪部分指令