Xtensa

fibonacci

call4

f.s

# f(n) = f(n-1) + f(n-2)
# f(1) = 1
# f(0) = 0
 
.globl f
.align 4
f:
        entry   sp, 16
 
        blti    a2, 2, lt2
 
        addi    a6, a2, -2
        call4   f
        mov     a3, a6
        addi    a6, a2, -1
        call4   f
        add     a3, a3, a6
        mov     a2, a3
        retw.n
 
lt2:
        retw.n

make flash monitor

I (263) main_task: Calling app_main()
f(0) = 0
f(1) = 1
f(2) = 1
f(3) = 2
f(4) = 3
f(5) = 5
f(6) = 8
f(7) = 13
f(8) = 21
f(9) = 34
f(10) = 55
f(11) = 89
f(12) = 144
f(13) = 233
f(14) = 377
f(15) = 610
f(16) = 987
f(17) = 1597
f(18) = 2584
f(19) = 4181
f(20) = 6765
f(21) = 10946
f(22) = 17711
f(23) = 28657
f(24) = 46368
f(25) = 75025
f(26) = 121393
f(27) = 196418
f(28) = 317811
f(29) = 514229
f(30) = 832040
f(31) = 1346269
f(32) = 2178309
f(33) = 3524578
f(34) = 5702887
f(35) = 9227465
f(36) = 14930352
f(37) = 24157817
f(38) = 39088169
f(39) = 63245986
I (38873) main_task: Returned from app_main()

call8

f.s

# f(n) = f(n-1) + f(n-2)
# f(1) = 1
# f(0) = 0
 
.globl f
.align 4
f:
        entry   sp, 32
 
        blti    a2, 2, lt2
 
        addi    a10, a2, -2
        call8   f
        mov     a3, a10
        addi    a10, a2, -1
        call8   f
        add     a3, a3, a10
        mov     a2, a3
        retw.n
 
lt2:
        retw.n

make flash monitor

I (263) main_task: Calling app_main()
f(0) = 0
f(1) = 1
f(2) = 1
f(3) = 2
f(4) = 3
f(5) = 5
f(6) = 8
f(7) = 13
f(8) = 21
f(9) = 34
f(10) = 55
f(11) = 89
f(12) = 144
f(13) = 233
f(14) = 377
f(15) = 610
f(16) = 987
f(17) = 1597
f(18) = 2584
f(19) = 4181
f(20) = 6765
f(21) = 10946
f(22) = 17711
f(23) = 28657
f(24) = 46368
f(25) = 75025
f(26) = 121393
f(27) = 196418
f(28) = 317811
f(29) = 514229
f(30) = 832040
f(31) = 1346269
f(32) = 2178309
f(33) = 3524578
f(34) = 5702887
f(35) = 9227465
f(36) = 14930352
f(37) = 24157817
f(38) = 39088169
f(39) = 63245986
I (42093) main_task: Returned from app_main()