我正在尝试制作自己的汇编程序(如NASM,MASM等),但我不知道从哪里开始。我理解x86汇编,但我不太了解汇编程序如何工作。我应该从哪里开始?在这种情况下,谷歌没有帮助我。是否有任何网站可以用来学习这个?
答案 0 :(得分:2)
汇编程序(不要与链接器混淆)是一个执行两件事的程序:
您需要的只是一个查找表,其中将名称映射到操作码。这样做应该很直接。
答案 1 :(得分:2)
您需要将assmbler指令转换为机器代码,计算地址并将所有内容放入目标文件中。你不需要一次性完成所有事情。
如果您正在寻找操作码表,一个好的起点是http://ref.x86asm.net/coder32.html或http://www.sandpile.org/。当然,官方的intel和amd文档也可以使用。
对于目标文件格式,它取决于您要对代码执行的操作。正如Alex指出的那样,纯二进制文件不能用于引导扇区,内核或DOS * .com程序。对于其他所有内容,您需要在目标文件中重定位信息。