フロッピー イメージの 2 番目のシリンダーのセクターに書き込もうとしています。テストのために、2 番目のシリンダーの最初のセクターに 1 ~ 9 の数字を書き込んでみました。
ロジックは、シリンダーに 18 セクターがあり、各セクターが 512 バイトである場合、この結果はバイト 9216/0x2400 (最初のシリンダーの 18 番目のセクターであるバイト 8704/0x2200 に続く) に表示されるはずです。奇妙なことにhexdump
、シーケンスで結果を確認した後、代わりにバイト 18432/0x4800 に存在します。
フロッピーの 1 番目と 2 番目のシリンダーが (アセンブリ プログラムの観点から) 連続していない理由を理解したいと思います。
NASM アセンブリ プログラム:
org 7c00h
jmp begin
data db 1,2,3,4,5,6,7,8,9
begin:
mov ax, 0
mov es, ax
mov bx, data
mov al, 1
mov ah, 3
mov dh, 0
mov dl, 0
mov ch, 1
mov cl, 1
int 13h