386bsd 0.0 软驱启动部分用了轮询方式应答中断,BOCHS,qemu不能处理。
xorl %edx,%edx | |
movb $0x20,%dl | |
2: movb $0xc,%al #POLL 模式 P=1 | |
outb %al,%dx | |
NOP | |
inb %dx,%al | |
NOP | |
andb $0x7f,%al | |
cmpb $6,%al | |
jne 2b | |
movb $0x20,%al # do a eoi | |
outb %al,%dx | |
NOP |
现在老的电脑已经找不到,没法在实际电脑上试用,386BSD 0.0引导代码将它的核加载到0X70400处,因此自己动手写了了一个,还可以正常引导,
386BSD 0.0的:
pushl $0
pushl $0
/* fd controller is major device 2 */
pushl $2 /* dev */
/* sorry, no flags at this point! */
pushl $ start
ret /* main (dev, unit, off) */