傳送指令: 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路徑...