INT 13時間

INT 13hは、 x86ベース(IBM PC系)のコンピュータシステムにおける20番目の割り込みベクターであるBIOS割り込み呼び出し13 hexの略称です。BIOSは通常、このベクターにリアルモード割り込みハンドラを設定し、シリンダヘッドセクター(CHS)アドレス指定を用いたセクターベースのハードディスクおよびフロッピーディスクの読み取りおよび書き込みサービスを提供します。現代のPC BIOSには、1992年にIBMとMicrosoftによって開発されたINT 13h拡張機能も含まれており、64ビットLBAアドレス指定を用いた同様のディスクアクセスサービスを提供します。これらは若干の追加を経て、Phoenix Technologies社などによってEDD(Enhanced Disk Drive)BIOS拡張機能として準標準化されました。

INTはソフトウェア割り込みをトリガーするx86命令であり、13 hex は呼び出される割り込み番号 ( 16 進数値) です。

現代のコンピューターには、BIOS INT 13hとUEFIの両方の機能が搭載されており、同等のサービスに加え、それ以上の機能も提供します。ただし、UEFI Class 3はCSMを完全に削除しているため、INT 13hやその他の割り込みが利用できません。通常、UEFIドライバーはCHSアドレスではなくLBAアドレスを使用します

概要

DOSなどのリアルモードオペレーティングシステムでは、INT 13h を呼び出すと、コンピュータの ROM-BIOS コードにジャンプして低レベルディスクサービスが実行され、プログラムが物理セクターベースのディスク読み取りまたは書き込み操作を実行します。DOS では、これはハードディスクおよびフロッピーディスク用の組み込みブロックデバイスドライバの低レベルインターフェイスとして機能します。これにより、INT 25h と INT 26h は、DOS カーネル内のFATファイルシステムドライバに論理セクターの絶対ディスク読み取り/書き込み機能を提供できます。FATファイルシステムドライバは、 DOS API ( INT 21h ) 関数を通じてファイル関連の要求を処理します

Microsoft Windows NT派生製品 (NT4、2000、XP、Server 2003 など) やdosemuを使用するLinuxなどの保護モードのオペレーティング システムでは、OS が呼び出しをインターセプトし、それをオペレーティング システムのネイティブ ディスク I/O メカニズムに渡します。Windows 9xおよびWindows for Workgroups 3.11も、 32 ビット ディスク アクセスを使用する場合は BIOS ルーチンをバイパスします。低レベルのディスク アクセスを実行するほかに、INT 13h 呼び出しと関連する BIOS データ構造は、システムに接続されているディスク (またはその他のDASDデバイス)の種類と容量に関する情報も提供します。保護モードの OS が起動すると、BIOS からのその情報を使用してディスク ハードウェアを列挙し、OS が適切なディスク I/O ドライバーをロードして構成できるようにします。

オリジナルの BIOS リアルモード INT 13h インターフェイスは、一般に物理 CHS アドレス指定と呼ばれるものを使用して、最大約 8 GB のサイズのドライブをサポートします。この制限は、IBM PC/XTディスク ハードウェアのハードウェア インターフェイスに由来します。BIOS は、INT 13h 呼び出しで指定されたシリンダ ヘッド セクタ(CHS) アドレスを使用し、それをハードウェア インターフェイスに直接転送しました。BIOS で使用される CHS アドレス指定制限と ATA ハード ディスクで使用される異なる制限を組み合わせることで、約 504 MB というより小さな制限が課されました。BIOS と ATA の両方の CHS アドレス指定制限を組み合わせると (つまり、同時に適用されると)、アドレス指定できる 512 バイトのセクタの数は合計で約 504 MB になります。

