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.

402 lines
8.5 KiB

.text
.globl main
.p2align 2
main:
.L.main.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #368
mov w0, #97
bl putch
mov w0, #10
bl putch
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 x13, x29
sub x13, x13, #260
str w8, [x13]
ldur w8, [x29, #-256]
mov x13, x29
sub x13, x13, #260
ldr w9, [x13]
add w8, w8, w9
mov x13, x29
sub x13, x13, #264
str w8, [x13]
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
stur w8, [x29, #-16]
ldur w8, [x29, #-24]
mov x13, x29
sub x13, x13, #268
str w8, [x13]
mov x13, x29
sub x13, x13, #268
ldr w8, [x13]
mov w9, #13
add w8, w8, w9
mov x13, x29
sub x13, x13, #272
str w8, [x13]
mov x13, x29
sub x13, x13, #272
ldr w8, [x13]
stur w8, [x29, #-28]
ldur w8, [x29, #-28]
mov x13, x29
sub x13, x13, #276
str w8, [x13]
ldur w8, [x29, #-216]
mov x13, x29
sub x13, x13, #280
str w8, [x13]
mov x13, x29
sub x13, x13, #276
ldr w8, [x13]
mov x13, x29
sub x13, x13, #280
ldr w9, [x13]
add w8, w8, w9
mov x13, x29
sub x13, x13, #284
str w8, [x13]
mov x13, x29
sub x13, x13, #284
ldr w8, [x13]
stur w8, [x29, #-28]
ldur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #288
str w8, [x13]
ldur w8, [x29, #-216]
mov x13, x29
sub x13, x13, #292
str w8, [x13]
mov x13, x29
sub x13, x13, #288
ldr w8, [x13]
mov x13, x29
sub x13, x13, #292
ldr w9, [x13]
add w8, w8, w9
mov x13, x29
sub x13, x13, #296
str w8, [x13]
ldur w8, [x29, #-24]
mov x13, x29
sub x13, x13, #300
str w8, [x13]
mov x13, x29
sub x13, x13, #296
ldr w8, [x13]
mov x13, x29
sub x13, x13, #300
ldr w9, [x13]
add w8, w8, w9
mov x13, x29
sub x13, x13, #304
str w8, [x13]
ldur w8, [x29, #-28]
mov x13, x29
sub x13, x13, #308
str w8, [x13]
mov x13, x29
sub x13, x13, #304
ldr w8, [x13]
mov x13, x29
sub x13, x13, #308
ldr w9, [x13]
add w8, w8, w9
mov x13, x29
sub x13, x13, #312
str w8, [x13]
mov x13, x29
sub x13, x13, #312
ldr w8, [x13]
stur w8, [x29, #-8]
ldur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #316
str w8, [x13]
ldur w8, [x29, #-16]
mov x13, x29
sub x13, x13, #320
str w8, [x13]
mov x13, x29
sub x13, x13, #316
ldr w8, [x13]
mov x13, x29
sub x13, x13, #320
ldr w9, [x13]
sub w8, w8, w9
mov x13, x29
sub x13, x13, #324
str w8, [x13]
mov x13, x29
sub x13, x13, #324
ldr w8, [x13]
stur w8, [x29, #-8]
ldur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #328
str w8, [x13]
ldur w8, [x29, #-12]
mov x13, x29
sub x13, x13, #332
str w8, [x13]
mov x13, x29
sub x13, x13, #328
ldr w8, [x13]
mov x13, x29
sub x13, x13, #332
ldr w9, [x13]
sub w8, w8, w9
mov x13, x29
sub x13, x13, #336
str w8, [x13]
mov x13, x29
sub x13, x13, #336
ldr w8, [x13]
stur w8, [x29, #-8]
ldur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #340
str w8, [x13]
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #344
str w8, [x13]
mov x13, x29
sub x13, x13, #340
ldr w8, [x13]
mov x13, x29
sub x13, x13, #344
ldr w9, [x13]
sub w8, w8, w9
mov x13, x29
sub x13, x13, #348
str w8, [x13]
mov x13, x29
sub x13, x13, #348
ldr w8, [x13]
stur w8, [x29, #-8]
ldur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #352
str w8, [x13]
mov x13, x29
sub x13, x13, #352
ldr w8, [x13]
mov w9, #77
sdiv w12, w8, w9
msub w8, w12, w9, w8
mov x13, x29
sub x13, x13, #356
str w8, [x13]
mov x13, x29
sub x13, x13, #356
ldr w0, [x13]
add sp, sp, #368
ldp x29, x30, [sp], #16
ret