//------------------------------------------------------------------- // fib.cpp // // This program displays a mathematical table showing values of // the famous Fibonacci Sequence. These values are computed by // an external assembly language function, using this recursive // rule (expressed in C++): // // unsigned int fib( unsigned int n ) // { // if ( n < 2 ) return n; // else return fib( n-2 ) + fib( n-1 ); // } // // It is left to you (as an exercise) to implement the external // 'fib()' function using your knowledge of assembly language. // // compile using: g++ fib.cpp fib.s -o fib // // programmer: ALLAN CRUSE // written on: 10 MAY 2005 //------------------------------------------------------------------- #include // for printf() #define NMAX 18 // maximum function-argument extern "C" unsigned int fib( unsigned int n ); int main( void ) { printf( "\n\t\t N fib(N) " ); printf( "\n\t\t----------------------------------" ); for (int n = 0; n <= NMAX; n++) printf( "\n\t\t %10u %10u ", n, fib(n) ); printf( "\n\t\t----------------------------------" ); printf( "\n\n" ); }