割込みプログラムで特徴的な使用コマンド例を上げてみたいと思います。
割込み許可のSTI(セットインタラプト) そして割込み禁止のCLI(クリアインタラプト)命令です。
割込み動作中には他の割込み受付を一時的に停止してやらなければならない「ダークタイム」が存在します。
処理途中の割込みプログラム動作中に他の割込みが入ったりすると、使っている一時変数が壊されて動作がおかしくなってしまいます。
割込みレベル(優先順位)がちゃんと順番どおりスタックメモリーにちゃんと格納されて安全な領域になるまで他のプログラムの動作実行を禁止(優先的に処理)する命令がちゃんと準備されています。
なおこの許可と禁止命令は限られた時間内に処理を終えるよう正しく使わないと、反応レスポンスが悪い設計となるので、慎重かつ正しく記述しないといけません。
なおMS-DOSには存在するこのような記述方式は、マルチタスクOSのWindowsには存在しません。(絶対番地指定ももちろんありません)
こうしたハードを直接アクセスするプログラム形式は「お行儀の悪い」…いってみれば「おやつのツマミ食い」的なスパゲッティ方式と呼ばれ、後のメンテナンスや拡張性に大きな負担となることから、プログラム記述の共通スタイル=Windowsフォームが展開されてきたわけです。
現代Windowsではデバイスドライバプログラム、がこの相当部分の役目になるのですね。
割込み許可のSTI(セットインタラプト) そして割込み禁止のCLI(クリアインタラプト)命令です。
割込み動作中には他の割込み受付を一時的に停止してやらなければならない「ダークタイム」が存在します。
処理途中の割込みプログラム動作中に他の割込みが入ったりすると、使っている一時変数が壊されて動作がおかしくなってしまいます。
割込みレベル(優先順位)がちゃんと順番どおりスタックメモリーにちゃんと格納されて安全な領域になるまで他のプログラムの動作実行を禁止(優先的に処理)する命令がちゃんと準備されています。
なおこの許可と禁止命令は限られた時間内に処理を終えるよう正しく使わないと、反応レスポンスが悪い設計となるので、慎重かつ正しく記述しないといけません。
なおMS-DOSには存在するこのような記述方式は、マルチタスクOSのWindowsには存在しません。(絶対番地指定ももちろんありません)
こうしたハードを直接アクセスするプログラム形式は「お行儀の悪い」…いってみれば「おやつのツマミ食い」的なスパゲッティ方式と呼ばれ、後のメンテナンスや拡張性に大きな負担となることから、プログラム記述の共通スタイル=Windowsフォームが展開されてきたわけです。
現代Windowsではデバイスドライバプログラム、がこの相当部分の役目になるのですね。
PR