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.

760 lines
14 KiB

.text
.globl main
.p2align 2
main:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #464
mov w8, #0
stur w8, [x29, #-76]
ldur w8, [x29, #-76]
stur w8, [x29, #-4]
mov w8, #0
stur w8, [x29, #-80]
ldur w8, [x29, #-80]
stur w8, [x29, #-8]
mov w8, #0
stur w8, [x29, #-84]
ldur w8, [x29, #-84]
stur w8, [x29, #-12]
mov w8, #0
stur w8, [x29, #-88]
ldur w8, [x29, #-88]
stur w8, [x29, #-16]
mov w8, #0
stur w8, [x29, #-92]
ldur w8, [x29, #-92]
stur w8, [x29, #-20]
mov w8, #0
stur w8, [x29, #-96]
ldur w8, [x29, #-96]
stur w8, [x29, #-24]
mov w8, #0
stur w8, [x29, #-100]
ldur w8, [x29, #-100]
stur w8, [x29, #-28]
mov w8, #0
stur w8, [x29, #-104]
ldur w8, [x29, #-104]
stur w8, [x29, #-32]
mov w8, #0
stur w8, [x29, #-108]
ldur w8, [x29, #-108]
stur w8, [x29, #-36]
mov w8, #0
stur w8, [x29, #-112]
ldur w8, [x29, #-112]
stur w8, [x29, #-40]
mov w8, #0
stur w8, [x29, #-116]
ldur w8, [x29, #-116]
stur w8, [x29, #-44]
mov w8, #0
stur w8, [x29, #-120]
ldur w8, [x29, #-120]
stur w8, [x29, #-48]
mov w8, #0
stur w8, [x29, #-124]
ldur w8, [x29, #-124]
stur w8, [x29, #-52]
mov w8, #0
stur w8, [x29, #-128]
ldur w8, [x29, #-128]
stur w8, [x29, #-56]
mov w8, #0
stur w8, [x29, #-132]
ldur w8, [x29, #-132]
stur w8, [x29, #-60]
mov w8, #0
stur w8, [x29, #-136]
ldur w8, [x29, #-136]
stur w8, [x29, #-64]
ldur w8, [x29, #-68]
mov w9, #0
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-140]
ldur w8, [x29, #-4]
stur w8, [x29, #-144]
ldur w8, [x29, #-8]
stur w8, [x29, #-148]
ldur w8, [x29, #-12]
stur w8, [x29, #-152]
ldur w8, [x29, #-16]
stur w8, [x29, #-156]
ldur w8, [x29, #-20]
stur w8, [x29, #-160]
ldur w8, [x29, #-24]
stur w8, [x29, #-164]
ldur w8, [x29, #-28]
stur w8, [x29, #-168]
ldur w8, [x29, #-32]
stur w8, [x29, #-172]
ldur w8, [x29, #-36]
stur w8, [x29, #-176]
ldur w8, [x29, #-40]
stur w8, [x29, #-180]
ldur w8, [x29, #-44]
stur w8, [x29, #-184]
ldur w8, [x29, #-48]
stur w8, [x29, #-188]
ldur w8, [x29, #-52]
stur w8, [x29, #-192]
ldur w8, [x29, #-56]
stur w8, [x29, #-196]
ldur w8, [x29, #-60]
stur w8, [x29, #-200]
ldur w8, [x29, #-64]
stur w8, [x29, #-204]
mov w8, #0
stur w8, [x29, #-208]
ldur w8, [x29, #-208]
stur w8, [x29, #-140]
ldur w8, [x29, #-68]
mov w9, #1
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-212]
mov w8, #8848
stur w8, [x29, #-212]
ldur w8, [x29, #-68]
mov w9, #2
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-216]
mov w8, #0
stur w8, [x29, #-216]
ldur w8, [x29, #-68]
mov w9, #3
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-220]
mov w8, #0
stur w8, [x29, #-220]
ldur w8, [x29, #-68]
mov w9, #4
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-224]
mov w8, #0
stur w8, [x29, #-224]
ldur w8, [x29, #-68]
mov w9, #5
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-228]
mov w8, #0
stur w8, [x29, #-228]
ldur w8, [x29, #-68]
mov w9, #6
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-232]
mov w8, #0
stur w8, [x29, #-232]
ldur w8, [x29, #-68]
mov w9, #7
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-236]
mov w8, #0
stur w8, [x29, #-236]
ldur w8, [x29, #-68]
mov w9, #8
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-240]
mov w8, #0
stur w8, [x29, #-240]
ldur w8, [x29, #-68]
mov w9, #9
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-244]
mov w8, #0
stur w8, [x29, #-244]
ldur w8, [x29, #-68]
mov w9, #10
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-248]
mov w8, #0
stur w8, [x29, #-248]
ldur w8, [x29, #-68]
mov w9, #11
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-252]
mov w8, #0
stur w8, [x29, #-252]
ldur w8, [x29, #-68]
mov w9, #12
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #-256]
mov w8, #0
stur w8, [x29, #-256]
ldur w8, [x29, #-68]
mov w9, #13
lsl w9, w9, #2
add w8, w8, w9
mov x9, #260
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #260
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #14
lsl w9, w9, #2
add w8, w8, w9
mov x9, #264
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #264
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #15
lsl w9, w9, #2
add w8, w8, w9
mov x9, #268
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #268
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #16
lsl w9, w9, #2
add w8, w8, w9
mov x9, #272
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #272
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #17
lsl w9, w9, #2
add w8, w8, w9
mov x9, #276
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #276
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #18
lsl w9, w9, #2
add w8, w8, w9
mov x9, #280
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #280
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #19
lsl w9, w9, #2
add w8, w8, w9
mov x9, #284
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #284
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #20
lsl w9, w9, #2
add w8, w8, w9
mov x9, #288
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #288
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #21
lsl w9, w9, #2
add w8, w8, w9
mov x9, #292
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #292
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #22
lsl w9, w9, #2
add w8, w8, w9
mov x9, #296
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #296
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #23
lsl w9, w9, #2
add w8, w8, w9
mov x9, #300
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #300
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #24
lsl w9, w9, #2
add w8, w8, w9
mov x9, #304
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #304
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #25
lsl w9, w9, #2
add w8, w8, w9
mov x9, #308
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #308
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #26
lsl w9, w9, #2
add w8, w8, w9
mov x9, #312
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #312
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #27
lsl w9, w9, #2
add w8, w8, w9
mov x9, #316
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #316
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #28
lsl w9, w9, #2
add w8, w8, w9
mov x9, #320
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #320
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #29
lsl w9, w9, #2
add w8, w8, w9
mov x9, #324
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #324
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #30
lsl w9, w9, #2
add w8, w8, w9
mov x9, #328
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #328
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #31
lsl w9, w9, #2
add w8, w8, w9
mov x9, #332
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #332
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #32
lsl w9, w9, #2
add w8, w8, w9
mov x9, #336
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #336
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #33
lsl w9, w9, #2
add w8, w8, w9
mov x9, #340
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #340
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #34
lsl w9, w9, #2
add w8, w8, w9
mov x9, #344
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #344
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #35
lsl w9, w9, #2
add w8, w8, w9
mov x9, #348
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #348
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #36
lsl w9, w9, #2
add w8, w8, w9
mov x9, #352
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #352
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #37
lsl w9, w9, #2
add w8, w8, w9
mov x9, #356
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #356
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #38
lsl w9, w9, #2
add w8, w8, w9
mov x9, #360
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #360
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #39
lsl w9, w9, #2
add w8, w8, w9
mov x9, #364
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #364
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #40
lsl w9, w9, #2
add w8, w8, w9
mov x9, #368
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #368
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #41
lsl w9, w9, #2
add w8, w8, w9
mov x9, #372
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #372
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #42
lsl w9, w9, #2
add w8, w8, w9
mov x9, #376
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #376
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #43
lsl w9, w9, #2
add w8, w8, w9
mov x9, #380
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #380
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #44
lsl w9, w9, #2
add w8, w8, w9
mov x9, #384
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #384
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #45
lsl w9, w9, #2
add w8, w8, w9
mov x9, #388
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #388
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #46
lsl w9, w9, #2
add w8, w8, w9
mov x9, #392
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #392
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #47
lsl w9, w9, #2
add w8, w8, w9
mov x9, #396
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #396
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #48
lsl w9, w9, #2
add w8, w8, w9
mov x9, #400
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #400
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #49
lsl w9, w9, #2
add w8, w8, w9
mov x9, #404
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #404
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #50
lsl w9, w9, #2
add w8, w8, w9
mov x9, #408
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #408
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #51
lsl w9, w9, #2
add w8, w8, w9
mov x9, #412
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #412
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #52
lsl w9, w9, #2
add w8, w8, w9
mov x9, #416
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #416
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #53
lsl w9, w9, #2
add w8, w8, w9
mov x9, #420
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #420
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #54
lsl w9, w9, #2
add w8, w8, w9
mov x9, #424
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #424
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #55
lsl w9, w9, #2
add w8, w8, w9
mov x9, #428
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #428
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #56
lsl w9, w9, #2
add w8, w8, w9
mov x9, #432
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #432
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #57
lsl w9, w9, #2
add w8, w8, w9
mov x9, #436
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #436
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #58
lsl w9, w9, #2
add w8, w8, w9
mov x9, #440
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #440
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #59
lsl w9, w9, #2
add w8, w8, w9
mov x9, #444
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #444
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #60
lsl w9, w9, #2
add w8, w8, w9
mov x9, #448
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #448
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #61
lsl w9, w9, #2
add w8, w8, w9
mov x9, #452
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #452
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #62
lsl w9, w9, #2
add w8, w8, w9
mov x9, #456
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #456
sub x9, x29, x9
str w8, [x9]
ldur w8, [x29, #-68]
mov w9, #63
lsl w9, w9, #2
add w8, w8, w9
mov x9, #460
sub x9, x29, x9
str w8, [x9]
mov w8, #0
mov x9, #460
sub x9, x29, x9
str w8, [x9]
mov w8, #1
stur w8, [x29, #-72]