第 8 章
This presentation is the property of its rightful owner.
Sponsored Links
1 / 41

第 8 章 PowerPoint PPT Presentation


  • 139 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

第 8 章

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


8

第 8 章

中斷 (Interrupt) 的原理


8

本章提要

  • Interrupt 中斷

  • Interrupt 的原理

  • 自己寫一個 int 服務程式

  • 更改中斷服務程式

  • PC 鍵盤的工作原理

  • 各種按鍵組合


80x86

80x86 的中斷機能


Interrupt

Interrupt 的來源


Interrupt1

Interrupt 的原理

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

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


8

中斷向量表


Debug t

DEBUG 的 T 命令


Debug t1

DEBUG 的 T 命令


Int isr

int 服務程式 ISR 的寫法


8

實驗與觀察


Dos 25 h

DOS 的 25H 功能呼叫


Dos 35 h

DOS 的 35H 功能呼叫


8

中斷向量程式例


8

中斷向量程式例


8

中斷向量程式例


8

更改中斷服務程式


8

更改中斷服務程式


8

PC 鍵盤的工作原理

  • 8042 與掃瞄碼

  • 鍵盤與主機的溝通

  • reset 讀鍵線路

  • 對 8259A 送 EOI 訊號


8

8042 與掃瞄碼


8

8042 與掃瞄碼


8

8042 與掃瞄碼


8

8042 與掃瞄碼


8

8042 與掃瞄碼


8

8042 與掃瞄碼


8

鍵盤與主機的溝通


8

鍵盤與主機的溝通


Reset

reset 讀鍵線路

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


8259 a eoi

對 8259A 送 EOI 訊號

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


8

鍵盤緩衝區


8

擴大鍵盤緩衝區


8

緩衝區的構造

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


8

緩衝區的構造


Circular queue

Circular queue


Circular queue1

Circular queue


Int 16h bios

int 16h BIOS 中斷

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


8

鍵盤的擴展碼


8

鍵盤的擴展碼


8

鍵盤的擴展碼


8

特殊控制鍵


8

特殊控制鍵


8

特殊控制鍵


  • Login