ブートローダーについて調べています。つまり、VB (vdi ディスク) で実行される Nasm を使用して単純なブートローダーを作成しようとしています。今のところ、テスト目的で仮想ボックス環境をセットアップし、絶対アドレス (HXD 16 進エディター) 0x2000 に存在する MBR を正常にロードしました。しかし今、私は MBR (0x2200 ビッグ エンディアン) の外に飛び出し、そこにあるコードを実行したいと考えています (以下のスニペットは仕事をしません)。Nasm ディレクティブ [org 0x7C00] を使用していますが、ジャンプを行うときにこのオフセットを使用する必要がありますか?
[BITS 16]
[org 0x7C00]
%define location 0x0022
start:
mov al, 0x12
mov ah, 0
int 0x10
jmp location:0000
TIMES 510 - ($ - $$) db 0
DW 0xAA55
これは vdi からの 16 進ビューです (2000h は MBR の開始場所、2200h はジャンプしたい場所です):