Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .arch armv7-a
- .eabi_attribute 28, 1
- .fpu vfpv3-d16
- .eabi_attribute 20, 1
- .eabi_attribute 21, 1
- .eabi_attribute 23, 3
- .eabi_attribute 24, 1
- .eabi_attribute 25, 1
- .eabi_attribute 26, 2
- .eabi_attribute 30, 6
- .eabi_attribute 34, 1
- .eabi_attribute 18, 4
- .file "main.c"
- .section .rodata
- .align 2
- .LC0:
- .ascii "%Lf\000"
- .align 2
- .LC1:
- .ascii "pause\000"
- .text
- .align 2
- .global main
- .syntax unified
- .thumb
- .thumb_func
- .type main, %function
- main:
- @ args = 0, pretend = 0, frame = 40
- @ frame_needed = 1, uses_anonymous_args = 0
- push {r4, r7, lr}
- sub sp, sp, #44
- add r7, sp, #0
- movs r0, #0
- bl time
- mov r3, r0
- mov r0, r3
- bl srand
- mov r3, #0
- mov r4, #0
- strd r3, [r7, #8]
- movw r3, #10000
- str r3, [r7, #4]
- mov r3, #0
- mov r4, #0
- strd r3, [r7, #8]
- movs r3, #0
- str r3, [r7]
- b .L2
- .L4:
- bl rand
- vmov s15, r0 @ int
- vcvt.f64.s32 d6, s15
- vldr.64 d5, .L6
- vdiv.f64 d7, d6, d5
- vstr.64 d7, [r7, #16]
- bl rand
- vmov s15, r0 @ int
- vcvt.f64.s32 d6, s15
- vldr.64 d5, .L6
- vdiv.f64 d7, d6, d5
- vstr.64 d7, [r7, #24]
- vldr.64 d1, [r7, #24]
- vldr.64 d0, [r7, #16]
- bl circle
- mov r3, r0
- cmp r3, #0
- beq .L3
- vldr.64 d7, [r7, #8]
- vmov.f64 d6, #1.0e+0
- vadd.f64 d7, d7, d6
- vstr.64 d7, [r7, #8]
- .L3:
- ldr r3, [r7]
- adds r3, r3, #1
- str r3, [r7]
- .L2:
- ldr r2, [r7]
- ldr r3, [r7, #4]
- cmp r2, r3
- blt .L4
- ldr r3, [r7, #4]
- vmov s15, r3 @ int
- vcvt.f64.s32 d6, s15
- vldr.64 d5, [r7, #8]
- vdiv.f64 d7, d5, d6
- vmov.f64 d6, #4.0e+0
- vmul.f64 d7, d7, d6
- vstr.64 d7, [r7, #32]
- ldrd r2, [r7, #32]
- movw r0, #:lower16:.LC0
- movt r0, #:upper16:.LC0
- bl printf
- movw r0, #:lower16:.LC1
- movt r0, #:upper16:.LC1
- bl system
- movs r3, #0
- mov r0, r3
- adds r7, r7, #44
- mov sp, r7
- @ sp needed
- pop {r4, r7, pc}
- .L7:
- .align 3
- .L6:
- .word 4290772992
- .word 1105199103
- .size main, .-main
- .align 2
- .global circle
- .syntax unified
- .thumb
- .thumb_func
- .type circle, %function
- circle:
- @ args = 0, pretend = 0, frame = 16
- @ frame_needed = 1, uses_anonymous_args = 0
- @ link register save eliminated.
- push {r7}
- sub sp, sp, #20
- add r7, sp, #0
- vstr.64 d0, [r7, #8]
- vstr.64 d1, [r7]
- vldr.64 d6, [r7, #8]
- vldr.64 d7, [r7, #8]
- vmul.f64 d6, d6, d7
- vldr.64 d5, [r7]
- vldr.64 d7, [r7]
- vmul.f64 d7, d5, d7
- vadd.f64 d7, d6, d7
- vmov.f64 d6, #1.0e+0
- vcmpe.f64 d7, d6
- vmrs APSR_nzcv, FPSCR
- bhi .L13
- movs r3, #1
- b .L11
- .L13:
- movs r3, #0
- .L11:
- mov r0, r3
- adds r7, r7, #20
- mov sp, r7
- @ sp needed
- ldr r7, [sp], #4
- bx lr
- .size circle, .-circle
- .ident "GCC: (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609"
- .section .note.GNU-stack,"",%progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement