x86アセンブラ解説

主要な命令

分類 命令   操作内容
データ転送 MOV MOVe  
LEA    
XCHG    
算術演算 ADD    
SUB    
MUL    
DIV    
INC    
DEC    
論理演算 AND    
OR    
XOR    
NEG    
NOT    
比較 CMP CoMPare  
TEST    
ジャンプ JMP    
JE/JZ    
JNE/JNZ    
JS    
JNS    
JG/JNLE    
JGE/JNL    
JL/JNGE    
JLE/JNG    
JA/JNBE    
JAE/JNB    
JB/JNAE    
JBE/JNA    
LOOP    
JECXZ    
コール、スタック CALL    
RET    
PUSH    
POP    
PUSHAD/POPAD    
PUSHFD/POPFD    
ビットシフト SAL/SHL    
SAR    
SHR    
ストリング MOVSD/CMPSD    
その他 NOP    
BSWAP    
INT    

ステータスフラグ (Status flag)

フラグ 名称 説明
CF キャリー フラグ
(Carry Flag)
 
ZF ゼロ フラグ
(Zero Flag)
 
SF サイン フラグ
(Sign Flag)
 
TF トラップ フラグ
(Trap Flag)
 
DF ディレクション フラグ
(Direction Flag)
 
OF オーバーフロー フラグ
(Overflow Flag)
 

汎用レジスタ

レジスタ 名称 説明
EAX アキュムレータ レジスタ
(Extended Accumulator Register)
 
EBX ベース レジスタ
(Extended Base Register)
 
ECX カウンタ レジスタ
(Extended Counter Register)
 
EDX データ レジスタ
(Extended Data Register)
 
ESI ソース インデックス
(Extended Source Index)
 
EDI ディスティネーション インデックス
(Extended Destination Index)
 
レジスタ 名称 説明
ESP スタック ポインタ
(Extended Stack Pointer
 
EBP ベース ポインタ
(Extended Base Pointer
 
EIP インストラクション ポインタ  
EFLAGS プログラム ステータス/コントロール