第七章輸入輸出接口_第1頁
第七章輸入輸出接口_第2頁
第七章輸入輸出接口_第3頁
第七章輸入輸出接口_第4頁
第七章輸入輸出接口_第5頁
已閱讀5頁,還剩170頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第七章輸入輸出接口7.1輸入輸出接口基礎7.2中斷系統7.3DMA傳送和DMA控制器82377.4主機板上的計時計數邏輯7 輸入輸出(I/O)接口運算器控制器CPU存儲器輸出設備I/O接口輸入設備A.BUSD.BUSC.BUSCPUI/O設備I/O接口7 輸入輸出(I/O)接口基本概念I/O接口: 是介于CPU和I/O設備之間,把CPU和I/O設備連接起來,是CPU和I/O設備的橋梁。 CPU和I/O設備通過I/O接口進行信息交換,從而協調一致工作。7 輸入輸出(I/O)接口總線控制邏輯ROMRAM協處理器RT/COMSRAMI/O接口板組鍵盤磁盤驅動器網卡CRT顯示器打印機微處理器MODEM鼠標主機板系統總線微機系統硬件組成圖7 輸入輸出(I/O)接口在主機板上,與I/O接口有關的邏輯包括:

1.支持訪問擴充板上存儲器操作的邏輯2.支持執行輸入輸出指令的邏輯3.支持外部中斷方式的以8259為核心的中斷控制邏輯4.支持存儲器直接讀寫(DMA)操作的以8237為核心組成的DMA控制邏輯這些邏輯是總線控制邏輯組成部分。7 輸入輸出(I/O)接口CPUI/O設備總線控制邏輯I/O插槽I/O接口I/O接口板組這些邏輯,一側與CPU相連,受CPU控制和管理,另一側形成系統總線接到擴充插槽的節點上,與I/O接口板組相連。注:I/O接口在主機板上。7.1輸入輸出(I/O)接口基礎I/O接口的幾個基本問題:數據輸入輸出的基本方式2.I/O接口的結構3.I/O指令要求的接口邏輯7.1.1輸入輸出(I/O)的基本方式基本概念:I/O端口:CPUI/O設備寄存器寄存器寄存器寄存器…….I/O接口CPUI/O設備I/O接口7.1.1輸入輸出(I/O)的基本方式CPUI/O設備I/O端口I/O端口I/O端口I/O端口…….I/O接口每一個I/O端口都是一個8位寄存器,都有唯一的一個地址(I/O地址范圍0000~03FF即0~1023,這與內存物理地址相似),CPU通過I/O端口與I/O外設進行通信。CPU可以從I/O端口讀入數據(IN指令),也可以向I/O端口輸出數據(OUT指令)。0000H0001H03FFH7.1.1CPU與I/O設備通信通信過程輸入過程I/O外設把數據送到I/O接口I/O接口通過端口把數據送進CPU輸出過程CPU把數據送到I/O接口I/O外設從I/O接口中的端口中取數據可見,CPU和I/O接口之間通信是通過I/O端口進行的。7.1.1輸入輸出(I/O)的基本方式CPUI/O設備AX/ALI/O端口I/O端口I/O端口I/O端口…….I/O接口格式:INAL/AX,SRC功能:CPU從指定端口讀入數據,送到AL或AX7.1.1輸入輸出(I/O)的基本方式格式:INAL/AX,SRC;不影響標志位功能:CPU從端口(寄存器)讀入數據,送到AL或AXSRC有兩種尋址方式:直接尋址。SRC為端口地址,其范圍為00H~FFH(0~255)

如: INAL,28H INAX,0F0H(AL)([28H])(AX)([F1H]:[F0H])2.間接尋址。當端口地址大于FFH,即>255時候,要通過寄存器DX進行數據傳遞。 如: MOVDX,100H;100H=256>255 INAX, DX(AX)([101H]:[100H])7.1.1輸入輸出(I/O)的基本方式CPUI/O設備AX/ALI/O端口I/O端口I/O端口I/O端口…….I/O接口格式:OUTDST,AL/AX功能:CPU把AL或AX中的數據送到指定端口7.1.1輸入輸出(I/O)的基本方式格式:OUTDST,AL/AX;不影響標志位功能:CPU從AL或AX輸出數據,送到端口(即寄存器里)DST有兩種尋址方式:直接尋址。DST為端口地址,其范圍為00H~FFH(0~255)

如: OUT28H,AL OUTF0H,AX([28H])(AL)

([F1H]:[F0H])(AX)

2.間接尋址。當端口地址大于FFH,即>255時候,要通過寄存器DX進行數據傳遞。 如: MOVDX,03FDH;3FDH=1021>255 OUTDX,AX ([3FEH]:[3FDH])(AX)

7.1.1輸入輸出(I/O)的基本方式輸入輸出同步問題CPU與外設之間,如何向對方提供聯絡信息,并以什么方式響應和處理對方提供的聯絡信息。當多個外設同時要求與CPU交換信息時,以什么策略解決多個外設傳輸請求。

7.1.1數據輸入輸出基本方式CPU與I/O設備之間傳輸信息的三種基本方式:程序直接控制傳送方式(查詢方式)程序中斷控制傳送方式(中斷方式)存儲器直接存取方式(DMA方式)CPUI/O設備I/O接口可實現CPU與I/O設備之間數據信息、狀態信息和命令信息的傳輸。程序直接控制傳送方式(查詢方式)

查詢方式查詢方式是CPU在向接口輸入或輸出數據時,主動去檢查I/O外設是否“準備好”,只有當確認I/O外設已具備傳輸條件后,才進行數據交換。輸入狀態信息準備好了?輸入數據查詢輸入方式流程圖NY狀態端口地址:STATUSPORT數據端口地址:DATAPORT狀態口的D7位為接口“準備好”位AGAIN:INAL,STATUSPORTANDAL,80H

JZAGAININAL,DATAPORT程序直接控制傳送方式(查詢方式)

查詢方式顯然,在查詢方式下,CPU需要花費許多時間來查詢外設的狀態,并等外設進行數據傳輸的準備。

優點:不需要增加額外的硬件電路,易于實現。

缺點:CPU工作效率很低程序中斷控制方式(中斷方式)程序中斷:指主機在運行程序時,出現了特殊情況,暫時停止執行正在運行的程序,轉到另一段處理特殊情況的程序(中斷處理子程序),等特殊情況處理程序執行完后,返回到被暫時停止的程序接著運行。內部中斷(軟件中斷)外部中斷(硬件中斷)特殊情況就是中斷。中斷中斷處理子程序中斷請求主機運行程序類似于主程序調用子程序程序中斷控制方式(中斷方式)

