寄存器間接尋址:
基址寄存器BX BP
變址寄存器SI DI
四選一
隱含規則:
指令中使用BP寄存器,隱含對應使用SS段寄存器
其餘情況隱含使用DS段寄存器
基址尋址/變址尋址:
BX/BP/SI/DI 四選一 + 地址偏移
隱含規則:
段寄存器隱含規則與寄存器間接尋址相同
基址變址尋址
基址+變址+偏移量
BX與BP二選一
SI與DI二選一
另外再加上偏移量
隱含規則:
基址尋址爲BX時,隱含使用段寄存器DS
當基址尋址爲BP時,隱含使用段寄存器SS
串操作尋址方式:
源操作數,隱含使用SI作爲地址指針
目的操作時,隱含使用DI作爲地址指針
在串操作完後,自動對SI和DI進行修改,指向下一個操作數。
I/O端口尋址:
IN、OUT
1、直接端口尋址:端口數0-255
2、間接尋址:大於0-255時
mov 指令:
CS只能作爲源操作數
存儲器之間不能直接傳輸數
mov不影響標誌位
XCHG交換指令:
不影響標誌位
不能再存儲器之間交換
不能使用四個段寄存器和標誌寄存器和IP寄存器
標誌存送寄存器:
LAHF:將標誌寄存器低八位送到AH寄存器
SAHF:將AH送到標誌寄存器的低八位
PUSHF:將標誌寄存器送入棧中
POPF:棧中傳到標誌寄存器中
地址傳送寄存:
LEA:地址操作,相加
LDS/LES:會修改段寄存器
計算指令:
ADC:帶進位的加法
SBB:帶借位的減法
INC:加一
DEC:減一
NEG:0減操作數
測試指令:
TEST DEST ,SRC :結果不送入目的操作數
CMP:
移位、循環移位指令
算數移位:SAL SAR
邏輯移位:SHL SHR
小循環移位:ROL ROR
大循環移位:RCL RCR
COUNT決定移位的次數,COUNT大於1時,要用CL寄存器指定來表示移位次數
處理器控制指令:
標誌位操作指令:
CLS:清理進位標誌,置CF爲0
STC:置CF爲1
CMC:CF值取反
CLD:清除方向標誌DF=0
STD :置位方向標誌DF=1
CLI :清除中斷標誌 IF = 0
STI : 置位中斷標誌IF= 1
外部事件同步:
HLT:暫停指令
WAIT:等待指令
ESC:外部刺耳處理器指令前綴
LOCK:總線鎖定指令
空操作指令:NOP 佔用三個時鐘週期