中山彙編第七集

2021-08-30 03:25:39 字數 2177 閱讀 6772

傳送指令: mov dst, src

源運算元可以是累加器,暫存器,儲存單元以及立即數,而目的運算元可以是累加器,暫存器和儲存單元;

注意:源和目的運算元不能同時是段暫存器;**段暫存器cs不能作為目的;指令指標既不能作為源,也不能作為目的。

立即數不能直接送到段暫存器;

除了串操作指令外,不能同時是儲存器運算元;必須有乙個是暫存器

1. mov bx, offset table;

將table的有效位址(即偏移位址)傳給bx,offset是屬性操作符;

2. 交換指令

xchg  oprd1, oprd2

此指令把運算元oprd1的內容與oprd2的內容進行交換;

oprd1和oprd2可以是通用暫存器和儲存單元。但不包括段暫存器,也不能同時是儲存單元,還不能有立即數,

可採用各種儲存器定址方式來指定儲存單元。

3. 位址傳送指令 8086/8088有如下位址傳送指令。

(1) 指令lea(load effective address)

lea reg,oprd

該指令把運算元oprd的有效位址傳送到運算元reg。

運算元oprd必須是乙個儲存器運算元,運算元reg必須是乙個16位的通用暫存器。

例如:lea ax, buffer

(2) 指令lds(load pointer into ds)

(3) 指令les(load pointer into es)

4. 堆疊操作指令

堆疊是一段記憶體區域

稱為棧底的一端位址較大(高位址),稱為棧頂的一端位址較小(低位址);

堆疊的段值在堆疊段暫存器ss中,堆疊指標暫存器sp始終指向棧頂。

堆疊是以「後進先出」方式工作的乙個儲存區。

堆疊的訪問必須以字為單位。

(1)進棧指令 push

push src

執行的操作:(sp)<=== (sp)-2

因為sp始終指向棧頂,而棧頂又是小位址,因此是減法。

它先把堆疊指標暫存器sp的值減去2,然後把源運算元src送入由sp所指的棧頂。

源運算元src可以是通用暫存器和段暫存器,也可以是字儲存單元。

(2) 出棧指令pop

格式如下: pop dst

執行的操作:(sp)  <====(sp)+ 2

該指令從棧頂彈出乙個字資料到目的運算元dst.

它先把堆疊指標暫存器sp所指的字資料送至目的的運算元dst,然後sp值加2.

注意:dst可以是通用暫存器和段暫存器(但cs**段例外),也可以是字儲存單元

5. 標誌操作指令

(1) lahf (load ah with flags)

(2) sahf(store ah into flags)

(3) pushf

(4) popf

6. 標誌位操作指令:

標誌位操作指令僅對指令規定的標誌產生指令規定的影響,對其他標誌沒有影響。

(1)清進製標誌指令clc(clear carry flag)

該指令使進製標誌為0

(2)置進製標誌指令stc(set carry flag)

該指令使進製標誌為1.

(3)進製標誌取反指令cmc(complement carry flag)

該指令使進製標誌取反。如cf為1,則使cf為0;如cf為0,則cf為1.    

(4)清方向標誌指令cld(clear direction flag)

該指令使方向標誌df為0,從而在執行串操作指令時,使位址按遞增方式變化。

(5)置方向標誌指令std(set direction flag)

該指令使方向標誌df為1.從而在執行串操作指令時,使位址按遞減方式變化

(6)  清中斷允許標誌指令cli(clear interrupt enable flag)

該指令使中斷允許標誌if為0,於是cpu就不響應來自外部裝置的可遮蔽中斷。但對不可遮蔽中斷和內部中斷都沒有影響

(7) 置中斷允許標誌指令sti(set interrupt enable flag)

該指令使中斷允許標誌if為1,於是cpu就可以響應可遮蔽中斷。

FJUT ACM 2133 第七集,奇思妙想

timelimit 2000ms memorylimit 128mb 64 bit integer io format lld problem description 在經過乙個比賽的小插曲後,小a不僅得到主辦方的賞識後,還撈到了一大筆錢。有了足夠的錢後,他繼續出發前往那個聚會城市。由於小a和小c每...

4點起步C (第七集)

本集的主要內容有 建構函式和析構函式 c 在類說明中引進了建構函式 建構函式在物件被建立時自動呼叫,為物件分配空間,物件所要執行的所有初始化工作都由建構函式自動完成。與建構函式相對對應的是析構函式。析構函式在乙個物件消失時被自動呼叫,完成物件使用結束時所要進行的清理工作,釋放被物件占用的資源。1.規...

測試之第七集ADB移動端該怎麼測試

檢視裝置 adb devices 這個命令是檢視當前連線的裝置,連線到計算機的android裝置或者模擬器將會列出顯示 開啟服務 adb start server 關閉服務 adb kill server 安裝軟體 adb install apk路徑 覆蓋安裝 adb install r apk路徑...