這次的做法進步了一點,先把想好的code寫在notepad上:
MOV AH, 0
INT 13
OR AH, AH
JNZ 100
MOV AX, 0
MOV ES, AX
MOV BX, 1000
MOV AL, 1
MOV CH, 0
MOV CL, 2
MOV DH, 0
MOV AH, 2
INT 13
JMP 0:1000
INT 13
OR AH, AH
JNZ 100
MOV AX, 0
MOV ES, AX
MOV BX, 1000
MOV AL, 1
MOV CH, 0
MOV CL, 2
MOV DH, 0
MOV AH, 2
INT 13
JMP 0:1000
然後開啟bebug,-a100,把上面的文字copy and paste過來,set -nloader.bin,-rbx: 0,-rcx: 21,-w。
再利用XVI32把LOADER.BIN增大至512 bytes,最後2個byte改成0x55 0xAA。
Kernel的code:
MOV AL, 41
MOV AH, 0E
MOV BH, 00
MOV BL, 07
INT 10
MOV AL, 42
INT 10
JMP 010E
MOV AH, 0E
MOV BH, 00
MOV BL, 07
INT 10
MOV AL, 42
INT 10
JMP 010E
開啟bebug,-a100,把上面的文字copy and paste過來,set -nkernel.bin,-rbx: 0,-rcx: 10,-w。
再用一次copy command:
> copy loader.bin+kernel.bin boot.img
boot.img完成,Bochs測試成功。
沒有留言:
發佈留言