版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、跟我一起學編程系列課程:第一篇匯編語言16位匯編 第四節(jié)輸入輸出與中斷 輸入輸出的基本概念 查詢方式傳送數據 中斷 基本輸入輸出系統(tǒng)BIOS 軟中斷處理程序舉例 第三部分匯編語言程序設計基礎回顧:計算機的構成1.CPU2.主板3.內存4.硬盤5.顯卡6.顯示器7.光驅8.鍵盤9.鼠標10.機箱11.電源12.網卡13.聲卡14.其他外設顯示器鍵盤鼠標機箱光驅輸入輸出的基本概念1、 I/O端口地址和I/O指令每種輸入和輸出設備都要通過一個硬件接口或者控制器和CPU相連。打印機,顯示器,鍵盤鼠標等。從程序設計的角度來看,接口由一組寄存器組成,是完成輸入輸出的橋梁。程序利用I/O指令,存取接口上的寄
2、存器,獲得外部設備的狀態(tài)信息,控制外部設備的動作,從而實現輸入和輸出。1. I/O端口地址為了存取接口上的寄存器,系統(tǒng)給這些寄存器分配專門的存取地址,這樣的地址稱為I/O端口地址。某些微型機上,I/O端口地址和存儲單元地址統(tǒng)一編址。相當于把I/O接口視為一個或幾個存儲單元,利用存取內存單元的指令就可以取接口上的寄存器。 缺點:占用有限的內存單元,延長外部設備與處理器進行數據交換的時間。8086 I/O地址和存儲單元的地址是各自獨立的,分別占用兩個不同的地址空間。8086提供I/O端口地址空間64K個8位端口,或可接32K個16位端口。實際只使用了03FFH之間的I/O端口地址,只占整個I/O地
3、址空間很少一部分。輸入輸出的基本概念1、 I/O端口地址和I/O指令8086PC機內存地址空間分配3FFH輸入輸出的基本概念2. I/O指令由于8086的I/O端口地址和內存單元地址是獨立的,所以要用專門的I/O指令來存取端口上的寄存器,即專門的I/O指令進行輸入和輸出。I/O指令屬于數據傳送指令組(1)輸入指令IN 累加器,端口地址輸入指令從一個輸入端口讀取一個字節(jié)或一個字,傳送至AL(若是一個字節(jié))或AX(一個字)。端口地址可以采用直接方式表示,也可以是間接方式。直接方式:端口地址僅為8位立即數,0255之間。間接方式:端口地址存放在DX寄存器,可以是16位IN AL,PORT ;AL=P
4、ORTIN AX,PORT ;AX=(PORT+1:PORT)例:IN AL,21HIN AL,DX ;AL=(DX)IN AX,DX ;AX=(DX+1:DX)例:MOV DX,2FCHIN AX,DX注意:當端口n輸入一個字時,相當于同時從端口n和n+1分別讀取一個字節(jié)。如果兩條指令連續(xù)執(zhí)行,相當于從端口2FCH輸入一個字節(jié)送入AL,從2FDH輸入一個字節(jié)送入AH。輸入輸出的基本概念(2)輸出指令OUT 端口地址,累加器輸出指令將AL或AX輸出到指定端口。其他和輸入指令類似OUT PORT,AL ;(PORT)=ALOUT PORT,AX ;(PORT+1:PORT)=AXOUT DX,A
5、L ;(DX)=ALOUT DX,AX ;(DX+1:DX)=AX注意:當端口n輸出一個字時,相當于向端口n輸出AL中的內容和向端口n+1輸出AH中的內容。例如下面的程序片段向2FCH端口輸出23H,向2FDH端口輸出45H:MOV AX,4523HMOV DX,2FCHOUT DX,AX輸入輸出的基本概念2 、數據傳送方式1.CPU與外設之間交換的信息包括數據,控制和狀態(tài)信息,都是通過IN和OUT指令在數據總線上進行傳送,所以通常采用分配不同端口的方法將他們加以區(qū)別。數據是CPU和外設真正要交換的信息。數據通常為8位或16位,可分為各種不同類型。不同的外設要傳送的數據類型也是不同的??刂菩畔?/p>
6、輸出到I/O接口,告訴接口和設備要做什么工作。從接口輸入的狀態(tài)信息表示I/O設備當前的狀態(tài)。在輸入數據前,通常要先取得表示設備是否已準備好的狀態(tài)信息;在輸出數據前,往往要先取得表示設備是否忙的狀態(tài)信息。2.數據傳送方式(1)無條件傳送方式不需要查詢外設的狀態(tài),即已知外設已準備好或不忙時,可以直接使用IN或OUT指令實現數據傳送。這種方式軟件實現簡單,只要指令中指明端口地址,就可以連通指定外設進行輸入和輸出。(2)查詢方式查詢方式適用于CPU與外設不同步的情況。輸入之前,查詢外設數據是否已準備好,若數據已準備好,則輸入;否則繼續(xù)查詢,直到數據準備好。輸出之前查詢設備是否忙或不忙,等待到外設準備好
7、時才能輸入或輸出數據,通常外設速度遠遠慢于CPU速度,于是查詢過程將花費大量時間。輸入輸出的基本概念(3)中斷方式為了提高CPU的效率,可采用中斷方式。當外設準備好時,外設向CPU發(fā)出中斷請求,CPU轉入中斷處理程序,完成輸入輸出工作。(4)直接存儲器傳送(DAM)方式由于高速I/O設備(硬盤等)準備數據的時間短,要求傳輸速度快,采用DAM直接存儲器傳送方式,即直接交換數據。這種方式是成組進行的。其過程是:先把數據在高速外設中存放的起始位置。數據在內存存儲器中存放的起始地址、傳送數據長度等參數輸出到連接高速外設的接口(控制器),然后啟動高速外設,設備準備開始直接傳送數據。當高速外設直接傳送準備
8、好之后,向處理機發(fā)送一個直接傳送的請求信號,處理機以最短實際批準進行直接傳送。并讓出總線控制權,高速外設在其控制器控制下交換數據。數據交換完畢后,由高速外設發(fā)出“完成中斷請求”,并交回總線控制權。處理機響應上述中斷,由對應的中斷處理程序對高速外設進行控制或對一節(jié)傳送的數據進行處理,中斷返回后,原程序繼續(xù)運行。計算機結構1.典型的馮.諾伊曼結構:(巴貝奇的分析機原理)2.以存儲為中心計算機結構數據線控制線控制線反饋線數據線輸入輸出的基本概念3 、存取RT/CMOS RAM1.關于RT/CMOS RAMIBM及其兼容機都有RT/CMOS RAM芯片,即互補金屬氧化物半導體隨機存取存儲器,不僅可以長
9、期保存系統(tǒng)配置狀況,而且記錄包括世紀,年,月,日和時分秒在內的實時鐘信息。(real-time-clock)拓展:在PC機當中,有一個CMOS RAM芯片,我們一般簡稱為CMOS,這個芯片的特征如下所示1、包含一個實時鐘和一個有128個存儲單元的RAM存儲器,關機后其內部的實時鐘還是可以正常工作的,RAM當中的信息不會丟失2、這個芯片常保存計算機基本啟動信息(如日期、時間、啟動設置等)的芯片,其實CMOS是主板上的一塊可讀寫的并行或串行FLASH芯片,是用來保存BIOS的硬件配置和用戶對某些參數的設定3、又稱BIOS存儲器,是電腦主板上的一種存儲器,用于存儲開機、初始化基本設備的信息,由主板B
10、IOS調用其存儲資料,最后由BIOS將電腦管理權交給操作系統(tǒng)4、主板電池是用于記錄計算機系統(tǒng)的時間,也就是維持系統(tǒng)時鐘的準確性,電量不夠時,時間會回到出廠日期,還有記錄啟動時要用的硬件信息,也就是維持CMOS的BIOS信息。主板電池在我們使用的過程中沒有電的情況下是可以充電的。如果主板電池沒電了,電腦兩天不開機,開機后系統(tǒng)時間不是準確的時間,會回到主板生產的時間,電量不足了,系統(tǒng)時間會變慢,比如現在是2013年1月1日10:00,可能會顯示顯示的時間是2013年1月1日 9:00,很容易識別.5、128個字節(jié)的RAM當中,內部實時鐘占用0-0dh單元來保存時間信息,其余大部分單元用于保存系統(tǒng)配
11、置信息,供系統(tǒng)啟動的時BIOS程序讀取。BIOS中提供了相關的程序,使我們可以在開機的時候配置CMOS RAM當中的系統(tǒng)信息輸入輸出的基本概念6、這個芯片內部有兩個端口,端口地址為70h和71h,CPU通過這兩個端口來讀寫CMOS RAM7、70h為地址端口,存放要訪問的CMOS RAM單元的地址,71h位數據端口,存放從選定的CMOS RAM單元中讀取的數據,或者要寫入到其中的數據,其實CPU對CMOS RAM的讀寫分為兩部分,比如說讀CMOS RAM 的2號單元 RT/CMOS RAM作為一個I/O接口芯片,系統(tǒng)分配的I/O端口地址區(qū)為70H至7FH,通過IN和OUT指令可對其進行存取。它
12、共提供64K個字節(jié)RAM單元,分配使用情況如表5.1所示。前14個字節(jié)用于實時鐘,剩下的50個字節(jié)用于系統(tǒng)配置。輸入輸出的基本概念2.存取RT/CMOS RAM存取RT/CMOS RAM芯片內部64個字節(jié)內容時,分兩步進行。即先把要存取單元的地址送端口70H,然后再存取端口71H。需要注意,14個記錄時鐘信息的單元(位移0至0DH)的地址就是表中位移,其他單元的地址時表5.1所示位移上加80H。(1)讀操作代碼如下:MOV AL,n ;n是要訪問單元地址OUT 70H,AL ;把要訪問單元的地址送地址端口JMP $+2 ;延時IN AL,71H ;從數據端口取訪問單元的內容(2)寫操作代碼片段
13、如下:MOV AL,n ;n是要訪問單元地址OUT 70H,AL ;把要訪問單元的地址送地址端口JMP $+2 ;延時MOV AL,m ;m是要輸出的數據OUT 71H,AL ;把數據從數據端口輸出對同一個I/O設備或端口相繼發(fā)送I/O指令時,為確保I/O設備或端口有足夠的電路恢復時間,一般再I/O指令之間使用一條轉移指令JMP $+2;延時,以滿足I/O端口的需要。3.CMOS RAM累加和檢查在對系統(tǒng)配置時,要對COMS RAM的位移10H2DH的系統(tǒng)配置信息按字節(jié)求累加和,其值存放在位移2E2FH的單元中。低字節(jié)存放在2EH單元中,高字節(jié)存放在2FH單元中。在系統(tǒng)加電自檢時,將對CMOS
14、 RAM的位移10H2DH單元的內容求和,并與保存的累加和比較。若兩者不等,則置狀態(tài)字節(jié)第6位,表示累加和錯。這往往會導致要求用戶重新進行系統(tǒng)配置。下面的程序片段進行累加和檢查,在累加和錯時設置診斷狀態(tài)字節(jié)的位6CMOS_PORT EQU 70H ;CMOS端口地址CMOS_BEGIN EQU 90H;求和開始地址CMOS_ENDEQU ADH;求和結束地址CHECK_SUMEQU AEH;累加和存放開始地址DIAG_STATUSEQU 8EH;診斷狀態(tài)字節(jié)地址BAD_CKSUMEQU 40H;累加和檢查錯標志位SUB BX,BX ;累加和清0MOV CL,CMOS_BEGIN ;指向開始地址
15、MOV CH,CMOS-END+1 ;指向結束地址后一單元SUB AH,AHCMOS2:MOV AL,CLOUT CMOS_PORT,ALJMP $+2IN AL,CMOS_PORT+1 ;取一字節(jié)ADD BX,AX ;求累加和INC CL ;指向下一字節(jié)CMP CH,CL ;是否到結束地址JNZ CMOS2 ;未到,繼續(xù)求和;MOV AL,CHECK_SUM+1OUT CMOS_PORT,ALJMP $+2IN AL,CMOS_PORT+1 ;取原累加和高字節(jié)MOV AH,ALMOV AL,CHECK_SUMOUT CMOS_PORT,ALJMP $+2IN AL,CMOS_PORT+1 ;取原累加和低字節(jié)CMP AX,BXJZ CMOS4;MOV AL,DIAG_STATUSOUT CMOS_PORT,ALJMP $+2IN AL,CMOS_PORT+1 ;取診斷狀態(tài)字節(jié)MOV AH,AL ;送AHOR AH,BDA_CKSUM ;或上累加和檢查錯標志MOV AL,DIAG_STATUSOUT CMOS_PORT,ALJMP $+2MOV AL,AHOUT CMOS_PORT+1,AL ;再送回診斷字節(jié)CMOS4:本節(jié)視頻的課后練習1、什么是I/O端口地址?8086的I/O端口地址空間有多大?2、請
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廈門市金雞亭中學2026年校園招聘備考題庫完整答案詳解
- 養(yǎng)老院九防制度
- 公共交通信息化建設管理制度
- 會議決議執(zhí)行與監(jiān)督制度
- 2026年永康市科學技術局工作人員招聘備考題庫參考答案詳解
- 2026年柳州市航鷹中學招聘語文教師招聘備考題庫完整答案詳解
- 企業(yè)績效評估與獎懲制度
- 上海七十邁數字科技2026校園招聘備考題庫及答案詳解1套
- 2026年濮陽市范縣第二小學音樂教師招聘備考題庫及一套答案詳解
- 養(yǎng)老院入住老人突發(fā)疾病應急處理制度
- 脛骨骨髓炎的護理查房
- 少年有志歌詞
- 武漢文化投資發(fā)展集團有限公司招聘5名工作人員筆試歷年參考題庫附帶答案詳解
- 中國骨關節(jié)炎診療指南2026版
- 2026屆貴州省畢節(jié)市赫章縣化學高二上期末檢測試題含解析
- T-CADERM 8018-2025 成人急救轉運呼吸機使用要求
- 華為GTM與IPMS流程介紹及實操案例
- 春節(jié)大客車安全培訓內容課件
- 供應鏈年終總結報告
- 2025年高考數學真題分類匯編專題10 直線與圓及圓錐曲線(全國)(解析版)
- 全媒體矩陣宣傳推廣服務項目方案投標文件(技術方案)
評論
0/150
提交評論