504 MB の制限は、 CHS 変換によって克服されました。これは、BIOS が INT 13h インターフェースで架空の CHS ジオメトリをシミュレートし、ATA ドライブとはネイティブの論理 CHS ジオメトリを使用して通信する手法です。(504 MB の壁が近づく頃には、ATA ディスクは外部 ATA インターフェースで実際の物理ジオメトリ パラメータを表示しなくなっていました。) この変換により、BIOS は CHS アドレス指定を使用しながら、最大 8064 MB (BIOS CHS インターフェースのネイティブ容量のみ) の ATA ディスクを効率的にアドレス指定できるようになります。(ATA インターフェースのネイティブ CHS アドレス指定容量ははるかに大きいため、BIOS と ATA の CHS 制限の「干渉」がアドレス指定によって解決されると、問題となるのは BIOS の小さな制限のみになります。) CHS 変換は論理 CHS アドレス指定と呼ばれることもありますが、これは実際には誤った名称です。BIOS が開発された時点では、ATA CHS アドレスは既に物理アドレスではなく論理アドレスだったからです。 8064MBの制限は、INT 13hインターフェースで使用されるレジスタ値ベースの呼び出し規約と、後方互換性を維持するという目標の組み合わせから生じています。つまり、INT 13hに渡されるCHSアドレスのフォーマットやサイズを変更して、例えばシリンダ番号フィールドなどのフィールドにビットを追加することはできません。この制限は、1024シリンダ、256ヘッド、63セクタ、512バイトブロックを使用し、正確に7.875GiB(1024  ×  256  ×  63 × 12  ) のアドレス指定を可能にします。512 バイト)。このインターフェイスの互換性のないバージョンを提供する BIOS が一時的にいくつかありました。たとえば、AWARD AT BIOS と AMI 386sx BIOS は、シリンダ番号のビット 10 と 11 をレジスタ DH のビット 6 と 7 に配置することで、最大 4096 シリンダを処理できるように拡張されました。

MS-DOSの全バージョンMS-DOS 7Windows 95を含む)には、256ヘッド(レジスタ値0xFF)のディスクドライブの起動を妨げるバグがあるため、多くの最近のBIOSは最大255(0xFE)のヘッドでCHS変換マッピングを提供しており、[1] [2]、アドレス指定可能な合計空間はちょうど8032.5 MiB(約7.844 GiB)に減少しています。[3]

より大容量のディスクのアドレス指定をサポートするため、IBMとMicrosoftによってINT 13h拡張と呼ばれるインターフェースが導入され、後にPhoenix TechnologiesによってBIOS拡張ディスクドライブサービス(EDD)の一部として再公開され、若干の拡張が行われました。 [4] [5]このインターフェースは、INT 13hサービス内に、40hを超える機能番号を持つ64ビット論理ブロックアドレス(LBA)を使用する新しい関数を定義し、最大8 ZiBのアドレス指定を可能にします。(ATAドライブは、512バイトのセクター/ブロックサイズを想定すると、それぞれ最大128 GiBまたは128 PiBまでをサポートする28ビットまたは48ビットのLBAもサポートできます。)これは、元のINT 13hインターフェースのレジスタベースの呼び出し規約ではなく、情報パケットへのポインタを使用するため、「パケット」インターフェースと呼ばれます。このパケットは、インターフェースバージョン、データサイズ、およびLBAを含む非常に単純なデータ構造です。ソフトウェアの下位互換性を保つため、拡張機能は元の CHS 関数と並行して実装されており、同じドライブであっても両方のセットの関数の呼び出しを混在させることができます。ただし、CHS 関数はディスクの最初の 8064 MB を超えることはできません。

一部のキャッシュドライバは、アプリケーションからINT 13hを直接発行することでDOSがバイパスされたことを検出すると、バッファをフラッシュします。INT 13hによるダミーリードは、未知のキャッシュ(例えば再起動前)のキャッシュフラッシュを強制的に行うための方法の一つとして使用できます。[1] [2]