程序中斷控制方式:

借助于CPU響應外中斷的能力,實現輸入輸出的控制。

當外設需要向CPU傳輸數據或者從CPU接收數據時候,首先向 CPU產生一個中斷請求,然后CPU相應此請求,從而執行中斷處理子程序,進行數據的傳輸。當然,數據的傳輸仍然是靠IN或者OUT指令來完成的。程序中斷控制方式(中斷方式)

程序中斷控制方式特點:1.雖然程序中斷功能參與了控制,但數據的傳輸仍然要靠IN或者OUT指令來完成。2.外設要求與 CPU傳輸數據的狀態信息,不是用指令輸入和測試的,而是從CPU的中斷請求輸入端直接加入的。中斷控制輸入輸出是靠硬件和軟件相配合來實現的。不需要進行查詢,避免了用指令查詢外設狀態造成的大量時間浪費提高了CPU的時間利用率。需要有專門的接口邏輯電路——中斷控制器。程序中斷控制方式(中斷方式)

程序中斷控制方式:在外設沒有準備好時候,CPU可以運行與數據傳輸無關的其他指令。外設準備好后,主動向CPU請求中斷, CPU響應這一請求,暫停正在運行的程序而運行與外設進行數據傳輸的中斷處理程序。由此可見,中斷方式是CPU和外設進行I/O傳輸的有效方式,它可以避免因反復查詢外設的狀態而浪費時間,提高了CPU的工作效率。存儲器直接存取方式(DMA方式)

DMA:在外設和存儲器(內存)之間開辟直接的數據傳輸通道,數據傳輸不靠執行I/O指令,數據不經過CPU的任何寄存器,不破壞任何寄存器原有內容,在存儲器與外設之間的通路上直接傳輸數據。這種I/O方式的實現主要靠硬件的功能。在數據傳輸時沒有程序和指令的介入,但在數據傳輸前的準備工作,如傳輸涉及的存儲區的開始地址、要傳輸的字節數等參數,還是要用程序指令來實現的。適合大批量的數據傳輸。存儲器I/O接口I/O外設總線控制邏輯DMA控制器CPU系統總線7.1.2

輸入輸出接口的基本結構I/O接口包含硬件主機板上的接口邏輯;

系統總線;具體外設的接口邏輯。總線控制邏輯ROMRAM協處理器RT/COMSRAMI/O接口板組鍵盤磁盤驅動器網卡CRT顯示器打印機微處理器MODEM鼠標主機板系統總線7.1.2

輸入輸出接口的基本結構2.IBMPC系統提供的接口資源IBMPC/XT及其兼容機的基本配置包括:主機箱、鍵盤、CRT顯示器、打印機和軟、硬盤機。IBMPC系統為I/O接口提供的資源:

1.硬件接口資源 2.軟件接口資源7.1.2

輸入輸出接口的基本結構IBMPC系統為I/O接口提供的硬件資源:

(1)在擴充插槽上提供了系統級總線;(2)主機板上有鍵盤接口邏輯和揚聲器接口邏輯;(3)主機板上有以兩片8259為核心組成的中斷控制邏輯;(4)主機板上以兩片8237DMA控制器為核心組成的DMA傳送控制邏輯;(5)一片8254定時/計數器芯片;(6)基本配置的I/O接口卡:顯示器接口;兩個并行口;兩個RS232串行口;磁盤驅動器接口。7.1.2

輸入輸出接口的基本結構IBMPC系統為I/O接口提供的軟件資源: 1.DOS功能調用 2.BIOS功能調用7.1.2

輸入輸出接口的基本結構幾種常用的系統總線:

1.

最早的是IBMPC/XT系統總線。

2.ISA(industrialstandardarchitecture)總線標準是IBM公司1984年為推出PC/AT機而建立的系統總線標準,所以也叫AT總線。 3.EISA總線是1988年由Compaq等9家公司聯合推出的總線標準。它是在ISA總線的基礎上使用雙層插座,在原來ISA總線的98條信號線上又增加了98條信號線,也就是在兩條ISA信號線之間添加一條EISA信號線。 4.VESA(videoelectronicsstandardassociation)總線是1992年由60家附件卡制造商聯合推出的一種局部總線,簡稱為VL(VESAlocalbus)總線。7.1.2

輸入輸出接口的基本結構幾種常用的系統總線:

5.PCI(peripheralcomponentinterconnect)總線是當前最流行的總線之一,它是由Intel公司推出的一種局部總線。它定義了32位數據總線,且可擴展為64位。PCI總線主板插槽的體積比原ISA總線插槽還小,其功能比VESA、ISA有極大的改善,支持突發讀寫操作,最大傳輸速率可達132MB/s,可同時支持多組外圍設備。PCI局部總線不能兼容現有的ISA、EISA、MCA(microchannelarchitecture)總線,但它不受制于處理器,是基于奔騰等新一代微處理器而發展的總線。 6.CompactPCI的意思是“堅實的PCI”,是當今第一個采用無源總線底板結構的PCI系統,是PCI總線的電氣和軟件標準加歐式卡的工業組裝標準,是當今最新的一種工業計算機標準。7.1.5

IBMPC/AT機的I/O端口地址分配I/O端口(類似于內存單元)是存在于I/O接口中的8位的數據寄存器。每一個I/O端口都有一個唯一的I/O端口地址。I/O端口與內存單元的編址可有兩種方式:

1.統一編址 2.單獨編址(常用此種)單獨編址: 1.內存單元的編址:00000H~FFFFFH 2.I/O端口編址:0000H~03FFH(0~1023)7.1.5

IBMPC/AT機的I/O端口地址分配用戶可使用的I/O地址有:100H~1EFH220H~26FH280H~2AFH300H~35FH

PC/AT系統I/O端口地址分配:P349,表7.27.2中斷系統主講內容:中斷功能外部中斷和8259中斷控制器應用中斷功能7.2中斷系統中斷功能-主講內容:中斷種類和中斷類型號中斷向量表實模式下中斷響應和返回操作過程7.2中斷系統7.2.1微處理器的中斷功能中斷:指CPU暫停正在執行的程序,轉去執行處理中斷事件的中斷服務程序,待執行完中斷服務程序再返回到原來被中斷的程序繼續執行。中斷源:引起中斷的事件7.2.1微處理器的中斷功能1.中斷的種類和中斷類型號(1)外部硬中斷

微處理器外部事件發生,產生中斷請求信號,中斷請求信號再通過微處理器芯片上的接受中斷請求信號的引腳加入微處理器而出現的中斷。7.2.1微處理器的中斷功能CPUINTRNMI不可屏蔽中斷可屏蔽中斷可屏蔽中斷(INTR):CPU中標志寄存器中的IF位對該中斷有控制作用。 1.IF=1,CPU將響應可屏蔽中斷的中斷請求。(STI) 2.IF=0,CPU將不響應可屏蔽中斷的中斷請求。(CLI)7.2.1微處理器的中斷功能

可屏蔽中斷(INTR)通常用于: 1.常規外部設備-鍵盤、打印機、磁盤、串口等 2.自己開發的接口設備或專用接口。本節主要討論的可屏蔽中斷(INTR)操作及應用。不可屏蔽中斷(NMI):CPU中標志寄存器中的IF位對該中斷沒有控制作用,CPU對不可屏蔽中斷請求的響應是無條件的,一旦CPU查詢到NMI有請求,就立即響應。7.2.1微處理器的中斷功能

NMI在外部中斷源中的優先級是最高的,通常用于處理系統故障: 主機板上RAM奇偶校驗錯 擴展槽中I/O通道錯 電源故障等。內部中斷:可分為軟中斷和異常中斷兩類。軟中斷:是中斷指令INT執行時所產生的中斷。軟中斷和其它中斷一樣,發生軟中斷時,將轉去執行中斷服務子程序。不過,這樣的子程序不是用戶自己編寫的子程序,而是由系統軟件(主要是操作系統)提供的子程序。

INT指令實際上就是在編寫匯編語言程序時,用軟中斷來實現用戶程序調用系統提供的子程序。7.2.1微處理器的中斷功能異常中斷:可分為0、1、3、4號中斷。0號中斷:-被除零中斷

當CPU執行除運算時,若出現除數為0,則0號中斷。7.2.1微處理器的中斷功能1號中斷:-單步中斷

CUP執行一條指令前,若檢測到PSW的TF=1,則在該指令執行之后立即停止,引起1號中斷,該中斷支持程序但不跟蹤的功能。異常中斷:可分為0、1、3、4號中斷。7.2.1微處理器的中斷功能3號中斷:-斷點中斷

該中斷主要供調試程序使用。通常調試程序時,把程序按需分成若干段,每段設置一個斷點。當CPU執行到斷點時產生中斷,供程序員檢查各寄存器及有關存儲單元的內容。4號中斷:-益處中斷

在執行單字節指令INTO時,如果CPU檢測到溢出標志位,則產生4號中斷,進行溢出處理。OF=0時,不產生中斷。在微處理器中,不同的中斷是以中斷類型號來區別的。每種中斷都有固定的中斷類型號。

7.2.1中斷類型號中斷類型號: 對中斷的類型進行編號。中斷類型號的范圍為0~255(00H~FFH),即最多有256個。

7.2.1中斷類型號中斷外部硬中斷內部中斷可屏蔽中斷不可屏蔽中斷異常中斷軟中斷提供中斷類型號:外部中斷控制邏輯提供中斷類型號:2由指令本身提供

7.2.1中斷類型號中斷類型號的作用:在中斷發生時,借助中斷類型號,能使程序轉入相對應的中斷服務子程序。7.2.1微處理器的中斷功能2.中斷向量表7.2.1微處理器的中斷功能每種中斷都有自己相應的中斷服務子程序。CPU響應任何中斷,就要進入相應的中斷服務子程序中,執行子程序的程序,來處理中斷。中斷處理子程序中斷請求主機運行程序2.中斷向量表7.2.1微處理器的中斷功能當響應中斷后,系統怎樣進入中斷服務子程序?

獲取中斷服務子程序的入口地址。(即首地址—段地址和偏移地址)

如何獲取入口地址?

1.中斷類型號 2.中斷向量表(實模式下)7.2.1微處理器的中斷功能什么是實模式?

CPU的工作模式有三種: 1.實地址模式(實模式) 2.保護模式 3.虛地址模式任何情況下,CPU每次加電或復位后,都從實模式開始工作。實模式:是最基本的工作模式,8086/8688只能工作于實模式。實模式:

只允許CPU尋址空間是內存的第一個1MB存儲空間。7.2.1中斷向量表

中斷向量:即中斷服務子程序的入口地址,包括段地址(置入CS)和偏移地址(置入IP)。低字節高字節低字節高字節低字,送入IP高字,送入CS假如:某個中斷服務子程序的入口地址----2856:0255H55H02H56H28H偏移地址段地址注:每種中斷都有入口地址,所以每種中斷都有一個中斷向量。7.2.1微處理器的中斷功能

中斷向量表:由中斷向量按照中斷類型號的順序組成的表,就是中斷類型表。在實模式下,存儲器地址最低的1024單元,即地址0000H~03FFH,用于存儲各種中斷服務的入口地址。從0000H開始,每4個內存單元存放一個中斷服務子程序的入口地址(中斷向量)。前兩個內存單元的16位是段內偏移地址,后兩個內存單元的16位是段地址。當要執行中斷服務子程序時候,偏移地址送入IP中,段地址送入CS中。7.2.1微處理器的中斷功能中斷類型號是中斷向量表的索引中斷類型號*4---該中斷的中斷向量在中斷向量表中的開始位置。中斷類型號與中斷向量表的關系例如:中斷類型號為1,則其中斷向量在中斷向量表中的開始位置:0004H其中斷向量在中斷向量表中的位置:0004H~0007H7.2.1微處理器的中斷功能中斷類型號與中斷向量表的關系例如:中斷類型號為1,則其中斷向量在中斷向量表中的開始位置:00004H其中斷向量在中斷向量表中的位置:00004H~00007H55H02H56H28H偏移地址段地址存儲器00004H00005H00006H00007H物理地址單步中斷在中斷向量表中的位置注-2856:0255H是單步中斷的中斷向量2.中斷向量表7.2.1微處理器的中斷功能7.2.1微處理器的中斷功能中斷向量在中斷向量表中的位置是不能改變的。在中斷向量表中,第一個中斷向量,肯定是類型號為0的中斷,第二個中斷向量,肯定是類型號為1的中斷。中斷向量的值是可以改變的。假如:類型號為1個中斷服務子程序的入口地址----2856:0255H,如果修改了其中的服務子程序的入口地址為-------2200:1244H,則需要重新裝入新的入口地址。55H02H56H28H送入IP送入CS00004H00005H00006H00007H44H12H00H22H送入IP送入CS00004H00005H00006H00007H中斷過程

