410 likes | 677 Views
第 8 章. 中斷 ( Interrupt) 的原理. 本章提要. Interrupt 中斷 Interrupt 的原理 自己寫一個 int 服務程式 更改中斷服務程式 PC 鍵盤的工作原理 各種按鍵組合. 80x86 的中斷機能. Interrupt 的來源. Interrupt 的原理. 80 x86 是以編號來指定服務程式的, 例如 int 21h 就是指定 80 x86 暫停 (中斷) 目前工作而去執行第 21 h 號服務程式。 80x86 的中斷指令格式如下:. 中斷向量表. DEBUG 的 T 命令.
E N D
第 8 章 中斷 (Interrupt) 的原理
本章提要 • Interrupt 中斷 • Interrupt 的原理 • 自己寫一個 int 服務程式 • 更改中斷服務程式 • PC 鍵盤的工作原理 • 各種按鍵組合
Interrupt 的原理 • 80x86 是以編號來指定服務程式的, 例如 int 21h 就是指定 80x86 暫停 (中斷) 目前工作而去執行第 21h 號服務程式。 • 80x86 的中斷指令格式如下:
PC 鍵盤的工作原理 • 8042 與掃瞄碼 • 鍵盤與主機的溝通 • reset 讀鍵線路 • 對 8259A 送 EOI 訊號
reset 讀鍵線路 • 由 60h 的 port_A 讀走字鍵後, 必須把主機的讀鍵硬體線路 Reset, 這樣主機才能再讀取下一個鍵, 此段動作的 BIOS 碼為:
對 8259A 送 EOI 訊號 • 所有硬體中斷都經由 8259A 處理, 當中斷結束時, 必須對 8259A 送出一個中斷結束 (EOI) 訊號:
緩衝區的構造 • 以所謂的:圓型貯列 (circular queue) 組織成的:
int 16h BIOS 中斷 • PC 的 BIOS 提供了 int 16h 中斷來讀 buffer 內的字鍵。整個 keyboard 的 I/O 過程是: