目标:输入N的值,输出显示斐波那契数列至第N个数。
运行结果如图
代码
STACK SEGMENT STACK 'STACK'
DW 100H DUP(?)
TOP LABEL WORD
STACK ENDS
DATA SEGMENT
N DW ? ;N>23时,即从f(24)=46368>32767开始,会开始产生溢出
F1 DW 0
F2 DW 1
F3 DW ?
MESS1 DB 'Please input. N=','$'
MESS2 DB 0AH,0DH,'Wrong input! Please input again. N=','$'
MESS3 DB 'Fibonacci:','$'
MESS4 DB 0AH,0DH,'NAM:dlj_luo','$'
MESS5 DB 0AH,0DH,'NO.20220425','$'
MESS6 DB ' ','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, ES:DATA, SS:STACK ;分配定义段
;显示字符串宏指令
DISPMSG MACRO MESSAGE
PUSH AX
PUSH DX
PUSH DI
LEA DX, MESSAGE
MOV AH, 09H
INT 21H
POP DI
POP DX
POP AX
ENDM
;主程序
START:
MOV AX, DATA
MO