從引起中斷到中斷結束,共有三個過程: 1.中斷響應過程 2.中斷處理過程 3.中斷返回過程7.2.1實模式下的中斷響應3.實模式下的中斷響應中斷響應過程:從提出中斷請求到CPU進入中斷服務子程序為止,所經過的過程成為中斷響應過程。其對可屏蔽中斷,不可屏蔽中斷和內部中斷是不盡相同的。7.2.1微處理器的中斷功能在IF位為1(即開中斷)情況下,從INTR端加入中斷請求信號開始,到進入中斷服務程序為止所經過的一系列操作,稱為可屏蔽中斷的響應過程。一可屏蔽中斷的響應操作從CPU中止現行程序轉中斷服務程序這一過程,用兩個總線周期。

第一個響應周期:使AD15-AD0、/S7、A19/S6-A16/S3懸空。第二個響應周期:外設向數據總線上輸送一個字節的中斷類型號。中斷響應周期中斷響應周期7.2.1微處理器的中斷功能可屏蔽中斷的響應過程:①等待當前指令(CPU正執行的其它指令)結束,然后進入中斷響應周期。②從微處理器外部的中斷控制邏輯獲得中斷類型號。③當前的PSW、CS和IP的內容依次壓入堆棧。(保護斷點的地址和狀態)④清除PSW中的IF位和TF位為0。⑤把中斷服務程序的入口地址置入IP和CS。把地址為4*n和4*n+1兩個單元的16位作為中斷服務子程序入口地址的偏移地址送入IP中,把4*n+2和4*n+3的兩個作為中斷服務子程序入口地址的段地址送入CS中。中斷向量假如可屏蔽中斷的中斷類型號為:0EH,那么,那么把1244H送入IP中,把2200H送入CS中。44H12H00H22H送入IP送入CS0EH*40EH*4+10EH*4+20EH*4+3中斷傳送流程二、不可屏蔽中斷的響應過程不可屏蔽的中斷請求在CPU中的NMI引腳加入。CPU對它的響應不受IF位的控制(但可以在外部邏輯中對加入NMI端的信號進行控制)。

7.2.1微處理器的中斷功能不可屏蔽中斷的響應過程為:

1.等待當前指令結束,然后進入中斷響應周期。2.將當前的PSW、CS和IP的內容依次壓入堆棧3.清除PSW中的IF位和TF位為0。4.把中斷服務程序的入口地址置入IP和CS。把地址為4*2和4*2+1兩個單元的16位作為中斷服務子程序入口地址的偏移地址送入IP中,把4*2+2和4*2+3的兩個作為中斷服務子程序入口地址的段地址送入CS中。7.2.1微處理器的中斷功能三、內部中斷的響應操作所有的內部中斷都有以下共同特點:①中斷類型號要么是指令碼給定的,要么是處理硬件決定的,都不需要從外部邏輯輸入。②沒有包括信號的響應周期。③不受IF位的控制,但單步中斷受TF位控制。中斷優先級:除數為0中斷,INTn和INTO指令的優先級最高,NMI次之,INTR再次,單步中斷優先級最低。④除單步中斷之外,其它內部中斷都比外部中斷優先響應。7.2.1微處理器的中斷功能三、內部中斷的響應操作1.將當前的PSW、CS和IP的內容依次壓入堆棧。(保護斷點的地址和狀態)2.清除PSW中的IF位和TF位為0。3.把中斷服務程序的入口地址置入IP和CS。把地址為4*n和4*n+1兩個單元的16位作為中斷服務子程序入口地址的偏移地址送入IP中,把4*n+2和4*n+3的兩個作為中斷服務子程序入口地址的段地址送入CS中。思考可屏蔽中斷與非可屏蔽中斷的響應過程有什么不同?可屏蔽中斷與內部中斷的響應過程有什么不同?非可屏蔽中斷省去第2步內部中斷省去第1、2步清除TF位當TF=1時,每執行完一條指令時引起一次單步中斷,在中斷服務子程序中顯示各寄存器的內容和狀態字信息。如果不清除TF位,當進入中斷服務子程序時,將不斷的引起中斷,每次中斷都執行同一條指令而不能返回。只有清除TF位才能避免這種現象的發生。在中斷服務子程序期間,TF為0,到IRET指令恢復PSW值時候,才恢復TF位。7.2.1微處理器的中斷功能中斷返回

無論內部中斷還是外部中斷,都是由中斷服務子程序的末尾設置IRET指令實現的。IRET指令的操作時恢復斷點處的地址和PSW的內容,即依次從堆棧彈出保存的IP、CS和PSW值,使被中斷了的程序繼續執行7.2.2外中斷控制邏輯和中斷控制芯片8529A外部輸入輸出設備利用中斷機制與CPU交換信息,實際上就是利用外部可屏蔽中斷。對CPU來說,與可屏蔽中斷有關的兩個引腳是INTR和INTA。INTR---中斷請求信號引腳INTA---中斷響應信號引腳CPU外設I/O接口INTRINTA7.2.2外中斷控制邏輯和8529A的關系80286以及以后的微機系統中,用兩片8259A組成了可屏蔽中斷的中斷控制邏輯。I/O接口板組I/O外設總線控制邏輯CPUI/O接口在主機板上,總線控制邏輯包括:

1.支持訪問擴充板上存儲器操作的邏輯2.支持執行輸入輸出指令的邏輯3.支持外部中斷方式的以8259為核心的中斷控制邏輯4.支持存儲器直接讀寫(DMA)操作的以8237為核心組成的DMA控制邏輯7.2.2外中斷控制邏輯和中斷控制芯片8529ACPUINTRINTA7.2.2外中斷控制邏輯和中斷控制芯片8529A80286及其以后的微機系統中,用兩片8259A級聯組成了可屏蔽中斷的外部控制邏輯。上面的是主片,下面的是從片。主8259A的INT端(輸出)與CPU的中斷請求輸入端INTR相接,而從片的INT端與主片的IR2端相連。主片和從片的INTA端都和CPU的INTA端相連。7.2.2外中斷控制邏輯和中斷控制芯片8529A每片8259A有8個輸入端IR0~IR7,可分別接受8個外部的中斷請求,兩片級聯,可以接受15級外部的中斷請求。同時標出了對應的中斷類型號: 主片:08H~0FH 從片:A0H~A7H每個8259A分配兩個端口:

