筆記 組合語言 第14章 埠

2022-03-06 16:43:05 字數 1651 閱讀 4379

14.0 概述

pc機系統中,和cpu通過匯流排相連的晶元除了各種儲存器外,還有以下3種晶元:

(1) 各種介面卡(如網絡卡,顯示卡)上的的介面晶元,它們控制介面卡進行工作

(2) 主機板上的介面晶元,cpu通過他們對部分外設進行訪問

(3) 其他晶元,用來儲存相關的系統資訊,或進行相關的輸入輸出處理

在這些晶元中,都有cpu可以讀寫的暫存器,雖然它們位於不同的晶元中,但有以下的共同點

(1) 與cpu的匯流排相連,當然這是通過他們所在的晶元進行的

(2) cpu對它們的讀寫是通過控制線向它們所在的晶元發出埠讀寫命令

從cpu的角度,將這些暫存器當作埠,每個埠在記憶體位址空間中有乙個位址.

cpu可直接讀寫下面3個地方的資料:

(1) cpu內部的暫存器

(2) 記憶體單元

(3) 埠(外部暫存器)

14.1 埠的讀寫

對埠的讀寫不能使用mov,push,pop等記憶體讀寫指令,只能使用in和out.

使用in和out時,只能使用ax或al來存放要寫入埠或從埠讀取的資料.

對0~255以內的埠進行讀寫時:

in al,20h

out 20h,al

對256~65535的埠進行讀寫時,埠號放在dx中:

mov dx,369h

in al,dx

out dx,dl

14.2 cmos ram晶元

特徵:(1) 包含乙個實時鐘和乙個128byte的的ram儲存器(早期為64byte)

(2) 靠電池供電,關機後內部實時鐘仍可正常工作,ram資訊不丟失

(3) ram中,內部實時鐘占用0~0dh儲存時間資訊,其餘大部分用於儲存系統配置資訊,供系統啟動時bios程式讀取.bios也提供了相關程式使我們在開機時可配置cmos資訊.

(4) 該晶元有兩個埠,70h和71h,70h為位址埠,71h為資料埠,cpu對cmos ram的讀寫分兩步,將位址寫入70h埠,從71h埠讀取或寫入資料.

14.3 shl和shr命令

1) shl,邏輯左移指令:

(1) 將乙個暫存器或記憶體單元中的資料向左移位;

(2) 將最後移出的一位寫入cf中

(3) 最低位用0補充

如: mov al,01001000b

shl al,1 ;左移1位

結果:(al)=10010000b , cf=0

如果移動位數大於1時,必須將位數存在cl中

如: mov al,01001000b

mov cl,3

shl al,cl

2) shr,邏輯右移指令:

(1) 將乙個暫存器或記憶體單元中的資料向右移位;

(2) 將最後移出的一位寫入cf中

(3) 最高位用0補充

14.4 cmos ram中儲存的時間資訊

bcd碼:以4位二進位制數表示十進位制數碼的編碼方法.

在cmos ram中,存放年,月,日,時,分,秒的資訊,分別是乙個位元組,用bcd碼存放,高4位表示十位數,低4位表示個位數,存放單元為

秒:0 分:2 時:4 日:7 月:8 年:9

>>>>注:bcd碼值=十進位制資料碼值,則bcd碼值加上30h,即是數碼值的ascii編碼值.<<<<

實驗14 訪問cmos ram

組合語言 第14章 埠

14.1 埠的讀寫 注意 在in 和 out 指令中,只能使用ax 或 al 來存放從埠中讀入的資料或要傳送到埠中的資料。訪問8位埠時用al,訪問16位埠時用ax。14.2 cmos ram 晶元 pc機中,有乙個cmos ram 晶元,一般簡稱cmos.晶元特徵如下 1 包含1個實時鐘和1個128...

組合語言 第14章

第十四章 埠 pc機中,和cpu通過匯流排相連的晶元除了各種暫存器外,還有以下三種晶元 1 各種介面卡 如網絡卡 顯示卡 上的介面晶元,他們控制介面卡進行工作 2 主機板上的介面晶元,cpu通過他們對部分外設進行訪問 3 其他晶元,用來儲存相關系統資訊,或進行相關的輸入輸出處理。上述三種晶元都有一組...

組合語言筆記14 埠

cpu直接讀寫資料的地方 cpu內部的暫存器 記憶體單元 各種儲存器都和 cpu的位址線 資料線 控制線相連,cpu把它們當做記憶體,看作乙個邏輯儲存器 記憶體位址空間 埠 除了儲存器外,和cpu的匯流排相連的還有下面3中晶元。1 各種介面卡 如網絡卡 顯示卡 上的介面晶元,它們控制介面卡進行工作 ...