1990年から1991年頃のAMI BIOSは、ワードアラインメントされていないバッファを破棄します。一部のDOSおよび常駐プログラムでは、割り込みの有効化とレジスタが破壊されるため、PC DOSおよびMS-DOSではこれを防ぐための独自のフィルタがインストールされています。[6]

リストINT 13時間サービス

ドライブテーブル
DL = 00h1枚目のフロッピーディスク(「ドライブA:」)
DL = 01h2枚目のフロッピーディスク(「ドライブB:」)
DL = 02h3枚目のフロッピーディスク(「ドライブC:」)
. . .
DL = 7Fh128枚目のフロッピーディスク
DL = 80時間1台目のハードディスク
DL = 81時間2台目のハードディスク
DL = 82時間3番目のハードディスク
. . .
DL = E0hCD/DVD [要出典]、または97番目のハードディスク
. . .
DL = FFh128番目のハードディスク
機能表
AH = 00h ディスクシステムをリセットする
AH = 01h 最後のドライブ操作のステータスを取得する
AH = 02h ドライブからセクターを読み取る
AH = 03h ドライブにセクターを書き込む
AH = 04h セクターを検証する
AH = 05h フォーマットトラック
AH = 06h トラックをフォーマットし、不良セクタフラグを設定する
AH = 07h トラックからドライブをフォーマットする
AH = 08h ドライブパラメータの読み取り
AH = 09h高画質ディスクコントローラの初期化
AH = 0Ah高画質ドライブから長いセクターを読み取る
AH = 0Bh高画質ドライブに長いセクターを書き込む
AH = 0Ch高画質ドライブヘッドをシリンダーに移動
AH = 0Dh高画質ディスクドライブをリセットする
AH = 0EhPS/2コントローラ読み取りテスト
AH = 0FhPS/2コントローラー書き込みテスト
AH = 10時間高画質ドライブの準備ができているかどうかをテストする
AH = 11時間高画質ドライブの再調整
AH = 12時間PS/2コントローラ RAM テスト
AH = 13時間PS/2ドライブテスト
AH = 14時間高画質コントローラ診断
AH = 15時間 ドライブタイプの読み取り
AH = 16時間FDメディアの変更を検出
AH = 17時間FDフォーマットのメディア タイプを設定する (DOS バージョン 3.1 以前で使用)
AH = 18時間FDフォーマットのメディア タイプを設定する (DOS バージョン 3.2 以上で使用)
AH = 19時間 パークヘッズ
AH = 41時間外線拡張機能が利用可能かどうかをテストする
AH = 42時間外線ドライブからセクターを読み取る
AH = 43時間外線ドライブにセクターを書き込む
AH = 44時間外線セクターを検証する
AH = 45時間外線ドライブのロック/ロック解除
AH = 46時間外線ドライブの取り出し
AH = 47時間外線ドライブヘッドをセクターに移動
AH = 48時間外線ドライブパラメータの読み取り
AH = 49時間外線メディアの変更を検出
AH = 4Bh外線ドライブエミュレーションタイプの取得

2 番目の列が空の場合、関数はフロッピー ディスクとハード ディスクの両方に使用できます。

  • FD: フロッピー ディスクのみ。
  • HD: ハードディスクのみ。
  • PS/2: PS/2 システム上のハードディスクのみ。
  • EXT: 8 GBを超えるハード ドライブをサポートするために 1990 年代に作成されたINT 13h拡張機能の一部です。

INT 13h AH=00h: ディスクシステムをリセットする

パラメータ
ああ00時
ダウンロードドライブ(ビット 7 を設定すると、ハードディスクとフロッピー ディスクの両方がリセットされます)
結果
CFエラー時に設定
ああ戻りコード

INT 13h AH=01h: 最後のドライブ操作のステータスを取得する

パラメータ
ああ01時間
ダウンロードドライブ

フロッピードライブの場合はビット7=0、固定ドライブの場合はビット7=1