主片8259A:20H和21H, 從片8259A:A0H和A1H。在圖的最左側,給出了系統常規配置下對各個中斷請求端的應用分配。通常,自己開發的接口應用那些標有‘保留’的請求端。1.8259的外部引腳圖

7.2.2外中斷控制邏輯和中斷控制芯片8529ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDVCCA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS28259A1)數據總線D7~D0

雙向,用于CPU和8259A之間的數據通信。2)讀寫控制

RD,讀信號,輸入,低電平有效。WR,寫信號,輸入,低電平有效CS,片選信號,輸入,低電平有效。有效時,該8259A芯片被選中A0,端口選中信號,輸入。每片8259A均分配兩個端口,如20H和21H兩個端口。 當A0=0時,選中偶地址端口; 當A0=1時,選中奇地址端口。1.8259的外部引腳圖

7.2.2外中斷控制邏輯和中斷控制芯片8529ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDVCCA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS28259A3)級聯引腳CAS0~CAS2

8259A可工作于多片級聯方式。級聯引腳是級聯信號線。主片的級聯引腳是輸出從片的級聯引腳是輸入。SP/EN:1.當8259A工作在非緩沖模式下,用作輸入端,用于區別主片與從片。在多片級聯中,主片的SP/EN接高電平,表示是主片;而從片的接低電平,表示是從片。2.當8259A工作在緩沖模式下,用作輸出端,控制緩沖器的接受和發送。1.8259的外部引腳圖7.2.2外中斷控制邏輯和中斷控制芯片8529AINTAINT8259A4)中斷信號INT:中斷請求輸出端,與CPU的INTR輸入端相連;INTA:中斷響應輸入端,與CPU的INRA輸出端相連。CPUINTRINTAIR0~IR7外部設備IR0~IR7:是外設加入8259A的中斷請求輸入端。過程:外設 8259A CPU 8259A1.8259的內部邏輯結構

7.2.2外中斷控制邏輯和中斷控制芯片8529A1.8259的內部邏輯結構

7.2.2外中斷控制邏輯和中斷控制芯片8529A其內部邏輯結構主要由下面幾個部分組成: 1.中斷請求寄存器:IRR 2.中斷服務寄存器:ISR 3.中斷優先級分析器:PR 4.初始化命令字:ICW1~ICW4 5.操作命令字:OCW1~OCW3 6.讀寫控制邏輯 7.級聯緩沖器/比較器以上所有的寄存器(除了優先級分析器外)和命令字,均是8bit的寄存器。 1.8259的內部邏輯結構

7.2.2外中斷控制邏輯和中斷控制芯片8529A1.中斷請求寄存器:IRR IRR是一個8bit的寄存器,用于記錄外部中斷請求。D7D6D5D4D3D2D1D0 D0~D7,每一位分別與外部中斷請求信號IR0~IR7一一對應。 當IRi(i=0~7)有中斷請求時,IRR中的相應位置‘1’。例如:某時刻,當IR3有中斷請求時,D3就被置‘1’, (IRR)=****1***B1.訓練

7.2.2外中斷控制邏輯和中斷控制芯片8529AD7D6D5D4D3D2D1D0某時刻,IR1,IR2,IR5同時有中斷請求時,問IRR里的內容是多少? 當IR1,IR2,IR5有中斷請求時 D1,D2,D5就被置‘1’(IRR)=**1**11*B1.8259的內部邏輯結構

7.2.2外中斷控制邏輯和中斷控制芯片8529A2.中斷服務寄存器:ISR是一個8bit的寄存器,用于存放當前正在被CPU服務的中斷請求的標志。D7D6D5D4D3D2D1D0D0~D7,每一位分別與外部中斷請求信號IR0~IR7對應。當CPU正在響應IRi(i=0~7)時,其相應的Di就被置‘1’。1.8259的內部邏輯結構7.2.2外中斷控制邏輯和中斷控制芯片8529A2.中斷服務寄存器:ISR例如:當CPU正在響應IR3的中斷請求,則響應D3被置‘1’。此時,(ISR)=****1***B當然,如果此時有個比D3優先級更高的中斷請求(如IR5),則就有了中斷嵌套。CPU就暫時停止處理IR3的中斷請求,轉而響應IR5,此時D5被置‘1’。所以,此時,有兩個:D3=1和D5=1。

(ISR)=**1*1***B1.8259的內部邏輯結構7.2.2外中斷控制邏輯和中斷控制芯片8529A3.中斷優先級分析器:PR當只有一個中斷請求時,8529A就把該中斷請求送入CPU;當有多個中斷請求時候,就需要對各個中斷請求的優先級進行判別,從而把優先級最高的中斷請求送入CPU中。PR-用來確定存放在IRR中各個中斷請求信號的對應中斷源的優先級,并對他們進行排隊判優,以便選出當前中斷請求優先級最高的中斷請求,并把它送入CPU中。1.8259的內部邏輯結構

7.2.2外中斷控制邏輯和中斷控制芯片8529A4.中斷屏蔽寄存器:IMR(OCW1)是一個8bit的寄存器,用于存放IR0~IR7的中斷屏蔽標志。D7D6D5D4D3D2D1D0D0~D7,每一位分別與外部中斷請求信號IR0~IR7對應。用于控制IRi(i=0~7)的請求是否被禁止。 當Di=1,則對應的IRi請求被禁止。 當Di=0,則對應的IRi請求被允許。通過指令來對D0~D7進行置0或者置1的。1.8259的內部邏輯結構7.2.2外中斷控制邏輯和中斷控制芯片8529A4.中斷屏蔽寄存器:IMR(OCW1)例如:當置D3=1時,即(IMR)=****1***B則屏蔽掉了IR3的中斷請求,無論IR3怎么中斷請求,其中的請求都不會進入8259A,所以IR3的中斷請求在沒有進入CPU之前就被屏蔽掉了。4.訓練

7.2.2外中斷控制邏輯和中斷控制芯片8529AD7D6D5D4D3D2D1D0如果想屏蔽掉了IR0,IR1,IR4的中斷請求,問應設置IMR的內容是多少? 置IR0,IR1,IR4相應位D0,D1,D4為‘1’(IMR)=***1**11B7.2.2外中斷控制邏輯和中斷控制芯片8529A4.中斷屏蔽寄存器:IMR(OCW1)因此,對于可屏蔽中斷,有兩級的中斷屏蔽。8259A和CPU兩級。CPU外部中斷8259AINTRINTAIFIMR第一級注意:1、通過IMR關閉中斷時候,相應位Di=1;而通過IF關閉中斷時,IF=02、通過IMR只能Di=1來關閉某些級的外部中斷,而IF=0,就使CPU不響應所有的外部可屏蔽中斷第二級1.8259的內部邏輯結構

