端口的讀寫和外部中斷的解決辦法-創(chuàng)新互聯(lián)

1.端口的讀寫
在PC系統(tǒng)中,除和CPU通過總線相連的芯片(內(nèi)存芯片)之外,還有3類芯片:
(1)各接口卡(網(wǎng)卡、顯卡)上的接口芯片,他們控制接口卡進行工作
(2)主板上的接口芯片,CPU通過它們對部分外省進行訪問
(3)其他芯片,用來存儲相關的系統(tǒng)信息,或進行相關的輸入、輸出處理
這些芯片都有一組可以由CPU讀寫的寄存器,這些寄存器物理上處于不同芯片中,但是都與CPU總線相連,可以通過CPU總線對他們進行控制,從CPU角度,將這些寄存器都稱為端口,對他們進行統(tǒng)一編址,從而建立了一個統(tǒng)一的端口地址空間,每一個端口在地址空間中都有一個地址。
總結,CPU可以直接讀寫以下三個地方的數(shù)據(jù):
(1)CPU內(nèi)部寄存器,在CPU內(nèi)部
(2)內(nèi)存單元,直接連在CPU上
(3)端口

創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務錦州,十載網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108

端口地址和內(nèi)存地址一樣,都通過地址總線來傳送。在PC系統(tǒng)中,最多可以定位64K個不同端口,他們的端口范圍是:0~65535。
對端口的讀寫不能用mov、push、pop,應該用in和out
in al,60h  ;從60h端口讀入一個接
執(zhí)行過程:
(1)CPU通過地址總線將信息60h發(fā)出
(2)CPU通過控制總線發(fā)出端口讀命令,選中端口所在芯片,并通知他讀取數(shù)據(jù)
(3)端口所在的芯片將60h端口中的數(shù)據(jù)通過數(shù)據(jù)總線送入CPU
in、out指令,只能用ax和al來讀寫端口,8位用al,16位用ax
0 ~ 255端口讀寫:
in al,20h ;從20h端口讀入一個字節(jié)
out 20h,al ;往20h端口寫入一個字節(jié)
256 ~ 65535端口讀寫:
mov dx,3f8h ;將端口號3f8h送入dx
in al,dx ;從3f8h讀取一個字節(jié)
out dx,al ;向3f8h寫入一個字節(jié)

CMOS RAM芯片:PC機上有個CMOS RAM芯片,簡稱CMOS,此芯有一個實時時鐘和一個RAM存儲器,此芯片靠電池供電,因此關機后數(shù)據(jù)不丟失,CPU用過70h,和71h訪問CMOS的RAM。CMOS RAM中存放著當前的時間:年、月、日、時、分、秒。

2.外部中斷
外部中斷源主要有2種,可屏蔽中斷和不可屏蔽中斷。
可屏蔽中斷是CPU可以不響應的外中斷,主要看flag寄存器的IF位。處理過程:
(1)取中斷號
(2)flag寄存器入棧,IF=0,TF=0
(3)CS、IP入棧
(4)(IP) = (n4) ,(CS)=(n4 + 2)
設置IF的指令:sti,設置IF=1,cli,設置IF=0
不可屏蔽中斷是CPU必須處理的中斷,中斷號固定為2,執(zhí)行過程
(1)標志寄存器入棧,IF=0,TF=0
(2)CS、IP入棧
(3)(IP) = (8) ,(CS)=(0AH)

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前題目:端口的讀寫和外部中斷的解決辦法-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://muchs.cn/article36/cocdpg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計、電子商務搜索引擎優(yōu)化、小程序開發(fā)、網(wǎng)站設計公司、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管