結果
ああ
戻りコード
00時成功
01時間無効なコマンド
02時間住所マークが見つかりません
03時書き込み保護されたディスクへの書き込み試行
04時間セクターが見つかりません
05時リセットに失敗しました
06時ディスク変更ライン「アクティブ」
07時ドライブパラメータアクティビティに失敗しました
8時DMAオーバーラン
9時64kb境界を越えてDMAを試みる
0Ah不良セクタが検出されました
0Bh不良シリンダ(トラック)が検出されました
0Chメディアタイプが見つかりません
0Dhセクター数が無効です
0え制御データアドレスマークが検出されました
0F時間DMA範囲外
10時間CRC/ECCデータエラー
11時間ECCがデータエラーを修正
20時間コントローラーの故障
40時間失敗を求める
80時間ドライブがタイムアウトしました。準備ができていないと思われます。
ああドライブの準備ができていません
BBh未定義のエラー
CCh書き込みエラー
午前0時ステータスエラー
FFhセンス操作に失敗しました
CFエラー時に設定、エラーがなければクリア

INT 13h AH=02h: ドライブからセクターを読み取る

パラメータ
ああ02時間
AL読み取りセクター数
CHシリンダー
CLセクタ
DH
ダウンロードドライブ
ES:BXバッファアドレスポインタ
結果
CFエラー時に設定、エラーがなければクリア
ああ戻りコード
AL実際のセクター読み取り数

備考

レジスタCXには、シリンダ番号(10ビット、可能な値は0~1023)とセクター番号(6ビット、可能な値は1~63)の両方が格納されます。シリンダビットとセクタービットの番号は以下のとおりです。

CX = ---CH--- ---CL---シリンダー:76543210 98セクター: 543210

翻訳例:

 CX := ( (シリンダ255 ) shl 8 )または( (シリンダ768 ) shr 2 )またはsector ;シリンダ:= ( ( CX$FF00 ) shr 8 )または( ( CX$C0 ) shl 2 ) sector := CX63 ;                                           

バッファのアドレス指定では、バッファ全体が指定されたセグメント内にあることを保証する必要があります。そう( BX + size_of_buffer ) <= 10000hでない場合、一部の BIOS またはハードウェア バージョンでは割り込みが失敗する可能性があります。

16セクター(= 2000hバイト)を読み取りたいとします。バッファはメモリアドレス4FF00hから始まります。メモリセグメンテーションを利用すると、レジスタ値を計算する方法はいくつかあります。例えば、以下の ようになります。

ES = セグメント = 4F00hBX = オフセット = 0F00h合計 = メモリアドレス = 4FF00h0F00h + 2000h = 2F00h <= 10000h なので、これは良い選択です。ES = セグメント = 4000hBX = オフセット = FF00h合計 = メモリアドレス = 4FF00hFF00h + 2000h = 11F00h > 10000h なので、良い選択ではないでしょう。

割り込み13hの機能02hは、ハードドライブの最初の16,450,560セクターのセクターのみを読み出すことができます。8GBを超えるセクターを読み出すには、INT 13h拡張機能の機能42hを使用する必要があります。代替手段としては、パーティション内のセクターを読み出すDOS割り込み25hがあります 。

コード例

 [ ORG 7c00h ] ; コードは 7c00h から始まりますxor ax , ax ; ds が 0 に設定されていることを確認しますmov ds , ax cld ; 値の入力を開始します: mov ah , 2h ; int13h 関数 2 mov al , 63 ; 63 セクターを読み取りますmov ch , 0 ; シリンダー番号 0 からmov cl , 2 ; セクター番号 2 - 2 番目のセクター (0 ではなく 1 から開始) mov dh , 0 ; ヘッド番号 0 xor bx , bx mov es , bx ; es は 0 である必要がありますmov bx , 7e00h ; 起点アドレス 7c00h から 512 バイトint 13h jmp 7e00h ; 次のセクターにジャンプします;このセクターを埋めて起動可能にするには、510 - ( $ - $$ ) db 0 dw 0AA55h を掛けます                                                         

