汇编程序:基本的X86
组装工
该存储库包含一个非常基本的x86-64汇编器,它能够读取汇编语言输入,并生成静态链接的ELF二进制输出。
它不是一个有用的汇编程序,更是一种概念验证,但我希望将其带到可以编译我在其他一些项目中产生的x86-64汇编程序的状态。
当前,汇编器将生成一个类似于以下内容的二进制文件:
$ file a.out
a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV)
statically linked, no section header
为什么? 我编写了一些玩具项目,这些项目生成汇编语言程序,然后将它们传递给汇编器:
该存储库中的代码是在尝试直接生成ELF二进制文件的过程中诞生的。 必要的学习过程。
局限性
我们不支持汇编语言程序员期望的完整指令集附近的任何地方。 目前,我们仅支持以下内容:
add $REG, $REG + add $REG, $NUMBER 将一个数字或另一个寄存器的内容添加到一个寄存器中。
call $LABEL 有关,请参见 。
dec $REG
减少指定寄存器的内容。