組合語言筆記14 埠

2021-07-17 03:52:30 字數 1918 閱讀 6945

☞cpu直接讀寫資料的地方

cpu內部的暫存器

記憶體單元

各種儲存器都和

cpu的位址線、資料線、控制線相連,

cpu把它們當做記憶體,看作乙個邏輯儲存器(記憶體位址空間)。

埠 除了儲存器外,和cpu的匯流排相連的還有下面3中晶元。

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

(2). 主機板上的介面晶元,

cpu通過它們對部分外設進行訪問;

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

這些晶元中,都有一組可以由cpu讀寫的暫存器,物理上處於不同的晶元中;但是從

cpu的角度看,cpu對它們進行讀寫操作都是通過控制線向它們所在的晶元發出埠讀寫命令[cpu將這些暫存器當做埠,對它們進行統一編址,從而建立了乙個統一的埠位址空間,每個埠在位址空間中都有乙個位址]。

ps:暫存器的功能十分重要,cpu對儲存器中的資料進行處理時,往往先把資料取到內部暫存器中,而後再作處理。外部暫存器是計算機中其它一些部件上用於暫存資料的暫存器,它與cpu之間通過"埠"交換資料,外部暫存器具有暫存器和記憶體儲器雙重特點。有些時候我們常把外部暫存器就稱為"埠",這種說法不太嚴格,但經常這樣說。

☞埠的讀寫

埠的讀寫和記憶體的讀寫很像。如下圖:

pc系統中,cpu最多可以定位64kb個不同的埠。埠位址的範圍為0~65536。

(1). in和out指令中,只能使用ax或者al來存放從埠中讀入的資料或者要傳送給埠中的資料;

(2). 對於256~65536的埠號需要放在dx中。

埠號 讀

寫 0~255

in al, 20h ; 從20h埠讀入乙個位元組

out 20h, al ; 往20h埠寫入乙個位元組

256~65536

mov dx, 3f8h

in al, dx ; 從3f8h埠讀入乙個位元組

mov dx, 3f8h

out dx, al ; 向3f8h埠寫入乙個位元組

☞shl和shr指令指令

實現功能

示例1(移動1位)

示例2(移動n位)

邏輯左移: shl

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

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

(3). 最低位用0補充.

moval, 01001000b

shl al, 1

moval, 01001000b

mov cl, 3

shl al, cl ;(必須放在cl中)

邏輯右移: shr

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

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

(3). 最高位用0補充.

moval, 01001001b

shr al, 1

moval, 01001000b

mov cl, 3

shr al, cl ;(必須放在cl中)

☞cmos ram晶元的操作

pc機上,微機主機板上有一塊可讀寫的ram晶元,來儲存當前系統的硬體配置和使用者對某些引數的設定。該晶元靠電池供電,關機後內部的實時鐘仍可以正常工作。

現在的廠商把bios程式做到了cmos晶元中,當開機時就可按特定鍵進入cmos設定程式對系統進行設定。所以又被人們叫做bios設定。

cmos ram晶元上還包含乙個實時鐘,該晶元內部有兩個埠,埠位址為70h和71h。cpu通過這兩個埠讀

組合語言 14埠

各種儲存器都和cpu的位址線 資料線 控制線相連。cpu在操控它們的時候,把它們都當作記憶體來對待,把它們總地看做乙個由若干儲存單元組成的邏輯儲存器,這個邏輯儲存器稱其為記憶體位址空間。在pc機系統中,和cpu通過匯流排相連的晶元除各種儲存器外,還有以下3種晶元 各種介面卡 比如,網絡卡 顯示卡 上...

筆記 組合語言 第14章 埠

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

組合語言 第14章 埠

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