34 lines
649 B
Plaintext
34 lines
649 B
Plaintext
@extern putchar fun: character u32 -> u32
|
|
|
|
fib fun: number u32 -> u32
|
|
ret if number < 2:
|
|
number
|
|
else
|
|
fib(number - 1) + fib(number - 2)
|
|
;
|
|
;
|
|
|
|
printNum fun: number u32
|
|
biggest u32 <- 10
|
|
rep biggest <= number: biggest <- biggest * 10
|
|
biggest <- biggest / 10
|
|
|
|
rep biggest > 0:
|
|
digit u32 <- number / biggest
|
|
putchar(digit + '0')
|
|
number <- number % biggest
|
|
biggest <- biggest / 10
|
|
;
|
|
;
|
|
|
|
// Print first 20 fibonaci numbers
|
|
main fun -> u32
|
|
rep i u32 <- 0, i < 20:
|
|
res u32 <- fib(i)
|
|
printNum(res)
|
|
putchar('\n')
|
|
i <- i + 1
|
|
;
|
|
|
|
ret 0
|
|
; |