cと扱う割り込み
cは時々ある定義された機能のいくつかを使用して異なった割り込みを呼ぶことができるので高レベルアセンブリー言語と呼ばれる。 ある重要な機能は次の通りある:
- int86: MS-DOS割り込みを実施する。
- int86x: 区分の記録の価値のMS-DOS割り込みを実施する。
- intdos: DXおよびAL以外記録を使用してMS-DOSサービスを実施する
- intdosx: 区分の記録の価値のMS-DOSサービスを実施する。
- segread: 区分の記録を読む
私達はこれらの機能を詳しく論議する。 最初にすべての頻繁にあったりまたはこれらの機能と必ずしも使用した私達はあるあらかじめ定義された構造をおよび連合を論議する。
SREGSの構造
この構造はdos.hで定義され、それはに通じるおよび機能、int86x、intdosxおよびsegreadによって記入される区分の記録の構造である。 構造の宣言は次の通りある:
struct SREGS {
unsigned int es;
unsigned int cs;
unsigned int ss;
unsigned int ds;
};
REGS連合
REGSは2つの構造の連合である。 連合REGSは定義されたdos.hであり、機能、int86、int86x、intdosおよびintdosxに出入して情報を渡すことを使用する。 連合の宣言は次の通りある:
union REGS {
struct WORDREGS x;
struct BYTEREGS h;
};
BYTEREGSおよびWORDREGSの構造
BYTEREGESおよびWORDREGSの構造はdos.hで定義され、これらはバイトおよび単語の記録を貯えるために使用される。 WORGREGSの構造はユーザーがBYTEREGESの構造が個々の8ビット記録へのアクセスを与える16ビットの量としてCPUの記録にアクセスすることを可能にする。
BITEREGSの構造は次の通り宣言される:
struct BYTEREGS {
unsigned char al, ah, bl, bh;
unsigned char cl, ch, dl, dh;
};
そしてWORDREGSの構造は次の通り宣言される:
struct WORDREGS {
unsigned int ax, bx, cx, dx;
unsigned int si, di, cflag, flags;
};
|