-

「Functions HI-TECH C INT86」の版間の差分

提供: HI-TECH C for CP/M Fan WIKI(JP)
移動先: 案内検索
(ページの作成:「<strong>INT86, INT86X, INTDOS, INTDOSX</strong> ==概要== #include <dos.h> int int86(int intno, union REGS * inregs, union REGS * outregs) int int86x(int intno, un...」)
 
(相違点なし)

2017年12月30日 (土) 07:06時点における最新版

INT86, INT86X, INTDOS, INTDOSX

概要

#include  <dos.h>
int int86(int intno, union REGS * inregs, union REGS * outregs)
int int86x(int intno, union REGS inregs, union REGS outregs, struct SREGS * segregs)
int intdos(union REGS * inregs, union REGS * outregs)
int intdosx(union REGS * inregs, union REGS * outregs, struct SREGS * segregs)


詳細

これらの関数はCプログラムからのソフトウェア割り込みを許可します。Int86() とint86x()はintno で指定されたソフトウェア割り込みを実行しますが、


intdos() とintdosx() は割り込み番号21hのMS-DOSシステムコール割り込みを実行します。 inregsポインタは設定されるべき汎用レジスタを持つ共用体へのポインタを示さなくてはいけません。値を返す際のレジスタの値はoutregsによって示される共用体にコピーされます。

x のついたバージョンは、ESとDSのみがこの構造体によって実際にセットされるのですが、 割り込み実施の際にセグメントレジスタの値を設定した共用体へのポインタを取る呼び出しです??

参照

segread