我从哪里开始制作自己的汇编程序?

时间:2012-02-19 16:17:19

标签: assembly x86

我正在尝试制作自己的汇编程序(如NASM,MASM等),但我不知道从哪里开始。我理解x86汇编,但我不太了解汇编程序如何工作。我应该从哪里开始?在这种情况下,谷歌没有帮助我。是否有任何网站可以用来学习这个?

2 个答案:

答案 0 :(得分:2)

汇编程序(不要与链接器混淆)是一个执行两件事的程序:

  • 用实际地址替换标签
  • 它将memotechnical名称转换为操作码并将它们存储在所谓的目标文件中。

您需要的只是一个查找表,其中将名称映射到操作码。这样做应该很直接。

答案 1 :(得分:2)

您需要将assmbler指令转换为机器代码,计算地址并将所有内容放入目标文件中。你不需要一次性完成所有事情。

如果您正在寻找操作码表,一个好的起点是http://ref.x86asm.net/coder32.htmlhttp://www.sandpile.org/。当然,官方的intel和amd文档也可以使用。

对于目标文件格式,它取决于您要对代码执行的操作。正如Alex指出的那样,纯二进制文件不能用于引导扇区,内核或DOS * .com程序。对于其他所有内容,您需要在目标文件中重定位信息。