在pc機系統中,和cpu通過匯流排相連的晶元除了各種儲存器外,還有以下3中晶元。
各種介面卡(比如,網絡卡,顯示卡)上的介面晶元,它們控制介面卡進行工作;
主機板上的介面晶元,cpu通過它們對部分外設進行訪問;
這些晶元中,都有一組可以由cpu讀寫的暫存器。這些暫存器,它們在物理上可能處於不同的晶元中,但它們在以下兩點上相同。
可見,從cpu的角度,將這些暫存器都當作埠,對它們進行統一編址,從而建立了乙個同意的埠位址空間。每一的埠在位址空間中都有乙個位址。
cpu可以直接讀寫以下3個地方的資料。
cpu內部的暫存器
記憶體單元
埠在訪問埠的時候,cpu通過埠位址來定位埠。因為埠所在的晶元和cpu通過匯流排相連,所以,埠位址和記憶體位址一樣,通過位址匯流排來傳遞。在pc系統中,cpu最多可以定位64kb個不同的埠。則埠位址的範圍為0~65535。
對埠的讀寫不能用mov,push,pop等記憶體讀寫指令。埠的讀寫指令只有兩條:in 和 out,分別用於從埠讀取資料和往埠寫入資料。
cpu執行記憶體訪問指令和埠訪問指令時候,匯流排上的資訊:
訪問記憶體:
mov ax,ds:[8] ;假設執行前(ds)=0
訪問埠:
in al,60h ;從60h號埠讀入乙個位元組
cpu通過位址線將位址資訊60h發出;
cpu通過控制線發出埠讀命令,選中埠所在的晶元,並通知它,將要從中讀資料;
埠所在的晶元將60h埠中的資料通過資料線送入cpu。
注意在 in 和 out指令中,只能使用ax或al來存放從埠中讀入的資料或要傳送到埠的資料。訪問8位埠(0~255)時用al,訪問16位埠(256 ~ 65536)時用ax。
pc機中,有乙個 cmos ram晶元,一般簡稱為cmos。此晶元的特徵如下。
shl是邏輯左移指令,它的功能為:
shr是邏輯右移指令,它和shl所進行的資料操作剛好相反。
組合語言 埠
在pc機系統中,和cpu通過匯流排相連的晶元除各種儲存器外,還有以下3種晶元。各種介面卡 比如,網絡卡 顯示卡 上的介面晶元,它們控制介面卡進行工作 主機板上的介面晶元,cpu通過它們對部分外設進行訪問 在這些晶元中,都有一組可以由cpu讀寫的暫存器。這些暫存器,它們在物理上可能處於不同的晶元中,但...
組合語言 14埠
各種儲存器都和cpu的位址線 資料線 控制線相連。cpu在操控它們的時候,把它們都當作記憶體來對待,把它們總地看做乙個由若干儲存單元組成的邏輯儲存器,這個邏輯儲存器稱其為記憶體位址空間。在pc機系統中,和cpu通過匯流排相連的晶元除各種儲存器外,還有以下3種晶元 各種介面卡 比如,網絡卡 顯示卡 上...
組合語言筆記14 埠
cpu直接讀寫資料的地方 cpu內部的暫存器 記憶體單元 各種儲存器都和 cpu的位址線 資料線 控制線相連,cpu把它們當做記憶體,看作乙個邏輯儲存器 記憶體位址空間 埠 除了儲存器外,和cpu的匯流排相連的還有下面3中晶元。1 各種介面卡 如網絡卡 顯示卡 上的介面晶元,它們控制介面卡進行工作 ...