0

フロッピー イメージの 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
4

1 に答える 1

0

実際、フロッピーは 2 ヘッドであるため、シリンダーには 36 のセクターがあります。生の .img は、セクターを順番に交互に格納します。

HTS 001 002 ... 0018 101 ...

于 2013-11-16T20:15:14.917 に答える