我想编写x86汇编代码。然后编译为二进制文件。该程序仅在屏幕上打印一个字符串。
move ax,0xb800
move ds,ax
move [0x00],word'a'
move [0x02],word's'
move [0x04],word'm'
jmp $
现在我有了二进制文件。但我不知道如何将其写入vhd文件。(我想将代码放在前512个字节中,以便代码在bios启动后可以工作)
我可以打开hvd文件和二进制文件然后逐字节复制吗?
希望我能得到一些想法。如果您有代码会更好]
在Linux上,您可以先通过virtualbox创建vhd文件,然后执行以下命令以将mbr扇区的内容复制到vhd文件中。dd if=c05_mbr.bin of=LEARN-ASM.vhd bs=512 count=1 conv=notrunc
如果使用选项'notrunc',则输出文件的大小将大于输入文件的大小。