дана программа вывода чисел Фибоначчи

MODULE Fibonacci;
IMPORT StdLog;
PROCEDURE Do*;
VAR
a, b, c, i, n: INTEGER;
BEGIN
a := 0;
b := 1;
n := 9;
FOR i := 0 TO n DO
c := b;
b := a + b;
a := c;
StdLog.Int( c );
END;
END Do;
END Fibonacci.

все просто-выводит 10 чисел.Если однако убрать строчку n := 9; то программа начнет выводить бесконечное число цифр пока блекбох не зависнет с надписью "NOT RESPONDING".
Ясное дело что отведенный операционной системой стек оказался переполненым и ОС аварийно остановила программу.Вопрос: как узнать/вычислить сколько чисел максимально может выдать программа не зависнув?