このコード セクション (asm ファイルはここから始まる必要があります) の後にコードを記述すると、メモリにロードされて実行されます。

dl(ドライブ番号)を変更していないことに注目してください。これは、コンピュータが最初に起動した際に、dl が起動したドライブの番号に設定されるためです。したがって、起動したドライブから読み込みたいのであれば、dl を変更する必要はありません。ただし、qemuなどの一部のエミュレータでは、読み込み元のドライブを dl に指定する必要があります。

INT 13h AH=03h: ドライブにセクターを書き込む

パラメータ
ああ03時
AL書き込みセクター数
CH追跡
CLセクタ
DH
ダウンロードドライブ
ES:BXバッファアドレスポインタ
結果
CFエラー時に設定、エラーがなければクリア
ああ戻りコード
AL実際のセクター書き込み数

INT 13h AH=04h: ドライブのセクターを検証

パラメータ
ああ04時間
AL検証するセクター数
CH追跡
CLセクタ
DH
ダウンロードドライブ
ES:BXバッファアドレスポインタ
結果
CFエラー時に設定、エラーがなければクリア
ああ戻りコード
AL実際のセクター検証数

INT 13h AH=05h: トラックのフォーマット

パラメータ
ああ05時
ALフォーマットするセクター数
CH追跡
CLセクタ
DH
ダウンロードドライブ
ES:BXバッファアドレスポインタ
4バイトのアドレスフィールド
(PC/XT 286、AT、PS/1、PS/2に適用)
バイト意味許容値
1追跡
2
3セクタ
4バイト/セクター0=128、1~256、2~512、3~1024
結果
CFエラー時に設定、エラーがなければクリア
ああ戻りコード

INT 13h AH=06h: トラックをフォーマットし、不良セクタフラグを設定する

パラメータ
ああ06時
ALインターリーブ
CH追跡
CLセクタ
DH
ダウンロードドライブ
結果
CFエラー時に設定、エラーがなければクリア
ああ戻りコード

INT 13h AH=07h: トラックからドライブをフォーマットする

パラメータ
ああ07時
ALインターリーブ
CH追跡
CLセクタ
DH
ダウンロードドライブ
結果
CFエラー時に設定、エラーがなければクリア
ああ戻りコード

INT 13h AH=08h: ドライブパラメータの読み取り

パラメータ
レジスター
ああ08h = read_drive_parameters の機能番号
ダウンロードドライブインデックス(例:1番目のHDD = 80h)
ES:DI [7]バグのあるBIOSを回避するために0000h:0000hに設定する
結果
CFエラー時に設定、エラーがなければクリア
ああ戻りコード
ダウンロードハードディスクドライブの数
DH [7]ヘッドの論理的な最後のインデックス = number_of - 1 (インデックスは 0 から始まるため)
CX[7:6] [15:8] [7]シリンダの論理最終インデックス = number_of - 1 (インデックスは0から始まるため)

[5:0] [7]トラックあたりのセクターの論理的な最後のインデックス = number_of(インデックスが1から始まるため)

BL [7]ドライブの種類(AT/PS2フロッピーのみ)
ES:DI [7]ドライブパラメータテーブルへのポインタ(フロッピーディスクのみ)

備考

  • 機能 08h の論理値は、機能 48h の物理 CHS 値と異なる場合があります (異なる必要があります)。
  • 結果レジスタ CX にはシリンダーとセクター/トラックの両方の値が含まれます。機能 02h の注釈を参照してください。

INT 13h AH=09h: 初期ドライブペアの特性

パラメータ
ああ9時
ダウンロードドライブ
結果
CFエラー時に設定、エラーがなければクリア
ああ戻りコード

INT 13時間AH=0Ah: ドライブから長いセクターを読み取る

