主题:[讨论]高手指点我啊!!!!!!!!!!!!!!!!
我需要编一个程序 满足 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
我自己的程序只能输出一项,请各位高手帮帮修改啊。感激 下面是我的程序
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