[em18]请大家帮我看一下这个求前100个菲波那契(Fibonacci)数的任意一个的程序,到底错在哪里了,其中CX已经在前面的程序中输入了,具体输出也在后面写了,可是运行的时候就只能显示前24个(只用了16位),而到第25个的时候就显示下面这个
      NTVDM CPU 遇到无效的指令.
      CS:05a4 IP:2511 OP:f0 8b 46 ee 89选择"关闭"终止应用程序.
程序段如下:
CX为要求的第几个数,no定义如下 no  dw   0,0,0,0,1

       mov ax,0     ;栈初始为0
       push ax 
       push ax
       push ax
       push ax
       push ax
again:
       mov si,no[0]
       mov di,no[2]
       mov dx,no[4]
       mov bx,no[6]      
       mov ax,no[8]       
       pop no[0]
       pop no[2]
       pop no[4]
       pop no[6]
       pop no[8]
       add ax,no[8]
       adc bx,no[6]
       adc dx,no[4]
       adc di,no[2]
       adc si,no[0]
        push ax
        push bx       
        push dx
        push di
        push si
       loop again
请各位高手不吝赐教