|
Tips IA32(x86)汎用命令一覧 Lから始まる命令 LEAVE命令
|
IA32(x86)汎用命令一覧
このサイトで挙げる命令は汎用命令の一覧となります
調べたい命令の頭文字をクリックすると、表の下に詳細が表示されます
IA32(x86)汎用命令一覧
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
補足
|
|
Lから始まる命令
クリックすると、表の下に詳細が表示されます
LEAVE命令(High Level Procedure Exit)
LEAVE命令
|
オペコード
|
命令
|
説明
|
0xC9
|
LEAVE
|
SPをBPに設定し、次にBPをPOPします
|
0xC9
|
LEAVE
|
ESPをEBPに設定し、次にEBPをPOPします
|
詳細
ENTER命令によってセットアップされたスタックフレームをリリースします。
LEAVE命令は(EBPレジスタ内の)フレームポインタをスタックポインタレジスタ(ESP)にコピーし、それによって
スタックフレームに割り当てられていたスタック空間がリリースされます。次に、古いフレームポインタ(
ENTER命令
によってセーブされたコール元プロシージャのフレームポインタ)がスタックからEBPにPOPされ、コール元の
プロシージャのスタックフレームが元の状態に戻されます。
一般的にLEAVE命令の次に
RET命令が実行されて、プログラムがコール元に
帰ります
ENTER命令とLEAVE命令の使用についての詳細は
「IA-32 インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル」上巻の
第6章「ブロック構造言語でのプロシージャ・コール」を参照してください
影響のあるEFLAGSレジスタのフラグ
影響のあるEFLAGSレジスタのフラグ
|
フラグ
|
説明
|
ID
|
-
|
VIP
|
-
|
VIF
|
-
|
AC
|
-
|
VM
|
-
|
RF
|
-
|
NT
|
-
|
IOPL
|
-
|
OF
|
-
|
DF
|
-
|
IF
|
-
|
TF
|
-
|
SF
|
-
|
ZF
|
-
|
AF
|
-
|
PF
|
-
|
CF
|
-
|