int rfact(int x) { int rval; if (x <= 1) return 1; Recursive rval = rfact(x-1); return rval * x; } Factorial Registers %eax digunakan tanpa disimpan lebih dahulu %ebx digunakan, tetapi disimpan dahulu diawal dan dikembalikan lagi di akhir