FrontPage  Index  Search  Changes  RSS  wikifarm  Login

int10h,AX=1130h

カテゴリ

EGA-BIOS, DISP

機能

画面行数とキャラクタジェネレータ(フォント)へのポインタを読み取ります。

設定

レジスタ内容
AX1130h
BH読み出すポインタ
(下記参照)

ポインタの種類

BHポインタ
0int1Fh のベクタ
(8x8 dot 上位 128 文字)
1int43h のベクタ
(現在のフォントが 8x8 の時は下位 128 文字、8x8 でないときは 256 文字)
28x14 dot
38x8 dot
48x8 dot
(上位 128 文字)
59x14 dot
68x16 dot
79x16 dot

戻り値

レジスタ内容
CX現在の画面の文字の高さ(ドット単位)
DL現在の画面行数 -1
ES:BPキャラクタジェネレータへのポインタ

説明

テキスト画面の行数や文字のドット単位の高さを取得することができます。 しかし、BIOS データエリアから値を読み出してもかまいません。 EGA 以前のビデオカード(純粋な CGA, MDA とか)ではこのファンクション、ならびにワークエリアは未定義です。 これらの環境にも対応させる場合には注意が必要です。

ES:BP の値は英語モード時のみ有効です。 日本語モード時にこのファンクションを実行しても、おそらく英語フォントのポインタが返ってくるか、まったくとんでもない値が返るか、というところだと思われます。 ($DISP.SYS や JDISP.SYS では int43h の値は使えるようですが、これを前提にしてプログラムを組むことはおすすめできません)

本 BIOS コール呼び出し後は BP レジスタが変更されるため、高級言語から呼び出す際には何らかの対策が必要になるでしょう。