1. 程式人生 > >彙編指令彙總及英文全稱

彙編指令彙總及英文全稱

1、通用資料傳送指令 
MOV—-> move 
MOVSX—->extended move with sign data 
MOVZX—->extended move with zero data 
PUSH—->push 
POP—->pop 
PUSHA—->push all 
POPA—->pop all 
PUSHAD—->push all data 
POPAD—->pop all data 
BSWAP—->byte swap 
XCHG—->exchange 
CMPXCHG—->compare and change 
XADD—->exchange and add 
XLAT—->translate

2、輸入輸出埠傳送指令 
IN—->input 
OUT—->output

3、目的地址傳送指令 
LEA—->load effective address,載入有效的地址 
LDS—->load DS 載入資料段 
LES—->load ES 載入附加段 
LFS—->load FS 載入標記段 
LGS—->load GS 載入全域性段 
LSS—->load SS 載入堆疊段

4、標誌傳送指令 
LAHF—->load AH from flag 
SAHF—->save AH to flag 
PUSHF—->push flag 
POPF—->pop flag 
PUSHD—->push dflag 
POPD—->pop dflag

二、算術運算指令 
ADD—->add 
ADC—->add with carry 
INC—->increase 1 
AAA—->ascii add with adjust 
DAA—->decimal add with adjust 
SUB—->substract 
SBB—->substract with borrow 
DEC—->decrease 1 
NEC—->negative 
CMP—->compare 
AAS—->ascii adjust on substract 
DAS—->decimal adjust on substract 
MUL—->multiplication 
IMUL—->integer multiplication 
AAM—->ascii adjust on multiplication 
DIV—->divide 
IDIV—->integer divide 
AAD—->ascii adjust on divide 
CBW—->change byte to word 
CWD—->change word to double word 
CWDE—->change word to double word with sign to EAX 
CDQ—->change double word to quadrate word

三、邏輯運算指令 
AND—->and 
OR—->or 
XOR—->xor 
NOT—->not 
TEST—->test 
SHL—->shift left 
SAL—->arithmatic shift left 
SHR—->shift right 
SAR—->arithmatic shift right 
ROL—->rotate left 
ROR—->rotate right 
RCL—->rotate left with carry 
RCR—->rotate right with carry

四、串指令 
MOVS—->move string 
CMPS—->compare string 
SCAS—->scan string 
LODS—->load string 
STOS—->store string 
REP—->repeat 
REPE—->repeat when equal 
REPZ—->repeat when zero flag 
REPNE—->repeat when not equal 
REPNZ—->repeat when zero flag 
REPC—->repeat when carry flag 
REPNC—->repeat when not carry flag

五、程式轉移指令 
1>無條件轉移指令(長轉移) 
JMP—->jump 
CALL—->call 
RET—->return 
RETF—->return far

2>條件轉移指令(短轉移,-128到+127的距離內) 
JAE—->jump when above or equal 
JNB—->jump when not below 
JB—->jump when below 
JNAE—->jump when not above or equal 
JBE—->jump when below or equal 
JNA—->jump when not above 
JG—->jump when greater 
JNLE—->jump when not less or equal 
JGE—->jump when greater or equal 
JNL—->jump when not less 
JL—->jump when less 
JNGE—->jump when not greater or equal 
JLE—->jump when less or equal 
JNG—->jump when not greater 
JE—->jump when equal 
JZ—->jump when has zero flag 
JNE—->jump when not equal 
JNZ—->jump when not has zero flag 
JC—->jump when has carry flag 
JNC—->jump when not has carry flag 
JNO—->jump when not has overflow flag 
JNP—->jump when not has parity flag 
JPO—->jump when parity flag is odd 
JNS—->jump when not has sign flag 
JO—->jump when has overflow flag 
JP—->jump when has parity flag 
JPE—->jump when parity flag is even 
JS—->jump when has sign flag 
3>迴圈控制指令(短轉移) 
LOOP—->loop 
LOOPE—->loop equal 
LOOPZ—->loop zero 
LOOPNE—->loop not equal 
LOOPNZ—->loop not zero 
JCXZ—->jump when CX is zero 
JECXZ—->jump when ECX is zero

4>中斷指令 
INT—->interrupt 
INTO—->overflow interrupt 
IRET—->interrupt return

5>處理器控制指令 
HLT—->halt 
WAIT—->wait 
ESC—->escape 
LOCK—->lock 
NOP—->no operation 
STC—->set carry 
CLC—->clear carry 
CMC—->carry make change 
STD—->set direction 
CLD—->clear direction 
STI—->set interrupt 
CLI—->clear interrupt

六、偽指令 
DW—->definw word 
PROC—->procedure 
ENDP—->end of procedure 
SEGMENT—->segment 
ASSUME—->assume 
ENDS—->end segment 
END—->end

普通暫存器 
AH&AL=AX(accumulator):累加暫存器 
BH&BL=BX(base):基址暫存器 
CH&CL=CX(count):計數暫存器 
DH&DL=DX(data):資料暫存器 
SP(Stack Pointer):堆疊指標暫存器 
BP(Base Pointer):基址指標暫存器 
SI(Source Index):源變址暫存器 
DI(Destination Index):目的變址暫存器 
IP(Instruction Pointer):指令指標暫存器 
CS(Code Segment):程式碼段暫存器 
DS(Data Segment):資料段暫存器 
SS(Stack Segment):堆疊段暫存器 
ES(Extra Segment):附加段暫存器 

標誌暫存器:

OF overflow flag 溢位標誌 運算元超出機器能表示的範圍表示溢位,溢位時為1。 
SF sign Flag 符號標誌 記錄運算結果的符號,結果負時為1。 
ZF zero flag 零標誌 運算結果等於0時為1,否則為0。 
CF carry flag 進位標誌 最高有效位產生進位時為1,否則為0。 
AF auxiliary carry flag 輔助進位標誌運算時,第3位向第4位產生進位時為1,否則為0。 
PF parity flag 奇偶標誌 運算結果運算元位為1的個數為偶數個時為1,否則為0。 
DF direcion flag 方向標誌 用於串處理,DF=1時,每次操作後使SI和DI減小,DF=0時則增大。 
IF interrupt flag 中斷標誌 IF=1時,允許CPU響應可遮蔽中斷,否則關閉中斷。 
TF trap flag 陷阱標誌 用於除錯單步操作。