0

DOSBox と nasm を使用しており、シリアル コードなどのハードディスク情報を取得するために int 13 を使用しようとしています。Int 13 には以下が必要です。

    AH=25h
    DL=(80h,81h) and 
    ES:BX-> 512 byte buffer for reply packet.

最終行の要件がまったくわかりません。助けはありますか?

例をいただければ幸いです。

4

2 に答える 2

2

レジスタは、データを受信するバッファのファー アドレスを提供します。バッファの長さは 512 バイトですesbx

于 2013-01-26T02:49:57.093 に答える
0

ご存じesのとおり、 bx16ビットレジスタです。

esはセグメント、bxはオフセットです。

それらを連結する[es:bx]と、データがディスクデバイスからコピーされる「バッファ」への完全な 32 ビットアドレス (AKA ポインタ) が得られます。

これがあなたのために働くはずのスニペットです:

xor ax,ax
mov ah,25h
mov dl,80; 81h is for write probably
mov bx,0h
mov es,0800h
int 13
于 2013-01-26T03:02:17.633 に答える