int86およびint86x機能
これらの機能は希望値にdos.h.の記録で定義される大将8086ソフトウェア割り込みインターフェイス置かれるであり、MS-DOS割り込みを実施するためにこれらの機能は呼ばれる。 int86機能の宣言は次の通りある:
int int86(int intno, union REGS *inregs,
union REGS *outregs);
int86xはint86機能の変化である。 次の通り宣言される:
int int86x(int intno, union REGS *inregs,
union REGS *outregs, struct SREGS *segregs);
機能int86およびint86xは両方議論のintnoによって指定される8086ソフトウェア割り込みを実行するまたは私達は発生するべき割り込みがintnoによって指定されることを言ってもいい。
int86x機能によってアクセスはESおよびdsだけとないCSおよびssに可能である従ってデフォルトのデータセグメントと別のdsの価値を取ったりおよび/またはESの議論を取る8086ソフトウェア割り込みを実施できる。
これらの機能はソフトウェア割り込みの実行の前に記録にinregsからの記録の価値をコピーする。 機能int86xはまた対応する記録にソフトウェア割り込みを実行する前にsegregs->dsおよびsegregs->esの価値をコピーする。 この特徴は遠いポインターか大きいデータ記憶モデルをどの区分がソフトウェア割り込みに使用するべきであるか指定するのに使用するプログラムを可能にする。
機能はoutregs、outregsのx.cflag分野への運送旗の状態に現在の記録の価値をコピーし、8086旗の価値はoutregsのx.flags分野にソフトウェア割り込みが戻った後、登録する。 機能int86xはまたdsを元通りにし、segregs->esを置き、対応する区分の価値へのsegregs->ds分野は登録する。
機能inregsは同じ構造をおよびoutregs両方で指すことができ、機能は両方ともソフトウェア割り込みの完了の後で斧の価値を戻す。 運送旗が置かれれば、間違いが生じたことを通常示す。
|