組合語言 埠

2022-05-07 12:15:10 字數 999 閱讀 4126

在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 各種介面卡 如網絡卡 顯示卡 上的介面晶元,它們控制介面卡進行工作 ...