Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .cpu cortex-m4
- .eabi_attribute 20, 1
- .eabi_attribute 21, 1
- .eabi_attribute 23, 3
- .eabi_attribute 24, 1
- .eabi_attribute 25, 1
- .eabi_attribute 26, 1
- .eabi_attribute 30, 6
- .eabi_attribute 34, 1
- .eabi_attribute 18, 4
- .file "fibonacci.c"
- .text
- .align 1
- .global fib
- .syntax unified
- .thumb
- .thumb_func
- .fpu softvfp
- .type fib, %function
- fib:
- @ args = 0, pretend = 0, frame = 8
- @ frame_needed = 1, uses_anonymous_args = 0
- push {r4, r7, lr}
- sub sp, sp, #12
- add r7, sp, #0
- str r0, [r7, #4]
- ldr r3, [r7, #4]
- cmp r3, #0
- beq .L2
- ldr r3, [r7, #4]
- cmp r3, #1
- bne .L3
- .L2:
- ldr r3, [r7, #4]
- b .L4
- .L3:
- ldr r3, [r7, #4]
- subs r3, r3, #1
- mov r0, r3
- bl fib
- mov r4, r0
- ldr r3, [r7, #4]
- subs r3, r3, #2
- mov r0, r3
- bl fib
- mov r3, r0
- add r3, r3, r4
- .L4:
- mov r0, r3
- adds r7, r7, #12
- mov sp, r7
- @ sp needed
- pop {r4, r7, pc}
- .size fib, .-fib
- .section .rodata
- .align 2
- .LC0:
- .ascii "fib(1) = %d\012\000"
- .align 2
- .LC1:
- .ascii "fib(2) = %d\012\000"
- .align 2
- .LC2:
- .ascii "fib(3) = %d\012\000"
- .align 2
- .LC3:
- .ascii "fib(4) = %d\012\000"
- .align 2
- .LC4:
- .ascii "fib(5) = %d\012\000"
- .align 2
- .LC5:
- .ascii "fib(10) = %d\012\000"
- .align 2
- .LC6:
- .ascii "fib(13) = %d\012\000"
- .text
- .align 1
- .global main
- .syntax unified
- .thumb
- .thumb_func
- .fpu softvfp
- .type main, %function
- main:
- @ args = 0, pretend = 0, frame = 8
- @ frame_needed = 1, uses_anonymous_args = 0
- push {r7, lr}
- sub sp, sp, #8
- add r7, sp, #0
- str r0, [r7, #4]
- str r1, [r7]
- movs r0, #1
- bl fib
- mov r3, r0
- mov r1, r3
- ldr r0, .L7
- bl printf
- movs r0, #2
- bl fib
- mov r3, r0
- mov r1, r3
- ldr r0, .L7+4
- bl printf
- movs r0, #3
- bl fib
- mov r3, r0
- mov r1, r3
- ldr r0, .L7+8
- bl printf
- movs r0, #4
- bl fib
- mov r3, r0
- mov r1, r3
- ldr r0, .L7+12
- bl printf
- movs r0, #5
- bl fib
- mov r3, r0
- mov r1, r3
- ldr r0, .L7+16
- bl printf
- movs r0, #10
- bl fib
- mov r3, r0
- mov r1, r3
- ldr r0, .L7+20
- bl printf
- movs r0, #13
- bl fib
- mov r3, r0
- mov r1, r3
- ldr r0, .L7+24
- bl printf
- movs r3, #0
- mov r0, r3
- adds r7, r7, #8
- mov sp, r7
- @ sp needed
- pop {r7, pc}
- .L8:
- .align 2
- .L7:
- .word .LC0
- .word .LC1
- .word .LC2
- .word .LC3
- .word .LC4
- .word .LC5
- .word .LC6
- .size main, .-main
- .ident "GCC: (Arch Repository) 6.2.0"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement