,怎么用递归实现斐波那契数

求助,如何用递归实现斐波那契数
新人刚学,
书上有个题目,就是用递归方法实现20的斐波那契数
斐波那契数公式:F(1)=F(2)=1,F(n)=F(n-1)+F(n-2) (n>=3)
我用C很容易实现
int fun(int n)
{
  if(n<3)
  return 1;
  else
  return(fun(n-1)+fun(n-2));
}
但是用汇编要如何实现有多项的递归?
那位高手帮帮忙啊 ^_^
要递归方法,不是用其他的方法。。

------解决方案--------------------
lz看下这个:

http://topic.csdn.net/u/20071122/14/952cff37-1c98-43e0-9278-2c7089539fe0.html

初学不对之处请原谅!!!
------解决方案--------------------
LS代码正确,但大可不必写得那么复杂,应当多运用伪指令进行过程参数性质,调用约定,条件跳转等方面实现,这样的语法格式更接近C/C++