指定位置に、属性入りの文字列を書き込みます。
設定戻り値
- ES:BP
- 文字列の先頭ポインタ
- CX
- 書き込む文字数
- DL
- 書き込む先頭の桁位置(X 座標)
- DH
- 書き込む先頭の行位置(Y 座標)
- BH
- ページ番号
なし
このファンクションは、日本語テキストモードでのみ有効です。 BH は 0 のみが有効です。
ES:BP から始まる文字列は、文字コードと属性の対になったものです。 (Int 10h, ax=1302h を参照してください)
Int 10h, ax=1302h との違いとして、制御文字コード(int 10h, ah=0eh 参照)が文字としてそのまま表示される点があります。 そのほかには、画面の表示範囲をこえる文字数を表示させようとした場合、文字表示は画面内の部分だけで打ち切られ、スクロールは行われません。 (ついでにいえば、おそらくこのファンクションの方が処理速度も速い)
ところで手元にある Interrupt List (Release 54) の int 10h, ah=13h の説明には int 10h, ax=1320h のことが(あと ax=1321h も)載っておらず、かわりに ax=1312h と ax=1313h が使えると書いてありました。 IBM の技術解説書と食い違う記述なので念のため調べてみたのですが少なくとも PC DOS 6.3/V の $DISP.SYS では ax=1313h, 1314h ではまったく動きませんでした(Windows95 付属の JDISP.SYS や OS/2 の DOS/V 全画面でも)。 個人的には、この情報の元がすこし気になるところです。
Int 10h, ax=1302h
Int 10h, ax=1310h
Int 10h, ax=1321h