freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

匯編語言程序設(shè)計(jì)第十四章:端口輸入輸出與外設(shè)編程-wenkub

2023-06-10 12:12:36 本頁面
 

【正文】 ? 8259A可編程中斷控制器是專門用于系統(tǒng)中斷管理的大規(guī)模集成電路芯片 , 圖 142是其內(nèi)部結(jié)構(gòu)圖 。表 141給出了 IBMPC的 I/O端口地址分配表。缺點(diǎn)是 I/O端口占用了一部分內(nèi)存空間,使存儲(chǔ)器容量減小, I/O指令較長,執(zhí)行速度較慢等。 CPU相應(yīng)中斷后,根據(jù)情況再通過 I/O端口進(jìn)行數(shù)據(jù)讀寫或發(fā)布新的命令。 ? 在 DMA方式下,不必經(jīng)過累加器( AX或 AL)就可以完成內(nèi)存和外設(shè)的直接數(shù)據(jù)交換。 (1) DMA方式 (直接存儲(chǔ)器訪問 ) ? 系統(tǒng)板以 8237DMA控制器芯片提供 DMA機(jī)構(gòu),主要用于存儲(chǔ)器刷新等。 CPU通過 I/O設(shè)備的命令口對(duì)該 I/O設(shè)備進(jìn)行編程 , 告訴它用什么方式工作 , CPU通過該設(shè)備的輸入 /輸出端口與其進(jìn)行信息交換 。 一個(gè) I/O外部設(shè)備的接口芯片 , 根據(jù)其復(fù)雜程度可能對(duì)應(yīng)數(shù)量不等的多個(gè)端口 。 ?應(yīng)用程序級(jí)的輸入 /輸出是指用各種工具開發(fā)的應(yīng)用程序的輸入 /輸出 , 語言級(jí)是指各種語言的輸入 /輸出語句 ,DOS或 BIOS級(jí)是指通過 DOS或 BIOS功能調(diào)用實(shí)現(xiàn)的輸入/輸出 , 而最底層則是端口的輸入 /輸出 。 在DOS環(huán)境下 , 這些工作是由初始化程序或 DOS內(nèi)部程序通過 BIOS程序去進(jìn)行的 , 用戶只能通過 DOS或 BIOS的功能調(diào)用間接進(jìn)行干預(yù) 。朱耀庭 匯編語言程序設(shè)計(jì) 朱耀庭 南開大學(xué) 朱耀庭 第 14章 端口輸入/輸出與外設(shè)編程 ?到目前為止 , 大部分編程工作都是針對(duì) CPU和內(nèi)存的 。 ?本章將介紹如何通過端口直接對(duì)外設(shè)進(jìn)行編程 , 使其完成要求的工作 。 ?本章就是要解決最后一級(jí) , 也就是計(jì)算機(jī)最底層的輸入 /輸出問題 。 ?在這些端口中 , 通常有命令口 、 輸入口和輸出口 。 表 141給出了不同外部設(shè)備所對(duì)應(yīng)的端口 。該芯片有 4個(gè) DMA通道,可編程實(shí)現(xiàn) 4個(gè)獨(dú)立的 DMA操作。即使如此,主機(jī) CPU對(duì)它的控制也是經(jīng)由端口對(duì)其編程來實(shí)現(xiàn)的。 南開大學(xué) 朱耀庭 2. I/O端口編址和尋址 ? I/O端口編址有兩種方式:統(tǒng)一編址和獨(dú)立編址 ?統(tǒng)一編址也稱為存儲(chǔ)器映像編址,這種方式是從存儲(chǔ)器空間劃出一部分空間給 I/O設(shè)備 ,把 I/O端口當(dāng)作內(nèi)存來對(duì)待,使用與訪問內(nèi)存同樣的指令來訪問。 南開大學(xué) 朱耀庭 2. I/O端口編址和尋址 ?獨(dú)立編址也稱為 I/O映像編址 , 外設(shè)的端口不占用內(nèi)存空間 ?采用這種編址方式對(duì) I/O端口操作需要采用專門的輸入 /輸出指令 ?如 80X86系列和 Z80系列計(jì)算機(jī)都采用這種方式 ?這種方式的優(yōu)點(diǎn)是不占用內(nèi)存空間 、 指令獨(dú)立 、 I/O操作和存儲(chǔ)器操作容易區(qū)分 , 缺點(diǎn)是訪問端口的方法不如訪問存儲(chǔ)器的方法多 , 且 I/O空間不易擴(kuò)展等 南開大學(xué) 朱耀庭 2. I/O端口編址和尋址 ? Intel的 X86微處理器都支持 I/O獨(dú)立編址,有單獨(dú)的 I/O指令 (IN/OUT等 ),使用低 16位地址表示 I/O端口地址, 16位處理器支持字節(jié)型和字型 I/O操作, 32位處理器還支持雙字型 I/O操作。 ? Intel X86系列微處理器不能用 mov, push, pop等內(nèi)存讀寫指令對(duì)端口操作,端口讀寫的基本指令只有兩條: in和 out。 ? CPU通過對(duì) 8259A送 4個(gè)初始化命令字以及 3個(gè)操作字來完成對(duì) 8259A的初始化 , 這一工作通常是在系統(tǒng)啟動(dòng)時(shí)由初始化程序完成的 。 圖 142 8259內(nèi)部結(jié)構(gòu)圖 南開大學(xué) 朱耀庭 8259A芯片編程 ? 8259A提供兩個(gè)端口 , 即 20H和 21H, 其中 20H端口為命令口 。 微機(jī)中 BIOS在系統(tǒng)初始化時(shí)已對(duì)其編程 , 并且使其分別對(duì)應(yīng)中斷類型08H~ 0FH。 ?需要注意的是 , 在進(jìn)入中斷處理例行程序時(shí) , 計(jì)算機(jī)會(huì)自動(dòng)關(guān)中斷 ( 置 IF為 0) 。 ?這一命令的代碼是 20H,而中斷命令寄存器的端口號(hào)是20H,所以這段程序應(yīng)寫為: MOV AL, 20H OUT 20H, AL ?下面用一個(gè)例子來說明如何對(duì) 21H端口編程 : 南開大學(xué) 朱耀庭 8259A芯片編程 ?例 141:屏蔽鍵盤中斷例 ?題目:測試屏蔽并關(guān)閉鍵盤中斷 ?設(shè)計(jì)思路:通過向 21H端口發(fā)送屏蔽字 2H實(shí)現(xiàn) 例 141:屏蔽鍵盤中斷例 ?程序說明:程序運(yùn)行后 , 鍵盤不能使用 , 該程序慎用 ,最好在虛擬機(jī)上調(diào)試 南開大學(xué) 朱耀庭 8255編程 ?圖 146是 8255的內(nèi)部結(jié)構(gòu)圖 ? 8255用于系統(tǒng)板配置 , 它支持多種設(shè)備和信號(hào) , 如鍵盤 、揚(yáng)聲器 、 配置開關(guān)和若干其他信號(hào) ?該片對(duì)應(yīng) 4個(gè) I/O口 。下面分別介紹 PA, PB和 PC端口。其中位 5~ 4,表示開關(guān) 1的 6~ 5位,指明了顯示器的類型。 南開大學(xué) 朱耀庭 8255編程 ? PB口:位 0~ 2為 1分別表示選通定時(shí)器 2的門,揚(yáng)聲器數(shù)據(jù)選通, PC口位 0~ 3的選源。位 3~ 0視 PB口位 2為 1或 0而定,當(dāng) PB口位 2為 1時(shí)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1