我需要编一个程序  满足 f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)屏幕输出前20项
我自己的程序只能输出一项,请各位高手帮帮修改啊。感激   下面是我的程序
DATAS SEGMENT
   M EQU 20
   Z DW  20 DUP(?)     ;此处输入数据段代码  
DATAS ENDS

STACKS SEGMENT
                       ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV CX,0
    MOV BX,0
    MOV SI,OFFSET Z
    MOV Z[SI],'0'
    CALL SHOW_P
    INC SI
    MOV Z[SI],'1'
    CALL SHOW_P
CIRCULATE:
    ADD CX,Z[SI]
    CALL SHOW_P1
    ADD SI,1
    CMP SI,M         ;SI和M比较
    JBE CIRCULATE  ;SI小于M转移至CIRCULATE  
SHOW_P PROC
    MOV DX,Z[SI]
    MOV  AH,02H
    INT  21H
  
    MOV  AH,4CH
    INT  21H
  
    RET
    SHOW_P ENDP
SHOW_P1 PROC
    MOV DX,CX
    MOV  AH,02H
    INT  21H
  
    MOV  AH,4CH
    INT  21H
  
    RET
    SHOW_P1 ENDP        
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START