书中的42页,监测点4.2第一题,代码如下:
mov ax, 0xb800mov ds, axmov [0x00], 'a'mov [0x02], 's'mov [0x04], 'm'jmp $
编译会报错
提示没有指定操作数长度,修改后为
mov ax, 0xb800mov ds, axmov byte [0x00], 'a'mov byte [0x02], 's'mov byte [0x04], 'm'jmp $
然后用书中提供的工具fixvhdwr.exe写入到虚拟机的硬盘中,启动虚拟机会发现报错。上面的代码是用来当作引导代码用到,引导代码必须为512字节,且以55 AA结尾。
再次进行修改:
mov ax, 0xb800mov ds, axmov byte [0x00], 'a'mov byte [0x02], 's'mov byte [0x04], 'm'jmp $times 510 - ($ - $$ ) db 0db 0x55, 0xaa
以上就OK了~!