逆アセンブルで遊んでみる(1)0を返す関数
「定数0を返す関数」の逆アセンブルです。
/* asm001.c */ int func(void) { return 0; }
0: 55 push %ebp 1: 89 e5 mov %esp,%ebp 3: b8 00 00 00 00 mov $0x0,%eax 8: 5d pop %ebp 9: c3 ret
asm000.oとの差分を拾ってみると…
・eaxレジスタに対するmov命令のオペコードは、「b8」なんだろな。 ・戻り値(0)は、eaxレジスタにセットするんだな。
ということが、なんとなーく推測されます。
それがどうした!