7.2.2外中斷控制邏輯和中斷控制芯片8529A5.初始化命令字:ICW1~ICW4

每一個都是8bit的寄存器,CPU通過OUT指令,把一組(3個—ICW1~ICW3或者4個—ICW1~ICW4)8bit的數據寫入ICW1~ICW4,從而來設置8259A的工作方式。D7D6D5D4D3D2D1D01.8259的內部邏輯結構

7.2.2外中斷控制邏輯和中斷控制芯片8529A6.操作命令字:OCW1~OCW3

每一個都是8bit的寄存器,CPU通過OUT指令,來設置8259A的中斷結束方式等。D7D6D5D4D3D2D1D0

7.2.2外中斷控制邏輯和中斷控制芯片8529A2.8259的編程對8259的編程可分為兩個階段: 1.初始化階段 2.操作階段

7.2.2外中斷控制邏輯和中斷控制芯片8529A(1)初始化階段在系統加電或復位后由系統初始化程序完成。這階段要用輸出指令向8259置入初始化命令字。這一階段的編程是通過OUT指令,把一組數據寫入ICW1~ICW4共4個寄存器中。2.8259的編程

7.2.2外中斷控制邏輯和中斷控制芯片8529A(2)操作階段要用輸出指令向8259發適當的操作命令字,實現對8259的狀態,中斷方式和過程的控制。這期間一般不再發初始化命令字。這一階段的編程,是通過OUT指令,把數據寫入OCW1~OCW3中。2.8259的編程7.2.2外中斷控制邏輯和中斷控制芯片8529A設定中斷請求信號的有效形式,即是高電平有效,還是低電平向高電平跳變的上升邊沿有效。8259是單片工作方式還是級聯工作方式。設定8259管理的中斷類型號基值,即0級中斷IRQ0對應的中斷類型號,以便在中斷請求響應時,得到中斷向量表中相應類型號的地址。設定各級的優先排序規則。設定一次中斷處理結束時的結束操作規則。這些任務都是通過向8259發初始命令字ICW實現的。初始化編程階段的任務-----設置8259的工作方式7.2.2外中斷控制邏輯和中斷控制芯片8529A①初始化命令字ICW1D7D6D5D4D3D2D1D01LTIM0SNGLIC4×××其中×位表示無關位,可為任何值。D4為1,是ICW1的特征標志。LTIM位為1表示有效的中斷請求信號是高電平,為0表示有效中斷請求信號是低電平向高電平跳變的上升邊。SNGL位為1表示這片8259是單片方式工作,為0表示多片級聯方式工作。IC4位為1表示在后面程序還要設置初始化命令字ICW4,為0表示不再設置ICW4。注:設置ICW1需要I/O端口地址為A0=0,即20H(主片)或者A0H(從片)1.ICW1訓練7.2.2外中斷控制邏輯和中斷控制芯片8529A

ICW1=00010001B要求:

邊沿觸發,級聯方式,有ICW4;7.2.2外中斷控制邏輯和中斷控制芯片8529A②初始化命令字ICW2ICW2用來提供中斷類型號的基值。CPU在響應外部可屏蔽中斷時,需要獲取中斷中斷類型號,從而來獲取該中斷服務子程序的入口地址。中斷類型號由8259在中斷響應期間提供。

中斷類型號=基值+相對值D7D6D4D5D3D2D1D0T7T6T5T4T3000

7.2.2外中斷控制邏輯和中斷控制芯片8529A設置ICW2的地址為A0=1,對于IBMPC系列微機,I/O端口地址分別為21H(主片)和A1H(從片)。中斷類型基值就是ICW2,其中低3位必須為0。相對值:則根據IRQ0~IRQ7中是響應哪級中斷,分別對應000~111.中斷類型號=基值+相對值在IBMPC系列微機中,兩片8259A的中斷類型號基值主片為08H,ICW2的高5位T7~T3為00001從片為70H,ICW2的高5位T7~T3為011107.2.2外中斷控制邏輯和中斷控制芯片8529A中斷類型號=08H+101B(5)=假如:在IBMPC系列微機中,某片8259A的中斷類型號基值為08H,同時,cpu響應了IRQ5,問該中斷類型號為多少?中斷類型號=基值+相對值0DH2.ICW2訓練7.2.2外中斷控制邏輯和中斷控制芯片8529A③初始化命令字ICW3ICW3是級聯命令字,如果中斷控制邏輯只有一片8259組成【設置ICW1時D1(SNGL)=1】,則不設置ICW3.只有在多片8259級聯的情況下,才設置ICW3。對于主片和從片,設置的ICW3的意義是不同的。7.2.2外中斷控制邏輯和中斷控制芯片8529A③主片ICW3向主片設置的ICW3,指明主片的哪個或那些輸入端IR接有從片。設置ICW3時,那些接有從片的輸入端對應的位設置為1,否則為0。D7D6D4D5D3D2D1D0S7S6S5S4S3S2S1S0

7.2.2外中斷控制邏輯和中斷控制芯片8529A③初始化命令字ICW3如右圖,主片的IR2接有從片,所以D2=1,主片的ICW3為:00000100B7.2.2外中斷控制邏輯和中斷控制芯片8529A③從片ICW3向從片設置的ICW3,其D7~D3為0,只是D2~D0位組成0~7的編碼。向不同的從片設置的ICW3值是不同的,所設的值必須與它所接的主片的IR輸入端序號相同。D7D6D4D5D3D2D1D000000S2S1S0

