helloOS.img
CPU只能识别二进制数字,我们可以通过使用二进制编辑器来写如二进制代码使得计算机识别这些代码并输出指定字符。
书中使用的Bz162软件,根据书中的内容将二进制文件补全并保存。
之后执行
copy helloos.img /z_tools/qemu/fedimage0.bin
将刚才生成的img文件复制到书自带光盘中的/z_tools/qemu目录下,并覆盖fedimage0.bin文件。
/z_tools/qemu/qemu-win.bat
执行虚拟机。
执行结果如下所示
汇编
RESSB
全称是Reserve Byte,将会自动从开始地址填充n个为0的字节来,比如resb 10,自动空出10个字节并填充为0x00。
DW和DD
Data word和Data Double word,word指的是16位,data word表示16位也就是两个字节,data double word表示32位也就是四字节。
$和$$
$表示当前代码位置地址,$$表示当前段地址,如果段地址未定义,那么就表示为程序开始地址。
ressb $-$$表示计算程序开始到当前地址数所占字节数