トップ->アセンブラ入門

あなたは

人目のアセンブラの受講生です。

アセンブラ入門内検索

目次
アセンブラトップ
0. はじめに

1. 基礎
   1. レジスタとは
   2. セグメントとは

2. MOV命令
   1. MOV命令
   2. コンパイル
   3. 即値の転送
   4. メモリーへの転送
   5. データ定義疑似命令
   6. 練習問題

3. 算術演算
   1. 符号なし演算と符号付き演算
   2. 足し算
   3. 練習問題
   4. フラグ
   5. 引き算
   6. かけ算
   7. わり算
   8. INC,DEC

4. 分岐
   1. 無条件分離
   2. 比較命令
   3. 条件分離
   4. 練習問題
   5. ループ
   6. サブルーチン
   7. スタックとは
   8. PUSH,POP
   9. 練習問題

5. 論理演算
   1. AND命令
   2. OR命令
   3. XOR命令
   4. NOT命令
   5. NEG命令
   6. TEST命令
   7. 練習問題

6. シフト演算
   1. シフト
   2. ローテート
   3. 練習問題1
   4. 練習問題2

7. ストリング命令
   1. ストリング命令とは
   2. MOVS?
   3. REP
   4. DFの設定
   5. LODS?
   6. STOS?
   7. SCAS?
   8. CMPS?
   9 .練習問題

8. 入出力
   1. 概要
   2. IN命令
   3. OUT命令
   4. INS,OUTS命令

9. その他
   1. LEA
   2. XCHG
   3. NOP

10. 割り込み
   1. 割り込みとは
   2. ソフトウェア割り込み
   3. ハードウェア割り込み
   4. 割り込みベクター
   5. 割り込み処理の作り方
   6. 練習問題

11. レジスタの型変換(キャスト)

12. 卒業試験
   1. 卒業試験
   2. 画像データの格納形式
   3. インラインアセンブラ
   4. ネガポジ反転
   5. 明るくする、暗くする
   6. グレースケール
   7. 二値化
   8. 上下反転、左右反転
   9. 4分割
   10. モザイク
   11. シャープ
   12. ぼかし
   13. エンボス
   14. ディザ拡散
   15. 鉛筆を置いてください

13. 終わりに

文字コード

アセンブラ 〜MS-DOSの世界〜


・ このページの先頭に戻る
・ トップページに戻る



・ このページの先頭に戻る
・ トップページに戻る

トップ-> アセンブラ入門:10章.割り込み-> 10-3.ハードウェア割り込み

←前ページへ :  トップへ :  次ページへ→



10-3.ハードウェア割り込み

  コンピュータの周辺機器はたくさんあり、タイマーのように周辺機器とはユーザーが 認識していないものまで含まれている。そしてそれら周辺機器に操作が加えられたり、 周辺機器の操作が完了したり、異常が発生した場合に割り込みが発生する。しかし CPUには割り込みを受ける線は1本しかない。そこで割り込みコントローラーという ICが活躍する。

  この割り込みコントローラーはPC-9801(9821)シリーズ、DOS/Vパソコンともに、 8259(もしくはその互換チップ)というチップで、これは8台の機器がつなげる。 しかし8台では少ないので、上図のように8259を2つつなげて、15台の機器を管理している。 キーボードやタイマーなどは1つめの8259(マスターコントローラーという)につながっており、 マウスなどは2つめの8259(スレーブコントローラーという)につながっている。 (どこにつながっていてもプログラマーには関係ないんだけど)

  そして、各機器から割り込み要求があると、8259がCPUに「割り込みだよ!」と 知らせる。するとCPUは今実行している命令が終わると(ある処理が終わったらではなくて 命令が終わると)、8259に「誰から?」と訪ね答えを聞く。実際は割り込み番号を聞く。

  電話中に他の電話がかかってくると出られないのと一緒で、CPUも割り込み処理中は 他の割り込みを受け付けることができない。そこで8259に「今割り込み処理してるからね」 と教える。

  受け取った割り込み番号ごとに、実行すべき割り込み処理のプログラムが格納されている 場所がメモリー上に記録されており、そのアドレスを調べて割り込み処理をする。割り込み 処理が終わると8259に「割り込み処理がやっと終わったよ」と知らせる。もし、割り込み 処理中に他の割り込みがあると、8259はそれを覚えておいて、この時点でCPUに「また割り込み があったよ」と知らせて、CPUは割り込みをまた行う。もし割り込み処理中に新たな割り込みが なければ、それまでやっていた処理の続きを行う。

  なお、同時に複数の割り込みがあった場合は8259が優先度を決めて(8259につながっている 順番)CPUに知らせてくれる。


←前ページへ :  トップへ :  次ページへ→