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.

703 lines
14 KiB

.text
.globl main
.p2align 2
main:
stp x29, x30, [sp, #-16]!
mov x29, sp
ldur w8, [x29, #1]
mov w9, #0
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #9]
mov w8, #0
stur w8, [x29, #9]
ldur w8, [x29, #1]
mov w9, #1
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #10]
mov w8, #0
stur w8, [x29, #10]
ldur w8, [x29, #1]
mov w9, #2
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #11]
mov w8, #0
stur w8, [x29, #11]
ldur w8, [x29, #1]
mov w9, #3
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #12]
mov w8, #0
stur w8, [x29, #12]
ldur w8, [x29, #1]
mov w9, #4
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #13]
mov w8, #0
stur w8, [x29, #13]
ldur w8, [x29, #1]
mov w9, #5
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #14]
mov w8, #0
stur w8, [x29, #14]
ldur w8, [x29, #1]
mov w9, #6
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #15]
mov w8, #0
stur w8, [x29, #15]
ldur w8, [x29, #1]
mov w9, #7
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #16]
mov w8, #0
stur w8, [x29, #16]
ldur w8, [x29, #1]
mov w9, #8
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #17]
mov w8, #0
stur w8, [x29, #17]
ldur w8, [x29, #1]
mov w9, #9
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #18]
mov w8, #0
stur w8, [x29, #18]
ldur w8, [x29, #1]
mov w9, #10
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #19]
mov w8, #0
stur w8, [x29, #19]
ldur w8, [x29, #1]
mov w9, #11
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #20]
mov w8, #0
stur w8, [x29, #20]
ldur w8, [x29, #1]
mov w9, #12
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #21]
mov w8, #0
stur w8, [x29, #21]
ldur w8, [x29, #1]
mov w9, #13
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #22]
mov w8, #0
stur w8, [x29, #22]
ldur w8, [x29, #1]
mov w9, #14
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #23]
mov w8, #0
stur w8, [x29, #23]
ldur w8, [x29, #2]
mov w9, #0
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #24]
mov w8, #1
stur w8, [x29, #24]
ldur w8, [x29, #2]
mov w9, #1
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #25]
mov w8, #2
stur w8, [x29, #25]
ldur w8, [x29, #2]
mov w9, #2
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #26]
mov w8, #3
stur w8, [x29, #26]
ldur w8, [x29, #2]
mov w9, #3
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #27]
mov w8, #4
stur w8, [x29, #27]
ldur w8, [x29, #2]
mov w9, #4
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #28]
mov w8, #5
stur w8, [x29, #28]
ldur w8, [x29, #2]
mov w9, #5
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #29]
mov w8, #6
stur w8, [x29, #29]
ldur w8, [x29, #2]
mov w9, #6
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #30]
mov w8, #7
stur w8, [x29, #30]
ldur w8, [x29, #2]
mov w9, #7
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #31]
mov w8, #8
stur w8, [x29, #31]
ldur w8, [x29, #2]
mov w9, #8
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #32]
mov w8, #9
stur w8, [x29, #32]
ldur w8, [x29, #2]
mov w9, #9
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #33]
mov w8, #10
stur w8, [x29, #33]
ldur w8, [x29, #2]
mov w9, #10
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #34]
mov w8, #11
stur w8, [x29, #34]
ldur w8, [x29, #2]
mov w9, #11
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #35]
mov w8, #12
stur w8, [x29, #35]
ldur w8, [x29, #2]
mov w9, #12
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #36]
mov w8, #13
stur w8, [x29, #36]
ldur w8, [x29, #2]
mov w9, #13
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #37]
mov w8, #14
stur w8, [x29, #37]
ldur w8, [x29, #2]
mov w9, #14
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #38]
mov w8, #15
stur w8, [x29, #38]
ldur w8, [x29, #3]
mov w9, #0
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #39]
mov w8, #1
stur w8, [x29, #39]
ldur w8, [x29, #3]
mov w9, #1
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #40]
mov w8, #2
stur w8, [x29, #40]
ldur w8, [x29, #3]
mov w9, #2
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #41]
mov w8, #3
stur w8, [x29, #41]
ldur w8, [x29, #3]
mov w9, #3
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #42]
mov w8, #4
stur w8, [x29, #42]
ldur w8, [x29, #3]
mov w9, #4
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #43]
mov w8, #5
stur w8, [x29, #43]
ldur w8, [x29, #3]
mov w9, #5
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #44]
mov w8, #6
stur w8, [x29, #44]
ldur w8, [x29, #3]
mov w9, #6
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #45]
mov w8, #7
stur w8, [x29, #45]
ldur w8, [x29, #3]
mov w9, #7
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #46]
mov w8, #8
stur w8, [x29, #46]
ldur w8, [x29, #3]
mov w9, #8
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #47]
mov w8, #9
stur w8, [x29, #47]
ldur w8, [x29, #3]
mov w9, #9
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #48]
mov w8, #10
stur w8, [x29, #48]
ldur w8, [x29, #3]
mov w9, #10
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #49]
mov w8, #11
stur w8, [x29, #49]
ldur w8, [x29, #3]
mov w9, #11
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #50]
mov w8, #12
stur w8, [x29, #50]
ldur w8, [x29, #3]
mov w9, #12
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #51]
mov w8, #13
stur w8, [x29, #51]
ldur w8, [x29, #3]
mov w9, #13
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #52]
mov w8, #14
stur w8, [x29, #52]
ldur w8, [x29, #3]
mov w9, #14
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #53]
mov w8, #15
stur w8, [x29, #53]
ldur w8, [x29, #4]
mov w9, #0
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #54]
mov w8, #1
stur w8, [x29, #54]
ldur w8, [x29, #4]
mov w9, #1
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #55]
mov w8, #2
stur w8, [x29, #55]
ldur w8, [x29, #4]
mov w9, #2
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #56]
mov w8, #3
stur w8, [x29, #56]
ldur w8, [x29, #4]
mov w9, #3
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #57]
mov w8, #4
stur w8, [x29, #57]
ldur w8, [x29, #4]
mov w9, #4
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #58]
mov w8, #5
stur w8, [x29, #58]
ldur w8, [x29, #4]
mov w9, #5
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #59]
mov w8, #6
stur w8, [x29, #59]
ldur w8, [x29, #4]
mov w9, #6
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #60]
mov w8, #7
stur w8, [x29, #60]
ldur w8, [x29, #4]
mov w9, #7
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #61]
mov w8, #8
stur w8, [x29, #61]
ldur w8, [x29, #4]
mov w9, #8
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #62]
mov w8, #9
stur w8, [x29, #62]
ldur w8, [x29, #4]
mov w9, #9
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #63]
mov w8, #10
stur w8, [x29, #63]
ldur w8, [x29, #4]
mov w9, #10
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #64]
mov w8, #11
stur w8, [x29, #64]
ldur w8, [x29, #4]
mov w9, #11
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #65]
mov w8, #12
stur w8, [x29, #65]
ldur w8, [x29, #4]
mov w9, #12
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #66]
mov w8, #13
stur w8, [x29, #66]
ldur w8, [x29, #4]
mov w9, #13
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #67]
mov w8, #14
stur w8, [x29, #67]
ldur w8, [x29, #4]
mov w9, #14
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #68]
mov w8, #15
stur w8, [x29, #68]
ldur w8, [x29, #6]
mov w9, #0
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #69]
mov w8, #1
stur w8, [x29, #69]
ldur w8, [x29, #6]
mov w9, #1
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #70]
mov w8, #2
stur w8, [x29, #70]
ldur w8, [x29, #6]
mov w9, #2
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #71]
mov w8, #3
stur w8, [x29, #71]
ldur w8, [x29, #6]
mov w9, #3
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #72]
mov w8, #4
stur w8, [x29, #72]
ldur w8, [x29, #6]
mov w9, #4
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #73]
mov w8, #0
stur w8, [x29, #73]
ldur w8, [x29, #6]
mov w9, #5
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #74]
mov w8, #0
stur w8, [x29, #74]
ldur w8, [x29, #6]
mov w9, #6
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #75]
mov w8, #7
stur w8, [x29, #75]
ldur w8, [x29, #6]
mov w9, #7
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #76]
mov w8, #0
stur w8, [x29, #76]
ldur w8, [x29, #6]
mov w9, #8
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #77]
mov w8, #0
stur w8, [x29, #77]
ldur w8, [x29, #6]
mov w9, #9
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #78]
mov w8, #10
stur w8, [x29, #78]
ldur w8, [x29, #6]
mov w9, #10
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #79]
mov w8, #11
stur w8, [x29, #79]
ldur w8, [x29, #6]
mov w9, #11
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #80]
mov w8, #12
stur w8, [x29, #80]
ldur w8, [x29, #6]
mov w9, #12
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #81]
mov w8, #0
stur w8, [x29, #81]
ldur w8, [x29, #6]
mov w9, #13
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #82]
mov w8, #0
stur w8, [x29, #82]
ldur w8, [x29, #6]
mov w9, #14
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #83]
mov w8, #0
stur w8, [x29, #83]
ldur w8, [x29, #8]
mov w9, #0
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #84]
mov w8, #1
stur w8, [x29, #84]
ldur w8, [x29, #8]
mov w9, #1
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #85]
mov w8, #2
stur w8, [x29, #85]
ldur w8, [x29, #8]
mov w9, #2
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #86]
mov w8, #3
stur w8, [x29, #86]
ldur w8, [x29, #8]
mov w9, #3
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #87]
mov w8, #4
stur w8, [x29, #87]
ldur w8, [x29, #8]
mov w9, #4
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #88]
mov w8, #5
stur w8, [x29, #88]
ldur w8, [x29, #8]
mov w9, #5
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #89]
mov w8, #0
stur w8, [x29, #89]
ldur w8, [x29, #8]
mov w9, #6
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #90]
mov w8, #0
stur w8, [x29, #90]
ldur w8, [x29, #8]
mov w9, #7
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #91]
mov w8, #0
stur w8, [x29, #91]
ldur w8, [x29, #8]
mov w9, #8
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #92]
mov w8, #0
stur w8, [x29, #92]
ldur w8, [x29, #8]
mov w9, #9
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #93]
mov w8, #0
stur w8, [x29, #93]
ldur w8, [x29, #8]
mov w9, #10
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #94]
mov w8, #0
stur w8, [x29, #94]
ldur w8, [x29, #8]
mov w9, #11
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #95]
mov w8, #0
stur w8, [x29, #95]
ldur w8, [x29, #8]
mov w9, #12
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #96]
mov w8, #0
stur w8, [x29, #96]
ldur w8, [x29, #8]
mov w9, #13
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #97]
mov w8, #0
stur w8, [x29, #97]
ldur w8, [x29, #8]
mov w9, #14
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #98]
mov w8, #0
stur w8, [x29, #98]
ldur w8, [x29, #8]
mov w9, #15
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #99]
mov w8, #0
stur w8, [x29, #99]
ldur w8, [x29, #8]
mov w9, #16
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #100]
mov w8, #0
stur w8, [x29, #100]
ldur w8, [x29, #8]
mov w9, #17
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #101]
mov w8, #0
stur w8, [x29, #101]
ldur w8, [x29, #8]
mov w9, #18
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #102]
mov w8, #0
stur w8, [x29, #102]
ldur w8, [x29, #8]
mov w9, #19
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #103]
mov w8, #0
stur w8, [x29, #103]
ldur w8, [x29, #8]
mov w9, #20
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #104]
mov w8, #0
stur w8, [x29, #104]
ldur w8, [x29, #8]
mov w9, #21
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #105]
mov w8, #0
stur w8, [x29, #105]
ldur w8, [x29, #8]
mov w9, #22
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #106]
mov w8, #0
stur w8, [x29, #106]
ldur w8, [x29, #8]
mov w9, #23
lsl w9, w9, #2
add w8, w8, w9
stur w8, [x29, #107]
mov w8, #0
stur w8, [x29, #107]
mov w0, #4
ret
ldp x29, x30, [sp], #16