MOV DL,7 ;D is n CALL Fibo HLT ;Fibonacci number ; AX holds F(i) ; BX holds F(i-1) ; CX holds previous F(i) ; DL holds n counter-- ;Loop n times C=A, A=A+B, B=C Fibo: MOV AX,1 ;AX is F(i), here F(1) MOV BX,1 ;BX is F(i-1), here F(0) NextI: MOV CX,AX ;save F(i) ADD AX,BX ;F(i+1)=F(i)+F(i-1) MOV BX,CX ;previous F(i) is now F(i-1) DEC DL ;n counter-- JNZ NextI ;until count down to zero RET MICRO-86 KIT v1.2, Sep 18, 2004 ,1:53 PM -------------------------------------------------- ADDR CODE LABEL MNEMONICS -------------------------------------------------- 1000: B2 07 MOV DL,7 1002: E8 01 00 CALL FIBO 1005: F4 HLT 1006: B8 01 00 FIBO MOV AX,1 1009: BB 01 00 MOV BX,1 100C: 8B C8 NEXTI MOV CX,AX 100E: 03 C3 ADD AX,BX 1010: 8B D9 MOV BX,CX 1012: FE CA DEC DL 1014: 75 F6 JNZ NEXTI 1016: C3 RET 1017: