組合語言 第14章

2022-04-04 14:48:33 字數 1477 閱讀 7894

第十四章 埠

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

上述三種晶元都有一組供cpu讀寫的暫存器,物理上可能處於不同的晶元中,但均具備以下特點:

1、所在的晶元與cpu通過匯流排相連;

2、cpu對這些晶元進行讀寫操作時都通過控制線向其所在的晶元發出埠讀寫指令;

3、從cpu的角度,講這些暫存器都當做埠,並對他們進行統一編址,建立統一的埠位址空間,每個埠在位址空間中均有乙個位址。

*埠的讀寫

(1)pc系統中cpu最多可定為64kb個埠,埠位址範圍為0~65536,即0h~ffffh;

(2)埠讀寫指令為in、out;如in al,60h表示從60h號埠讀取資料放入al暫存器;out 60h,al 表示將al內的資料寫入60h號埠;

(3)對0~255號埠,讀寫操作時可直接用位址表示;對256~65536號埠,埠號須先存入dx中,再通過in/out指令對dx進行操作;

(4)在in/out指令中,只能使用ax或al存放要讀取或寫入埠的資料;

*cmos ram晶元

(1)cmos包含乙個實時鐘和乙個有128個儲存單元的ram儲存器;cmos晶元依靠電池供電,關機後實時鐘仍可工作,ram資訊不丟失;

(2)128個儲存單元中0~0dh單元用來儲存時間資訊;其餘大部分儲存系統配置資訊,供系統啟動時bios程式讀取;

(3)cmos晶元有兩個埠:70h、71h。70h為位址埠,用於存放要訪問的cmos ram單元的位址,71h為資料埠,存放從選定的ram單元中讀取/寫入的資料。

(4)基於上述(3),對cmos的操作一般分為兩步:a.將需要進行操作的ram單元位址送入70h;b.從71h中讀取或者寫入資料。

*shl和shr指令

(1)操作物件為記憶體單元或暫存器,即8位或16位;

(2)shl:左移指令;如al=01100011b,shl al,1執行後,al=11000110b,同時原數的最高位『0』儲存至cf標誌位。

(3)如果左移位數超過1,則用cl儲存移位數量,例:mov al,00110011b;mov cl,2;shl al,cl   執行後al=11001100b,cf=0(對超過1的移位,cf中存放的是最後乙個被移出的bit位資料。

(4)shr:右移指令,與shl類似。

*cmos中時間資訊

(1)時間資訊對應ram儲存單元:

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

(2)bcd碼:以4位二進位制數表示十進位制的方法,如bcd碼為0001 1000對應十進位制為18;

(3)cmos中時間資訊以bcd碼形式存放。

組合語言 第14章 埠

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

筆記 組合語言 第14章 埠

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

組合語言 第6 8章

6.1 在 段中使用資料 在程式中定義我們希望處理的資料,這些資料就會被編譯 連線程式作為程式的一部分寫到可執行檔案中。當可執行檔案中的程式被加入記憶體時,這些資料也同時被加入記憶體中,我們要處理的資料也就自然而然的獲得了儲存空間。6.2 在 段中使用棧 程式執行時,定義的資料存放在cs 0 cs ...