7.2.2外中斷控制邏輯和中斷控制芯片8529A③初始化命令字ICW3如右圖,主片的IR2接有從片,所以從片的ICW3為:00000010010的值與主片的IR2的序號相同。7.2.2外中斷控制邏輯和中斷控制芯片8529A假如:主片的IR2,IR4,IR6接有從片,則主片的ICW3為:3.ICW3訓練01010100B主片(ICW3)=從片:IR2:(ICW3)=IR4:(ICW3)=IR6:(ICW3)=00000010B00000100B00000110B7.2.2外中斷控制邏輯和中斷控制芯片8529A④初始化命令字ICW4只有ICW1中的IC4位為1才能設置ICW4。端口地址A0=1。D7~D5總為0。D4——SFNM,設置該位為1,將工作于特殊的全嵌套方式;該位為0,工作于正常全嵌套方式。IBMPC系統設置該位為0。D3——BUF,該位設置為1,表明緩沖方式,這時芯片的為輸出引腳,輸出信號可作為數據收發緩沖器(三態門)的控制信號。該位設置為0,表明不工作于緩沖方式,不需要也不輸出這種控制信號。D2——M/S,在BUF位為1有效時,該位為1則表示該片為主片;該位為0,則為從片。D1——AEOI,規定中斷結束方式。D1=1,自動結束;D1=0,非自動結束方式。D0——μPM,該位為1,表示與80X86微處理器配合工作;該位為0,表示與8080或8085微處理器配合工作。顯然,該位應設為1。7.2.2外中斷控制邏輯和中斷控制芯片8529A7.2.2外中斷控制邏輯和中斷控制芯片8529A假如:

正常全嵌套方式,非數據總線緩沖方式,中斷正常(非自動)結束。4.ICW4訓練ICW4=0000

0001B000SFNMBUFM/SAEOIUPM7.2.2外中斷控制邏輯和中斷控制芯片8529A ICW1 使用A0=0,偶地址即20H或A0H ICW2,ICW3,ICW4 使用A0=1,奇地址21H或A1H初始化命令字的設置次序:首先是ICW1(必須從ICW1開始)。當使用端口地址A0=0(20H)往8259寫數據,并且該數據的D4=1,則說明該數據是往ICW1里面寫入的。一旦ICW1被設置,以下對地址A0=1(21H)的輸出指令一定是設置ICW2,然后依據ICW1中的SNGL位和IC4位的值決定設置ICW3和ICW4.初始化命令字所使用的端口地址7.2.2外中斷控制邏輯和中斷控制芯片8529AICW1以A0=0(20H)和發出字節D4為1的特征ICW1被設置,以下對地址A0=1(21H)的輸出指令一定設置ICW2依據ICW1中的SNGL位和IC4位的值決定設置ICW3和ICW4。7.2.2外中斷控制邏輯和中斷控制芯片8529A主片:ICW1=00010001,邊沿觸發,級聯方式,有ICW4;ICW2=00001000,中斷類型號基值為08H;ICW3=00000100,在IR2端接有從片;ICW4=00000001,正常全嵌套方式,非數據總線緩沖方式,中斷正常(非自動)結束。初始化編程舉例(1)圖7.13外部控制邏輯中,兩片8259A設置的初始化命令字:7.2.2外中斷控制邏輯和中斷控制芯片8529A從片:ICW1=00010001,邊沿觸發,級聯方式,有ICW4;ICW2=01110000,中斷類型號基值為70H;ICW3=00000010,該片的識別標志,對應主片的IR2;ICW3=00000001,正常全嵌套方式,非數據總線緩沖方式,中斷正常(非自動)結束。

7.2.2外中斷控制邏輯和中斷控制芯片8529A(2)若主片8259的端口地址為20H和21H,從片8259的端口地址為A0H和A1H,則初始化編程為:主片編程為:INT59:MOVAL,00010001B;設置ICW1OUT20H,AL MOVAL,08H ;設置ICW2OUT21H,AL

MOVAL,00000100B;設置ICW3OUT21H,ALMOVAL,00000001B;設置ICW4OUT21H,AL7.2.2外中斷控制邏輯和中斷控制芯片8529A從片編程為:MOVAL,00010001B;設置ICW1OUTA0H,AL MOVAL,70H ;設置ICW2OUTA1H,AL

MOVAL,00000010B;設置ICW3OUTA1H,ALMOVAL,00000001B;設置ICW4OUTA1H,AL7.2.2外中斷控制邏輯和中斷控制芯片8529A(2)操作過程編程

操作過程的編程需要向8259發各種操作命令字。這些命令字決定著中斷方式,管理著中斷響應次序等。8259可以控制實現的中斷方式有:全嵌套方式、循環優先方式、特殊的屏蔽方式和查詢方式等。這些方式的實現,都要靠操作命令字的設置。7.2.2外中斷控制邏輯和中斷控制芯片8529A①操作命令字OCW1OCW1用于設置屏蔽狀態。命令字的各位與8259中的中斷屏蔽寄存器IMR的各位相對應,用輸出指令把OCW1發送到IMR。中斷屏蔽寄存器IMR中為1的位所對應的中斷級的輸入線IR處于被屏蔽狀態。設置OCW1的I/O地址是A0=1對同一地址的輸入指令將讀回OCW1設置的屏蔽字7.2.2外中斷控制邏輯和中斷控制芯片8529A例如1:要屏蔽8259外部的IR1,IR3,IR5中斷請求。則其命令為:ORAL,00101010H OUT21H,AL

INAL,21H

先通過21H讀入OCW1通過21H把設置的值寫入OCW17.2.2外中斷控制邏輯和中斷控制芯片8529A②操作命令字OCW2特征標志是D4、D3位組合為00高3位R、SL和EOI組合起來才能指明一種工作方式和中斷結束控制方式。設置OCW2的地址是A0=07.2.2外中斷控制邏輯和中斷控制芯片8529AR:為1指明中斷級的優先順序是循環式的。為0是固定的優先次序,0級最高,7級最低。

SL:該位指明是否要指定一個中斷級。為1,L2~L03位組合將指明一個中斷級。為0,L2~L0位無意義。EOI:為1,執行結束中斷的操作。為0,則不執行結束中斷操作。如果初始化時ICW4的AEOI位為1,說明設定的是自動結束中斷方式,設置OCW2時EOI位自然應為0。7.2.2外中斷控制邏輯和中斷控制芯片8529A4.OCW2訓練MOVAL,0010

