第 8 章

41
第 8 第 第第 (Interrupt) 第第第

description

第 8 章. 中斷 ( Interrupt) 的原理. 本章提要. Interrupt 中斷 Interrupt 的原理 自己寫一個 int 服務程式 更改中斷服務程式 PC 鍵盤的工作原理 各種按鍵組合. 80x86 的中斷機能. Interrupt 的來源. Interrupt 的原理. 80 x86 是以編號來指定服務程式的, 例如 int 21h 就是指定 80 x86 暫停 (中斷) 目前工作而去執行第 21 h 號服務程式。 80x86 的中斷指令格式如下:. 中斷向量表. DEBUG 的 T 命令. - PowerPoint PPT Presentation

Transcript of 第 8 章

Page 1: 第 8 章

第 8 章

中斷 (Interrupt) 的原理

Page 2: 第 8 章

本章提要

Interrupt 中斷 Interrupt 的原理 自己寫一個 int 服務程式 更改中斷服務程式 PC 鍵盤的工作原理 各種按鍵組合

Page 3: 第 8 章

80x86 的中斷機能

Page 4: 第 8 章

Interrupt 的來源

Page 5: 第 8 章

Interrupt 的原理

80x86 是以編號來指定服務程式的 , 例如 int 21h 就是指定 80x86 暫停 ( 中斷 ) 目前工作而去執行第 21h 號服務程式。

80x86 的中斷指令格式如下:

Page 6: 第 8 章

中斷向量表

Page 7: 第 8 章

DEBUG 的 T 命令

Page 8: 第 8 章

DEBUG 的 T 命令

Page 9: 第 8 章

int 服務程式 ISR 的寫法

Page 10: 第 8 章

實驗與觀察

Page 11: 第 8 章

DOS 的 25H 功能呼叫

Page 12: 第 8 章

DOS 的 35H 功能呼叫

Page 13: 第 8 章

中斷向量程式例

Page 14: 第 8 章

中斷向量程式例

Page 15: 第 8 章

中斷向量程式例

Page 16: 第 8 章

更改中斷服務程式

Page 17: 第 8 章

更改中斷服務程式

Page 18: 第 8 章

PC 鍵盤的工作原理

8042 與掃瞄碼 鍵盤與主機的溝通 reset 讀鍵線路 對 8259A 送 EOI 訊號

Page 19: 第 8 章

8042 與掃瞄碼

Page 20: 第 8 章

8042 與掃瞄碼

Page 21: 第 8 章

8042 與掃瞄碼

Page 22: 第 8 章

8042 與掃瞄碼

Page 23: 第 8 章

8042 與掃瞄碼

Page 24: 第 8 章

8042 與掃瞄碼

Page 25: 第 8 章

鍵盤與主機的溝通

Page 26: 第 8 章

鍵盤與主機的溝通

Page 27: 第 8 章

reset 讀鍵線路

由 60h 的 port_A 讀走字鍵後 , 必須把主機的讀鍵硬體線路 Reset, 這樣主機才能再讀取下一個鍵 , 此段動作的 BIOS 碼為:

Page 28: 第 8 章

對 8259A 送 EOI 訊號

所有硬體中斷都經由 8259A 處理 , 當中斷結束時 , 必須對 8259A 送出一個中斷結束 (EOI) 訊號:

Page 29: 第 8 章

鍵盤緩衝區

Page 30: 第 8 章

擴大鍵盤緩衝區

Page 31: 第 8 章

緩衝區的構造

以所謂的:圓型貯列 (circular queue) 組織成的:

Page 32: 第 8 章

緩衝區的構造

Page 33: 第 8 章

Circular queue

Page 34: 第 8 章

Circular queue

Page 35: 第 8 章

int 16h BIOS 中斷

PC 的 BIOS 提供了 int 16h 中斷來讀 buffer 內的字鍵。整個 keyboard 的 I/O 過程是:

Page 36: 第 8 章

鍵盤的擴展碼

Page 37: 第 8 章

鍵盤的擴展碼

Page 38: 第 8 章

鍵盤的擴展碼

Page 39: 第 8 章

特殊控制鍵

Page 40: 第 8 章

特殊控制鍵

Page 41: 第 8 章

特殊控制鍵