x86 汇编器编程
基于x86 实现编译器首先得了解x86 平台的指令调度, 以下是一些我在实现编译器过程中用到的基础知识!
大部分内容参考了 青木的自制编译器,
基于GNU汇编器
c语言使用gcc 编译, 而gcc 编译器将c代码转化为汇编之后, 也是用的GNU as 的汇编器将汇编语言 .s 转化为.o,然后再连接, 因此如果自制编译器, 也是做到汇编这一步, 所以又得学x86 汇编器的使用方法!
gcc 用的 GNU, 那我就直接使用gcc!
基本使用
编译:
as hello.s //默认生成 a.out
也可以指定名字:
as -o hello.o hello.s
生成目标文件后还要连接才可以执行。
gcc hello.o -o hello
最后就是
./hello
语法
指令
指令包括 助记符 和 操作数 组成,比如 movl %esp, %ebp , movl 助记符, 后面两个为操作数,

最低0.47元/天 解锁文章
3002

被折叠的 条评论
为什么被折叠?