0000B;OUT20H,AL;恢復ISR中D2的值為0通過寫OCW2,送中斷結束命令EOI7.2.2外中斷控制邏輯和中斷控制芯片8529A7.2.2外中斷控制邏輯和中斷控制芯片8529A③操作命令字OCW3D7D6D5D4D3D2D1D00ESMMSMM01PRRRISOCW3用于管理特殊的屏蔽方式和查詢方式。發送OCW3的地址也是A0=0。它的特征標志為D4D3=01。7.2.2外中斷控制邏輯和中斷控制芯片8529A③操作命令字OCW3D7D6D5D4D3D2D1D00ESMMSMM01PRRRISESMM:該位為1則允許特殊屏蔽方式;為0,則禁止。SMM:為1,表示特殊屏蔽方式。只對同級實現屏蔽為0,為非特殊屏蔽方式。用OCW1來設置ESMM位為1,SMM位才有意義。ESMM為0,則SMM位無意義。7.2.2外中斷控制邏輯和中斷控制芯片8529AD7D6D5D4D3D2D1D00ESMMSMM01PRRRISP位用于控制是否讀取中斷狀態寄存器的內容。P位為1,可通過讀入中斷狀態寄存器的內容,查詢是否有中斷請求被處理,如有,則給出當前中斷的最高優先級。P位為0,則不查詢。7.2.2外中斷控制邏輯和中斷控制芯片8529A該中斷狀態寄存器的格式為:D7D6D5D4D3D2D1D01----W2W1W0D7=0,表示無中斷請求D7=1,表示有中斷請求,此時W2~W0才有意義,它們的組合指明請求服務的各中斷級中的最高優先級。例如:W2~W0=010,則此時請求服務的各中斷級中,IR2的優先級最高。7.2.2外中斷控制邏輯和中斷控制芯片8529A在讀取中斷狀態字時,先寫入中斷查詢命令,然后讀取中斷狀態字,程序如下: MOVAL,00001100B;使P位為1 OUT20H,AL ;使用20H端口地址 INAL,20H ;使用20H將狀態字送入AL中D7D6D5D4D3D2D1D00ESMMSMM01PRRRIS7.2.2外中斷控制邏輯和中斷控制芯片8529ARR和RIS位用于控制讀出8259A的內部寄存器IRR(中斷請求寄存器)和ISR(中斷服務寄存器)的內容。D7D6D5D4D3D2D1D00ESMMSMM01PRRRISRR=0,無效RR=1,讀寄存器內容。

RIS=1,則讀IRS寄存器內容,送入AL中;

RIS=0,則讀IRR寄存器內容,送入AL中。7.2.2外中斷控制邏輯和中斷控制芯片8529A讀取ISR內容的程序:D7D6D5D4D3D2D1D00ESMMSMM01PRRRIS MOVAL,00001011B OUT20H,AL;使用20H端口,將AL內容寫入OCW3中 INAL,20H;將ISR寄存器的內容送入AL中7.2.2外中斷控制邏輯和中斷控制芯片8529A讀取IRR內容的程序:D7D6D5D4D3D2D1D00ESMMSMM01PRRRIS MOVAL,00001010B OUT20H,AL;使用20H端口,將AL內容寫入OCW3中 INAL,20H;將IRR寄存器的內容送入AL中7.2.2外中斷控制邏輯和中斷控制芯片8529AA0D4D3功能01*寫ICW11**寫ICW21**寫ICW31**寫ICW41**寫OCW1000寫OCW2001寫OCW38259A端口分配及讀寫操作功能:7.2.2外中斷控制邏輯和中斷控制芯片8529A命令字所使用的端口地址:

使用A0=0,偶地址:ICW1,OCW2,OCW3

使用A0=1,奇地址:OCW1,ICW2,ICW3,CW4

7.2.2外中斷控制邏輯和中斷控制芯片8529A中斷響應時序:

INTAINT8259ACPUINTRINTAIR0~IR7外部設備當CPU響應8259A的中斷請求INT時,向8259回送中斷響應信號INTA,自動進入中斷響應總線周期,進行中斷處理。INT高電平有效, IRi高電平有效或上升沿跳變有效7.2.2外中斷控制邏輯和中斷控制芯片8529ACPU一旦響應中斷,就自動進入中斷響應總線周期。INTA時序圖為:T1T1T2T3T4T2T3T4第一個INTA周期第二個INTA周期LOCKINTAD7~D0中斷類型nINTIRi7.2.2外中斷控制邏輯和中斷控制芯片8529A中斷響應周期由兩個連續的INTA周期組成,每個INTA周期包含4個時鐘周期,即T1~T4。在第一個INTA周期的T2~T3狀態,CPU向8259發送第一個INTA脈沖,表示響應INTR請求,并利用這個信號將8259的請求信號IRi復位,同時使總線鎖存信號LOCK有效,以禁止其他總線主控設備爭用總線。在第二個INTA周期,8259將中斷類型號n送上數據總線送至CPU,有CPU自動完成向量地址4n運算后,從中斷向量表中取出相應的中斷向量送入CS:IP中,繼而轉去執行中斷服務程序;同時,還利用第二個INTA周期的后沿將INT復位。在自動結束方式中,也是利用這個后沿,將ISR中的中斷服務標志位清除。7.2.2外中斷控制邏輯和中斷控制芯片8529A中斷結束(使ISR位復位)有兩種方式:

1.自動結束------ICW4中AEOI位設置為1 2.非主動結束----ICW4中AEOI位設置為0

自動結束: CPU響應中斷請求,向8259發第二個INTA脈沖的后沿,使ISR中的對應位復位。可見是在進入中斷服務程序之前完成復位。非自動結束: 在指定服務程序中,通常在返回主程序之前,使用指令發一個中斷結束命令,使OCW2內的EOI位為1。這樣就可以使ISR相應位復位。7.2.3中斷系統的應用方法

中斷系統的應用: 利用可屏蔽中斷來控制實現數據在CPU和I/O接口之間的輸入輸出。

注意的幾點工作: 1.分配合理的中斷級。 1.只能利用沒被系統占用的IRQ端。 2.任務越急,應分配優先級較高的IRQ端。 2.為中斷服務子程序分配合理的存儲空間,并把服務子程序的入口地址置入中斷向量表。7.2.3中斷系統的應用方法把服務子程序的入口地址置入中斷向量表。方法是利用DOS功能調用,即INT21H指令。 MOVAH,25H MOVAL,n;送中斷向量號 MOVDS,段地址;中斷服務子程序的段地址 MOVDX,偏移地址;中斷服務子程序的段地址、 INT21H執行INT21H后,就可把中斷服務子程序的入口地址置入中斷向量表的適當地址中7.2.3中斷系統的應用方法例如:中斷服務程序的入口地址的標號為:VINTSUB,中斷向量號為10,則設置中斷向量的指令序列如下: MOVDX,OFFSETVINTSUB PUSHDS MOVAX,SEGVINTSUB MOVDS,AX MOVAL,10 MOVAH,25H

INT21H

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論