主题:[讨论]高手请进
我需要编一个程序 满足 f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2) 屏幕显示输出函数前20项,我自己的程序只能输出一项,请各位高手帮帮修改啊。 如果能帮小弟写个程序那就再好不过了,谢谢啦
下面是我的程序
DATAS SEGMENT
M EQU 20
A DB '0'
B DB '1' ;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
MAIN PROC FAR
START:
MOV AX,DATAS
MOV DS,AX
MOV CL,0
MOV AL,A
CALL SHOW_P
MOV BL,B
CALL SHOW_P1
CIRCULATE:
ADD AL,B
MOV A,AL
CALL SHOW_P
INC CL
ADD BL,AL
MOV B,BL
INC CL
CMP CL,M ;SI和M比较
JBE CIRCULATE ;SI小于M转移至CIRCULATE
MAIN ENDP
SHOW_P PROC
MOV DL,AL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
SHOW_P ENDP
SHOW_P1 PROC
MOV DL,BL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
SHOW_P1 ENDP
CODES ENDS
END START
END MAIN
下面是我的程序
DATAS SEGMENT
M EQU 20
A DB '0'
B DB '1' ;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
MAIN PROC FAR
START:
MOV AX,DATAS
MOV DS,AX
MOV CL,0
MOV AL,A
CALL SHOW_P
MOV BL,B
CALL SHOW_P1
CIRCULATE:
ADD AL,B
MOV A,AL
CALL SHOW_P
INC CL
ADD BL,AL
MOV B,BL
INC CL
CMP CL,M ;SI和M比较
JBE CIRCULATE ;SI小于M转移至CIRCULATE
MAIN ENDP
SHOW_P PROC
MOV DL,AL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
SHOW_P ENDP
SHOW_P1 PROC
MOV DL,BL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
SHOW_P1 ENDP
CODES ENDS
END START
END MAIN