この関数と関数 02h (上記参照) の唯一の違いは、関数 0Ah ではセクターあたり 512 バイトではなく 516 バイトを読み取ることです。最後の 4 バイトには、セクター データのチェックサムであるエラー訂正コード (ECC) が含まれています。

INT 13時間 AH=41時間: 拡張機能の存在を確認する

パラメータ
レジスター説明
ああ41h = 拡張機能チェックの機能番号[8]
ダウンロードドライブインデックス(例:1番目のHDD = 80h)
BX55AAh
結果
レジスター説明
CF存在しない場合はオンに設定し、存在する場合はクリア
ああエラーコードまたはメジャーバージョン番号
BXAA55時間
CXインターフェースサポートビットマスク:
  • 1 – パケット構造を使用したデバイスアクセス
  • 2 – ドライブのロックと取り出し
  • 4 – 拡張ディスクドライブサポート(EDD)

INT 13時間 AH=42時間: ドライブからの拡張読み取りセクター

パラメータ
レジスター説明
ああ42h = 拡張読み取りの機能番号
ダウンロードドライブインデックス(例:1番目のHDD = 80h)
DS:SIセグメント:DAPへのオフセットポインタ(下記参照)
DAP: ディスクアドレスパケット
オフセット範囲サイズ説明
00時1バイトDAPのサイズ(これを10hに設定)
01時間1バイト未使用、ゼロにする必要があります
02時~03時2バイト読み取るセクター数(一部の Phoenix BIOS では最大 127 セクターに制限されています)
04時~07時4バイトセグメント:オフセット セクターが転送されるメモリ バッファへのポインタ (x86 はリトルエンディアンであることに注意してください。セグメントとオフセットを別々に宣言する場合は、オフセットをセグメントの前に宣言する必要があります)
08時~0F時8バイト論理ブロックアドレス指定を使用して読み取るセクターの開始の絶対番号(ドライブの最初のセクターは0番)(下位半分が上位半分より前に来ることに注意)[9]
結果
レジスター説明
CFエラー時に設定、エラーがなければクリア
ああ戻りコード

int 13h AH=02hで既に述べたように、完全なバッファが指定されたセグメント内にあることを確認する必要がありますつまり、(BX + size_of_buffer) <= 10000hです。

INT 13時間 AH=43時間: ドライブへの拡張書き込みセクター

パラメータ
レジスター説明
ああ43h = 拡張書き込みの機能番号
AL
  • ビット0 = 0: 書き込みチェックを閉じる、
  • ビット0 = 1: オープン書き込みチェック、
  • ビット1-7:予約済み、0に設定
ダウンロードドライブインデックス(例:1番目のHDD = 80h)
DS:SIセグメント:DAPへのオフセットポインタ
結果
レジスター説明
CFエラー時に設定、エラーがなければクリア
ああ戻りコード

INT 13時間 AH=48時間: 拡張読み取りドライブパラメータ

パラメータ
レジスター説明
ああ48h = extended_read_drive_parameters の機能番号
ダウンロードドライブインデックス(例:1番目のHDD = 80h)
DS:SIセグメント:オフセット 結果バッファへのポインタ(下記参照)
結果バッファ
オフセット範囲サイズ説明
00時~01時2バイト結果バッファのサイズ(これを1Ehに設定)
02時~03時2バイト情報フラグ
04時~07時4バイトシリンダの物理数 = 最後のインデックス + 1
(インデックスは 0 から始まるため)
08時..0B時4バイトヘッドの物理数 = 最後のインデックス + 1
(インデックスは 0 から始まるため)
0Ch..0Fh4バイトトラックあたりのセクターの物理数 = 最後のインデックス
(インデックスは1から始まるため)
10時~17時8バイトセクターの絶対数 = 最後のインデックス + 1
(インデックスは 0 から始まるため)
18時~19時2バイトセクターあたりのバイト数
1Ah..1Dh4バイト後続の割り込み 13h 拡張呼び出しに使用できる拡張ディスク ドライブ (EDD) 構成パラメータへのオプションのポインタ (サポートされている場合)
結果
レジスター説明
CFエラー時に設定、エラーがなければクリア
ああ戻りコード

