逆アセンブルで遊んでみる(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レジスタにセットするんだな。

ということが、なんとなーく推測されます。

それがどうした!