You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

397 lines
8.3 KiB

.text
.globl main
.p2align 2
main:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #368
mov w8, #1
stur w8, [x29, #-4]
mov w8, #0
stur w8, [x29, #-8]
ldur w8, [x29, #-4]
stur w8, [x29, #-32]
ldur w8, [x29, #-32]
mov w9, #2
add w8, w8, w9
stur w8, [x29, #-36]
ldur w8, [x29, #-36]
stur w8, [x29, #-4]
ldur w8, [x29, #-4]
stur w8, [x29, #-40]
ldur w8, [x29, #-40]
mov w9, #3
add w8, w8, w9
stur w8, [x29, #-44]
ldur w8, [x29, #-44]
stur w8, [x29, #-12]
ldur w8, [x29, #-12]
stur w8, [x29, #-48]
ldur w8, [x29, #-48]
mov w9, #4
add w8, w8, w9
stur w8, [x29, #-52]
ldur w8, [x29, #-52]
stur w8, [x29, #-12]
ldur w8, [x29, #-8]
stur w8, [x29, #-56]
ldur w8, [x29, #-4]
stur w8, [x29, #-60]
ldur w8, [x29, #-56]
ldur w9, [x29, #-60]
add w8, w8, w9
stur w8, [x29, #-64]
ldur w8, [x29, #-12]
stur w8, [x29, #-68]
ldur w8, [x29, #-64]
ldur w9, [x29, #-68]
add w8, w8, w9
stur w8, [x29, #-72]
ldur w8, [x29, #-72]
stur w8, [x29, #-8]
ldur w8, [x29, #-12]
stur w8, [x29, #-76]
ldur w8, [x29, #-76]
mov w9, #5
add w8, w8, w9
stur w8, [x29, #-80]
ldur w8, [x29, #-80]
stur w8, [x29, #-12]
ldur w8, [x29, #-12]
stur w8, [x29, #-84]
ldur w8, [x29, #-84]
mov w9, #6
add w8, w8, w9
stur w8, [x29, #-88]
ldur w8, [x29, #-88]
stur w8, [x29, #-16]
ldur w8, [x29, #-4]
stur w8, [x29, #-92]
ldur w8, [x29, #-16]
stur w8, [x29, #-96]
ldur w8, [x29, #-92]
ldur w9, [x29, #-96]
add w8, w8, w9
stur w8, [x29, #-100]
ldur w8, [x29, #-100]
stur w8, [x29, #-4]
ldur w8, [x29, #-8]
stur w8, [x29, #-104]
ldur w8, [x29, #-4]
stur w8, [x29, #-108]
ldur w8, [x29, #-104]
ldur w9, [x29, #-108]
add w8, w8, w9
stur w8, [x29, #-112]
ldur w8, [x29, #-12]
stur w8, [x29, #-116]
ldur w8, [x29, #-112]
ldur w9, [x29, #-116]
add w8, w8, w9
stur w8, [x29, #-120]
ldur w8, [x29, #-16]
stur w8, [x29, #-124]
ldur w8, [x29, #-120]
ldur w9, [x29, #-124]
add w8, w8, w9
stur w8, [x29, #-128]
ldur w8, [x29, #-128]
stur w8, [x29, #-8]
ldur w8, [x29, #-12]
stur w8, [x29, #-132]
ldur w8, [x29, #-4]
stur w8, [x29, #-136]
ldur w8, [x29, #-132]
ldur w9, [x29, #-136]
add w8, w8, w9
stur w8, [x29, #-140]
ldur w8, [x29, #-140]
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
stur w8, [x29, #-144]
ldur w8, [x29, #-144]
mov w9, #7
add w8, w8, w9
stur w8, [x29, #-148]
ldur w8, [x29, #-148]
stur w8, [x29, #-20]
ldur w8, [x29, #-20]
stur w8, [x29, #-152]
ldur w8, [x29, #-152]
mov w9, #8
add w8, w8, w9
stur w8, [x29, #-156]
ldur w8, [x29, #-156]
stur w8, [x29, #-20]
ldur w8, [x29, #-8]
stur w8, [x29, #-160]
ldur w8, [x29, #-20]
stur w8, [x29, #-164]
ldur w8, [x29, #-160]
ldur w9, [x29, #-164]
add w8, w8, w9
stur w8, [x29, #-168]
ldur w8, [x29, #-12]
stur w8, [x29, #-172]
ldur w8, [x29, #-168]
ldur w9, [x29, #-172]
add w8, w8, w9
stur w8, [x29, #-176]
ldur w8, [x29, #-16]
stur w8, [x29, #-180]
ldur w8, [x29, #-176]
ldur w9, [x29, #-180]
add w8, w8, w9
stur w8, [x29, #-184]
ldur w8, [x29, #-184]
stur w8, [x29, #-8]
ldur w8, [x29, #-12]
stur w8, [x29, #-188]
ldur w8, [x29, #-20]
stur w8, [x29, #-192]
ldur w8, [x29, #-188]
ldur w9, [x29, #-192]
add w8, w8, w9
stur w8, [x29, #-196]
ldur w8, [x29, #-196]
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
stur w8, [x29, #-200]
ldur w8, [x29, #-200]
mov w9, #9
add w8, w8, w9
stur w8, [x29, #-204]
ldur w8, [x29, #-204]
stur w8, [x29, #-24]
ldur w8, [x29, #-20]
stur w8, [x29, #-208]
ldur w8, [x29, #-208]
mov w9, #10
add w8, w8, w9
stur w8, [x29, #-212]
ldur w8, [x29, #-212]
stur w8, [x29, #-20]
mov w8, #11
stur w8, [x29, #-216]
ldur w8, [x29, #-24]
stur w8, [x29, #-220]
ldur w8, [x29, #-220]
mov w9, #12
add w8, w8, w9
stur w8, [x29, #-224]
ldur w8, [x29, #-224]
stur w8, [x29, #-24]
ldur w8, [x29, #-8]
stur w8, [x29, #-228]
ldur w8, [x29, #-216]
stur w8, [x29, #-232]
ldur w8, [x29, #-228]
ldur w9, [x29, #-232]
add w8, w8, w9
stur w8, [x29, #-236]
ldur w8, [x29, #-24]
stur w8, [x29, #-240]
ldur w8, [x29, #-236]
ldur w9, [x29, #-240]
add w8, w8, w9
stur w8, [x29, #-244]
ldur w8, [x29, #-16]
stur w8, [x29, #-248]
ldur w8, [x29, #-244]
ldur w9, [x29, #-248]
add w8, w8, w9
stur w8, [x29, #-252]
ldur w8, [x29, #-252]
stur w8, [x29, #-8]
ldur w8, [x29, #-16]
stur w8, [x29, #-256]
ldur w8, [x29, #-24]
mov x9, #260
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-256]
mov x8, #260
sub x8, x29, x8
ldr w9, [x8]
add w8, w8, w9
mov x9, #264
sub x9, x29, x9
str w8, [x9]
mov x9, #264
sub x9, x29, x9
ldr w8, [x9]
stur w8, [x29, #-16]
ldur w8, [x29, #-24]
mov x9, #268
sub x9, x29, x9
str w8, [x9]
mov x9, #268
sub x9, x29, x9
ldr w8, [x9]
mov w9, #13
add w8, w8, w9
mov x9, #272
sub x9, x29, x9
str w8, [x9]
mov x9, #272
sub x9, x29, x9
ldr w8, [x9]
stur w8, [x29, #-28]
ldur w8, [x29, #-28]
mov x9, #276
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-216]
mov x9, #280
sub x9, x29, x9
str w8, [x9]
mov x9, #276
sub x9, x29, x9
ldr w8, [x9]
mov x8, #280
sub x8, x29, x8
ldr w9, [x8]
add w8, w8, w9
mov x9, #284
sub x9, x29, x9
str w8, [x9]
mov x9, #284
sub x9, x29, x9
ldr w8, [x9]
stur w8, [x29, #-28]
ldur w8, [x29, #-8]
mov x9, #288
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-216]
mov x9, #292
sub x9, x29, x9
str w8, [x9]
mov x9, #288
sub x9, x29, x9
ldr w8, [x9]
mov x8, #292
sub x8, x29, x8
ldr w9, [x8]
add w8, w8, w9
mov x9, #296
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-24]
mov x9, #300
sub x9, x29, x9
str w8, [x9]
mov x9, #296
sub x9, x29, x9
ldr w8, [x9]
mov x8, #300
sub x8, x29, x8
ldr w9, [x8]
add w8, w8, w9
mov x9, #304
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-28]
mov x9, #308
sub x9, x29, x9
str w8, [x9]
mov x9, #304
sub x9, x29, x9
ldr w8, [x9]
mov x8, #308
sub x8, x29, x8
ldr w9, [x8]
add w8, w8, w9
mov x9, #312
sub x9, x29, x9
str w8, [x9]
mov x9, #312
sub x9, x29, x9
ldr w8, [x9]
stur w8, [x29, #-8]
ldur w8, [x29, #-8]
mov x9, #316
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-16]
mov x9, #320
sub x9, x29, x9
str w8, [x9]
mov x9, #316
sub x9, x29, x9
ldr w8, [x9]
mov x8, #320
sub x8, x29, x8
ldr w9, [x8]
sub w8, w8, w9
mov x9, #324
sub x9, x29, x9
str w8, [x9]
mov x9, #324
sub x9, x29, x9
ldr w8, [x9]
stur w8, [x29, #-8]
ldur w8, [x29, #-8]
mov x9, #328
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-12]
mov x9, #332
sub x9, x29, x9
str w8, [x9]
mov x9, #328
sub x9, x29, x9
ldr w8, [x9]
mov x8, #332
sub x8, x29, x8
ldr w9, [x8]
sub w8, w8, w9
mov x9, #336
sub x9, x29, x9
str w8, [x9]
mov x9, #336
sub x9, x29, x9
ldr w8, [x9]
stur w8, [x29, #-8]
ldur w8, [x29, #-8]
mov x9, #340
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-4]
mov x9, #344
sub x9, x29, x9
str w8, [x9]
mov x9, #340
sub x9, x29, x9
ldr w8, [x9]
mov x8, #344
sub x8, x29, x8
ldr w9, [x8]
sub w8, w8, w9
mov x9, #348
sub x9, x29, x9
str w8, [x9]
mov x9, #348
sub x9, x29, x9
ldr w8, [x9]
stur w8, [x29, #-8]
ldur w8, [x29, #-8]
mov x9, #352
sub x9, x29, x9
str w8, [x9]
mov x9, #352
sub x9, x29, x9
ldr w8, [x9]
mov w9, #77
sdiv w8, w8, w9
msub w8, w8, w9, w8
mov x9, #356
sub x9, x29, x9
str w8, [x9]
mov x8, #356
sub x8, x29, x8
ldr w0, [x8]
add sp, sp, #368
ldp x29, x30, [sp], #16
ret