述べる

機能 48h の物理 CHS 値は、機能 08h の論理値と異なる場合があります (異なる必要があります)。

INT 13h AH=4Bh: ドライブエミュレーションタイプの取得

パラメータ
登録者説明
ああ4Bh = ドライブエミュレーションタイプを取得
AL01
ダウンロードドライブインデックス(例:1番目のHDD = 80h)
DS:SI結果の空の構造体を指します。サイズは13hである必要があります。
結果
レジスター説明
CFエラー時に設定、エラーがなければクリア
戻りコード
DS:SI仕様構造を指す
仕様構造
オフセットサイズ(バイト)説明
00時1パケットのサイズ(バイト単位)(13h)
01時間1ブートメディアタイプ:
ビット
0 - 30000b: エミュレーションなし

0001b: 1.2Mフロッピーディスク

0010b: 1.44Mフロッピーディスク

0011b: 2.88Mフロッピーディスク

0100b: ハードディスク

4-5予約済み
6イメージにはATAPIドライバが含まれています
7イメージにはSCSIドライバが含まれています
02時間1ドライブ番号(ドライブインデックス)
03時1CD-ROMコントローラ番号
04時間4エミュレートするディスクイメージの論理ブロックアドレス(LBA)
8時2デバイス仕様:

ビット0: ドライブはマスターではなくスレーブです

ビット7-0: LUNとPUN

0Ah2CD-ROM 読み取りキャッシュ用の 3K バッファのセグメント
0Ch27c0h セグメントから始まる初期ブートイメージ セグメント
0え2ロードするセクター数(512バイト長)
10時間1シリンダー数下位バイト(int 8hから)
11時間1セクター数(int 8hから)
12時間1ヘッドカウント(int 8hから)

参照

参考文献

  1. ^ ab Brown, Ralf D. (2000-07-16). 「Ralf Browns Interrupt List (v61 html)」. 2016年11月3日閲覧。
  2. ^ ab Brown, Ralf D. (2000-07-16). 「x86割り込みリスト(v61オリジナルテキスト)アーカイブ: "inter61a.zip"、サブファイル: "INTERRUP.B"、見出し: "B-1302" (INT13, 02 Read)、注釈」2016年11月3日閲覧。
  3. ^ ディスクサイズの制限、8.4 GB の制限(およびその他)
  4. ^ Stevens, Curtis (1995年1月26日). 「Enhanced Disk Drive Specification 1.1 -DRAFT- Phoenix Technologies、3.0 BIOS Extensions(登録必要)を参照」(PDF) . 2016年11月3日閲覧
  5. ^ Landis, Hale (1995年2月11日). 「BIOSタイプ、CHS変換、LBA、その他の便利な情報については、BIOSタイプ6のPhoenix Enhanced Disk Drive仕様を参照してください。(登録が必要です)」(PDF) . 2016年11月3日閲覧
  6. ^ ctyme.com - Ralf Browns 割り込みリスト、インデックス付き HTML、ディスク - セクターをメモリに読み込む
  7. ^ abcdef ctyme.com - ディスク - ドライブパラメータの取得 (PC、XT286、CONV、PS、ESDI、SCSI)
  8. ^ ctyme.com - IBM/MS INT 13 拡張機能 - インストールチェック
  9. ^ - 拡張モードのLBA
  • BIOS 割り込み 13h 拡張 Archived 2006-02-06 at the Wayback Machine
  • ラルフ・ブラウンの包括的な割り込みリスト
  • int 13h, ah = 00h .. 1ah に関する Norton ガイド Archived 2008-06-27 at the Wayback Machine
「https://en.wikipedia.org/w/index.php?title=INT_13H&oldid=1312499562」より取得