Alloc 分配記憶體
Registersymbol "變數名稱"註冊一個位置
Label 標籤
MOV 目的,來源 將來源資料複製到目的
MOVZX 目的,來源 將BIT加倍後複製,8BIT→16BIT
MOVSX 目的,來源 同上,不過此為有負號的
XCHG 參數1,參數2 參數1 與2 內值互調
PUSH 來源 將來源資料放入堆疊記憶體,即將來源放入SS:[SP-3]然後SP減3
POP 目的 從堆疊取出資料放入目的,即SP加3後取出SS:[SP-3]的資料放到目的
PUSHA PUSH ax,cx,dx,bx,sp,bp,si,di
POPA POP di,si,bp,sp,bx,dx,cx,ax
PUSHAD eax,ecx,edx,ebx,esp,ebp,esi,edi
POPAD edi,esi,ebp,esp,ebx,edx,ecx,eax
XLAT 取出DS:[BX+AL]放入AL
LEA 暫存器,記憶體 讓暫存器指向指定的記憶體位址,此時暫存器的內容為該記憶體的位址 ,而非記憶體的內含值
LDS 暫存器,記憶體變數名 [記憶體]存到暫存器,[記憶體+2]存到DS
LES 暫存器,記憶體變數名 [記憶體]存到暫存器,[記憶體+2]存到ES
LSS 暫存器,記憶體變數名 [記憶體]存到暫存器,[記憶體+2]存到SS
LFS 暫存器,記憶體變數名 [記憶體]存到暫存器,[記憶體+2]存到FS
LGS 暫存器,記憶體變數名 [記憶體]存到暫存器,[記憶體+2]存到GS
MOVSB,MOVSW,MOVSD 複製DS:[SI]至ES:[DI]單位為1/2/4 bytes,複製後SI及DI的值加1/2/4
CMPSB,CMPSW,CMPSD 比較DS:[SI]與ES:[DI]單位為1/2/4 bytes,比較後SI及DI的值加1/2/4
STOSB,STOSW,STOSD 複製DS:[SI]至AL/AX/EAX,複製後SI加1/2/4
SCASB,SCASW,SCASD 比較DS:[SI]與AL/AX/EAX,比較後SI加1/2/4
LODSB,LODSW,LODSD 複製DS:[SI]至AL/AX/EAX,複製後SI加1/2/4
ADD 目的,來源 目的=目的+來源
ACD 目的,來源 目的=目的+來源+C旗標
INC 運算元 運算元=運算元+1
SUB 目的,來源 目的=目的-來源
SBB 目的=目的-來源-C旗標
DEC 運算元=運算元-1
CMP 目的,來源 兩者比較,相當於目的減來源,但只回應至旗標
MUL 目的 AL/AX/EAX乘以目的,結果放至AX/DX:AX/EDX:EAX
IMUL 目的 有號的AL/AX/EAX乘以有號的目的,結果放至AX/DX:AX/EDX:EAX
IMUL 目的,來源 有號的來源乘以有號的目的,結果放至X/DX:AX/EDX:EAX
IMUL 目的,來源,立即值 有號的來源乘以立即值,結果放至目的
DIV 來源 AX/DX:AX/EDX:EAX除以來源,商放入AL/AX/EAX,餘數放入AH/DX/EDX
IDIV 有號的AX/DX:AX/EDX:EAX除以來源,商放入AL/AX/EAX,餘數放入/EDX
AND 目的,來源 目的=目的 and 來源
OR 目的,來源 目的=目的 or 來源
XOR 目的,來源 目的=目的 xor 來源
TEST 目的,來源 會做與 and 相同的動作,但只回應至旗標
NOT 運算元 運算元等於not 運算元
CLC 設 C 旗標等於0
STC 設 C 旗標等於1
CMC not C 旗標
CLD 設 D 旗標為0
STD 設 D 旗標為1
CLI 設 I 旗標為0
STI 設 I 旗標為1
JMP 位址 跳躍至指定位址
Jxx 位址 條件式跳躍
Je 如果均等執行跳躍
Jne 如果不相等執行跳躍
Jg 如果大於執行跳躍
Jng 如果不大於(小於等於)執行跳躍
Jl 如果比較少執行跳躍
Jnl 如果不是比較少執行跳躍
Jge 如果大於或等於執行跳躍
Jle 如果小於或等於執行跳躍
============================================================================
|