アセンブリ ブートローダー/MBR でアセンブリ カーネルを起動しようとしています。オフセット 0x7e00 からオフセット 0x8000 (セクター 1) までのカーネルをメモリに読み込んでいます。オフセット 0x7e00 にジャンプします。カーネルにジャンプしないのはなぜですか?
; Boot.asm
[org 0x7c00]
[bits 16]
ReadDisk:
push ax
push bx
push cx
push dx
mov bx, 0x0000
mov es, bx
mov bx, 0x0000
mov ah, 0x02
mov al, 0x01
mov ch, 0x00
mov cl, 0x02
mov dh, 0x00
mov dl, 0x80
int 0x13
jc ReadDisk
jmp 0x7e00
times 510 - ($ - $$) db 0
dw 0xaa55
~~~~
; Kernel.asm
; Print dot on screen and hang
[org 0x7e00]
[bits 16]
mov ah, 0x0e ; BIOS teletype subfunction
mov al, '.'
int 10h
jmp $ ; hang
times 512 - ($ - $$) db 0 ; Fill sector.
環境: NASM、QEMU、Windows 7 64 ビット。