对于我的大学最后一年的论文,我要实现对C编程语言的骨骼形式的编译器,然后去延伸它,直到它像什么更像Java,有数组边界检查,类型检查等等。生产可执行文件在Linux(相对于执行编译)
我在太多,涉及到编译器构造,并在MIPS汇编语言编程经验理论的比较能干,所以我明白一点的是写非常低级别的代码是什么。
我的主要担忧是我很可能一直到我需要生成实际机器代码输出的地步,但却不能充分理解机器代码如何从运行它的操作系统。
所以,我的实际问题基本上是,“没有人知道最好的地方,读了关于编写汇编对linux下一个Intel的x86-64处理器上运行?”
我所知道的主要缺陷是机器代码在实际中如何运行。它是直接在处理器上运行,使“系统调用” S(或86等价物)时,出于某种原因需要内核提供的服务,或者是汇编语言封装的描述,告诉内核如何执行指令(以类似于诸如Java的解释性语言的方式)?
任何帮助,你可以提供将不胜感激。
可能重复http://stackoverflow.com/questions/1575948/advice-for-learning-linux-x86-64-assembly-documentation) – bdonlan
我也要读一下,谢谢你的帮助:) –
你可能想要谷歌关于ELF文件格式 –