本文转自:http://blog.csdn.net/ltbylc/article/details/8280488
1. 将第一天直接生成软盘映像的代码抽取出引导扇区部分,ipl.asm
- ORG 0x7c00
- JMP entry
- DB 0x90
- DB "HELLOIPL"
- DW 512
- DB 1
- DW 1
- DB 2
- DW 224
- DW 2880
- DB 0xf0
- DW 9
- DW 18
- DW 2
- DD 0
- DD 2880
- DB 0,0,0x29
- DD 0xffffffff
- DB "HELLO-OS "
- DB "FAT12 "
- RESB 18 ?
- entry:
- MOV AX,0
- MOV SS,AX
- MOV SP,0x7c00
- MOV DS,AX
- MOV ES,AX
- MOV SI,msg
- putloop:
- MOV AL,[SI]
- ADD SI,1
- CMP AL,0
- JE fin
- MOV AH,0x0e
- MOV BX,15
- INT 0x10
- JMP putloop
- fin:
- HLT
- JMP fin
- msg:
- DB 0x0a, 0x0a
- DB "hello, world"
- DB 0x0a
- DB 0
- ;RESB 0x7dfe-$
- ;times 0x7dfe-($-$$) db 0
- times 510-($-$$) db 0
- DB 0x55,0xaa
2. 将引导扇区部分并入软盘映像文件中 helloos3.asm
- incbin "ipl.bin"
- times 1474560 - ($ - $$) db 0
3. 生成的img文件可以被WinImage软件以软盘方式打开了