x86のアセンブラ命令にENTER・LEAVEという物がある。
ENTERは2つのオペランドをとり、ENTER $0, $0などと使用する
LEAVEはアセンブリ関数の最後に記述することが多い
ENTER $0, $5は次のようなコードと同等である(ただし、ENTERは速度が遅い...)
push ebp mov ebp, esp sub esp, 5
LEAVEが行うことは、ENTERのほぼ逆である(こちらは遅くはないはず)
mov esp, ebp pop ebp
ENTERは遅いのでコンパイラもあまり使用しないらしい