中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

端口的讀寫和外部中斷的解決辦法

發布時間:2020-05-27 17:01:55 來源:億速云 閱讀:294 作者:鴿子 欄目:開發技術

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

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

CMOS RAM芯片:PC機上有個CMOS RAM芯片,簡稱CMOS,此芯有一個實時時鐘和一個RAM存儲器,此芯片靠電池供電,因此關機后數據不丟失,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,執行過程
(1)標志寄存器入棧,IF=0,TF=0
(2)CS、IP入棧
(3)(IP) = (8) ,(CS)=(0AH)


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东安县| 天台县| 珠海市| 道孚县| 根河市| 礼泉县| 新安县| 柯坪县| 柳江县| 斗六市| 华安县| 墨竹工卡县| 开鲁县| 赤城县| 桂林市| 灵丘县| 泰州市| 申扎县| 古浪县| 台中县| 盐山县| 建瓯市| 樟树市| 扬中市| 宁武县| 高碑店市| 怀安县| 赤峰市| 内丘县| 交城县| 准格尔旗| 迭部县| 景德镇市| 定州市| 荆门市| 新乡县| 南开区| 合川市| 德惠市| 天全县| 阳原县|