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.

4056 lines
76 KiB

.data
.globl TOKEN_NUM
.p2align 2
TOKEN_NUM:
.word 0
.globl TOKEN_OTHER
.p2align 2
TOKEN_OTHER:
.word 1
.globl last_char
.p2align 2
last_char:
.word 32
.globl num
.p2align 2
num:
.word 0
.globl other
.p2align 2
other:
.word 0
.globl cur_token
.p2align 2
cur_token:
.word 0
.text
.globl next_char
.p2align 2
next_char:
.L.next_char.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #16
bl getch
stur w0, [x29, #-4]
ldur w8, [x29, #-4]
adrp x13, last_char
str w8, [x13, #:lo12:last_char]
adrp x13, last_char
ldr w8, [x13, #:lo12:last_char]
stur w8, [x29, #-8]
ldur w0, [x29, #-8]
add sp, sp, #16
ldp x29, x30, [sp], #16
ret
.text
.globl is_space
.p2align 2
is_space:
.L.is_space.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #16
stur w0, [x29, #-4]
ldur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-8]
stur w8, [x29, #-12]
ldur w8, [x29, #-12]
mov w9, #32
cmp w8, w9
b.eq .L.is_space.1
b .L.is_space.4
.L.is_space.1:
mov w0, #1
add sp, sp, #16
ldp x29, x30, [sp], #16
ret
.L.is_space.2:
mov w0, #0
add sp, sp, #16
ldp x29, x30, [sp], #16
ret
.L.is_space.3:
mov w0, #0
add sp, sp, #16
ldp x29, x30, [sp], #16
ret
.L.is_space.4:
ldur w8, [x29, #-8]
stur w8, [x29, #-16]
ldur w8, [x29, #-16]
mov w9, #10
cmp w8, w9
b.eq .L.is_space.1
b .L.is_space.2
.text
.globl is_num
.p2align 2
is_num:
.L.is_num.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #16
stur w0, [x29, #-4]
ldur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-8]
stur w8, [x29, #-12]
ldur w8, [x29, #-12]
mov w9, #48
cmp w8, w9
b.ge .L.is_num.4
b .L.is_num.2
.L.is_num.1:
mov w0, #1
add sp, sp, #16
ldp x29, x30, [sp], #16
ret
.L.is_num.2:
mov w0, #0
add sp, sp, #16
ldp x29, x30, [sp], #16
ret
.L.is_num.3:
mov w0, #0
add sp, sp, #16
ldp x29, x30, [sp], #16
ret
.L.is_num.4:
ldur w8, [x29, #-8]
stur w8, [x29, #-16]
ldur w8, [x29, #-16]
mov w9, #57
cmp w8, w9
b.le .L.is_num.1
b .L.is_num.2
.text
.globl next_token
.p2align 2
next_token:
.L.next_token.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #64
b .L.next_token.1
.L.next_token.1:
adrp x13, last_char
ldr w8, [x13, #:lo12:last_char]
stur w8, [x29, #-4]
ldur w0, [x29, #-4]
bl is_space
stur w0, [x29, #-8]
ldur w8, [x29, #-8]
mov w9, #0
cmp w8, w9
b.ne .L.next_token.2
b .L.next_token.3
.L.next_token.2:
bl next_char
stur w0, [x29, #-12]
b .L.next_token.1
.L.next_token.3:
adrp x13, last_char
ldr w8, [x13, #:lo12:last_char]
stur w8, [x29, #-16]
ldur w0, [x29, #-16]
bl is_num
stur w0, [x29, #-20]
ldur w8, [x29, #-20]
mov w9, #0
cmp w8, w9
b.ne .L.next_token.4
b .L.next_token.5
.L.next_token.4:
adrp x13, last_char
ldr w8, [x13, #:lo12:last_char]
stur w8, [x29, #-24]
ldur w8, [x29, #-24]
mov w9, #48
sub w8, w8, w9
adrp x13, num
str w8, [x13, #:lo12:num]
b .L.next_token.7
.L.next_token.5:
adrp x13, last_char
ldr w8, [x13, #:lo12:last_char]
stur w8, [x29, #-28]
ldur w8, [x29, #-28]
adrp x13, other
str w8, [x13, #:lo12:other]
bl next_char
stur w0, [x29, #-32]
mov w8, #1
adrp x13, cur_token
str w8, [x13, #:lo12:cur_token]
b .L.next_token.6
.L.next_token.6:
adrp x13, cur_token
ldr w8, [x13, #:lo12:cur_token]
stur w8, [x29, #-36]
ldur w0, [x29, #-36]
add sp, sp, #64
ldp x29, x30, [sp], #16
ret
.L.next_token.7:
bl next_char
stur w0, [x29, #-40]
ldur w0, [x29, #-40]
bl is_num
stur w0, [x29, #-44]
ldur w8, [x29, #-44]
mov w9, #0
cmp w8, w9
b.ne .L.next_token.8
b .L.next_token.9
.L.next_token.8:
adrp x13, num
ldr w8, [x13, #:lo12:num]
stur w8, [x29, #-48]
adrp x13, last_char
ldr w8, [x13, #:lo12:last_char]
stur w8, [x29, #-52]
ldur w8, [x29, #-48]
mov w11, #10
mul w8, w8, w11
ldur w10, [x29, #-52]
add w8, w8, w10
mov w9, #48
sub w8, w8, w9
adrp x13, num
str w8, [x13, #:lo12:num]
b .L.next_token.7
.L.next_token.9:
mov w8, #0
adrp x13, cur_token
str w8, [x13, #:lo12:cur_token]
b .L.next_token.6
.text
.globl panic
.p2align 2
panic:
.L.panic.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
mov w0, #112
bl putch
mov w0, #97
bl putch
mov w0, #110
bl putch
mov w0, #105
bl putch
mov w0, #99
bl putch
mov w0, #33
bl putch
mov w0, #10
bl putch
mov w0, #-1
ldp x29, x30, [sp], #16
ret
.text
.globl get_op_prec
.p2align 2
get_op_prec:
.L.get_op_prec.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #32
stur w0, [x29, #-4]
ldur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-8]
stur w8, [x29, #-12]
ldur w8, [x29, #-12]
mov w9, #43
cmp w8, w9
b.eq .L.get_op_prec.1
b .L.get_op_prec.3
.L.get_op_prec.1:
mov w0, #10
add sp, sp, #32
ldp x29, x30, [sp], #16
ret
.L.get_op_prec.2:
ldur w8, [x29, #-8]
stur w8, [x29, #-16]
ldur w8, [x29, #-16]
mov w9, #42
cmp w8, w9
b.eq .L.get_op_prec.4
b .L.get_op_prec.7
.L.get_op_prec.3:
ldur w8, [x29, #-8]
stur w8, [x29, #-20]
ldur w8, [x29, #-20]
mov w9, #45
cmp w8, w9
b.eq .L.get_op_prec.1
b .L.get_op_prec.2
.L.get_op_prec.4:
mov w0, #20
add sp, sp, #32
ldp x29, x30, [sp], #16
ret
.L.get_op_prec.5:
mov w0, #0
add sp, sp, #32
ldp x29, x30, [sp], #16
ret
.L.get_op_prec.6:
ldur w8, [x29, #-8]
stur w8, [x29, #-24]
ldur w8, [x29, #-24]
mov w9, #37
cmp w8, w9
b.eq .L.get_op_prec.4
b .L.get_op_prec.5
.L.get_op_prec.7:
ldur w8, [x29, #-8]
stur w8, [x29, #-28]
ldur w8, [x29, #-28]
mov w9, #47
cmp w8, w9
b.eq .L.get_op_prec.4
b .L.get_op_prec.6
.text
.globl stack_push
.p2align 2
stack_push:
.L.stack_push.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #32
stur x0, [x29, #-8]
stur w1, [x29, #-12]
ldur w8, [x29, #-12]
stur w8, [x29, #-16]
ldur x15, [x29, #-8]
ldr w8, [x15]
stur w8, [x29, #-20]
ldur x15, [x29, #-8]
ldur w8, [x29, #-20]
mov w9, #1
add w8, w8, w9
str w8, [x15]
ldur x15, [x29, #-8]
ldr w8, [x15]
stur w8, [x29, #-24]
ldur w8, [x29, #-16]
stur w8, [x29, #-28]
ldur x15, [x29, #-8]
ldur w14, [x29, #-24]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-28]
str w8, [x15]
add sp, sp, #32
ldp x29, x30, [sp], #16
ret
.text
.globl stack_pop
.p2align 2
stack_pop:
.L.stack_pop.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #32
stur x0, [x29, #-8]
ldur x15, [x29, #-8]
ldr w8, [x15]
stur w8, [x29, #-16]
ldur x15, [x29, #-8]
ldur w14, [x29, #-16]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-20]
ldur w8, [x29, #-20]
stur w8, [x29, #-12]
ldur x15, [x29, #-8]
ldr w8, [x15]
stur w8, [x29, #-24]
ldur x15, [x29, #-8]
ldur w8, [x29, #-24]
mov w9, #1
sub w8, w8, w9
str w8, [x15]
ldur w8, [x29, #-12]
stur w8, [x29, #-28]
ldur w0, [x29, #-28]
add sp, sp, #32
ldp x29, x30, [sp], #16
ret
.text
.globl stack_peek
.p2align 2
stack_peek:
.L.stack_peek.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #16
stur x0, [x29, #-8]
ldur x15, [x29, #-8]
ldr w8, [x15]
stur w8, [x29, #-12]
ldur x15, [x29, #-8]
ldur w14, [x29, #-12]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-16]
ldur w0, [x29, #-16]
add sp, sp, #16
ldp x29, x30, [sp], #16
ret
.text
.globl stack_size
.p2align 2
stack_size:
.L.stack_size.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #16
stur x0, [x29, #-8]
ldur x15, [x29, #-8]
ldr w8, [x15]
stur w8, [x29, #-12]
ldur w0, [x29, #-12]
add sp, sp, #16
ldp x29, x30, [sp], #16
ret
.text
.globl eval_op
.p2align 2
eval_op:
.L.eval_op.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #96
stur w0, [x29, #-4]
stur w1, [x29, #-8]
stur w2, [x29, #-12]
ldur w8, [x29, #-4]
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
stur w8, [x29, #-20]
ldur w8, [x29, #-12]
stur w8, [x29, #-24]
ldur w8, [x29, #-16]
stur w8, [x29, #-28]
ldur w8, [x29, #-28]
mov w9, #43
cmp w8, w9
b.eq .L.eval_op.1
b .L.eval_op.2
.L.eval_op.1:
ldur w8, [x29, #-20]
stur w8, [x29, #-32]
ldur w8, [x29, #-24]
stur w8, [x29, #-36]
ldur w0, [x29, #-32]
ldur w8, [x29, #-36]
add w0, w0, w8
add sp, sp, #96
ldp x29, x30, [sp], #16
ret
.L.eval_op.2:
ldur w8, [x29, #-16]
stur w8, [x29, #-40]
ldur w8, [x29, #-40]
mov w9, #45
cmp w8, w9
b.eq .L.eval_op.3
b .L.eval_op.4
.L.eval_op.3:
ldur w8, [x29, #-20]
stur w8, [x29, #-44]
ldur w8, [x29, #-24]
stur w8, [x29, #-48]
ldur w0, [x29, #-44]
ldur w8, [x29, #-48]
sub w0, w0, w8
add sp, sp, #96
ldp x29, x30, [sp], #16
ret
.L.eval_op.4:
ldur w8, [x29, #-16]
stur w8, [x29, #-52]
ldur w8, [x29, #-52]
mov w9, #42
cmp w8, w9
b.eq .L.eval_op.5
b .L.eval_op.6
.L.eval_op.5:
ldur w8, [x29, #-20]
stur w8, [x29, #-56]
ldur w8, [x29, #-24]
stur w8, [x29, #-60]
ldur w0, [x29, #-56]
ldur w8, [x29, #-60]
mul w0, w0, w8
add sp, sp, #96
ldp x29, x30, [sp], #16
ret
.L.eval_op.6:
ldur w8, [x29, #-16]
stur w8, [x29, #-64]
ldur w8, [x29, #-64]
mov w9, #47
cmp w8, w9
b.eq .L.eval_op.7
b .L.eval_op.8
.L.eval_op.7:
ldur w8, [x29, #-20]
stur w8, [x29, #-68]
ldur w8, [x29, #-24]
stur w8, [x29, #-72]
ldur w0, [x29, #-68]
ldur w8, [x29, #-72]
sdiv w0, w0, w8
add sp, sp, #96
ldp x29, x30, [sp], #16
ret
.L.eval_op.8:
ldur w8, [x29, #-16]
stur w8, [x29, #-76]
ldur w8, [x29, #-76]
mov w9, #37
cmp w8, w9
b.eq .L.eval_op.9
b .L.eval_op.10
.L.eval_op.9:
ldur w8, [x29, #-20]
stur w8, [x29, #-80]
ldur w8, [x29, #-24]
stur w8, [x29, #-84]
ldur w0, [x29, #-80]
ldur w8, [x29, #-84]
sdiv w12, w0, w8
msub w0, w12, w8, w0
add sp, sp, #96
ldp x29, x30, [sp], #16
ret
.L.eval_op.10:
mov w0, #0
add sp, sp, #96
ldp x29, x30, [sp], #16
ret
.text
.globl eval
.p2align 2
eval:
.L.eval.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #2224
mov x15, x29
sub x15, x15, #1024
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #4
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #8
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #12
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #16
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #20
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #24
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #28
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #32
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #36
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #40
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #44
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #48
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #52
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #56
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #60
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #64
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #68
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #72
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #76
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #80
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #84
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #88
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #92
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #96
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #100
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #104
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #108
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #112
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #116
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #120
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #124
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #128
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #132
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #136
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #140
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #144
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #148
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #152
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #156
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #160
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #164
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #168
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #172
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #176
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #180
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #184
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #188
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #192
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #196
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #200
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #204
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #208
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #212
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #216
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #220
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #224
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #228
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #232
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #236
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #240
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #244
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #248
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #252
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #256
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #260
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #264
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #268
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #272
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #276
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #280
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #284
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #288
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #292
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #296
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #300
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #304
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #308
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #312
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #316
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #320
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #324
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #328
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #332
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #336
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #340
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #344
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #348
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #352
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #356
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #360
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #364
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #368
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #372
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #376
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #380
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #384
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #388
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #392
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #396
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #400
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #404
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #408
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #412
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #416
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #420
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #424
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #428
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #432
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #436
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #440
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #444
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #448
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #452
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #456
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #460
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #464
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #468
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #472
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #476
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #480
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #484
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #488
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #492
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #496
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #500
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #504
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #508
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #512
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #516
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #520
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #524
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #528
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #532
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #536
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #540
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #544
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #548
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #552
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #556
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #560
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #564
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #568
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #572
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #576
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #580
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #584
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #588
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #592
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #596
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #600
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #604
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #608
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #612
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #616
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #620
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #624
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #628
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #632
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #636
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #640
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #644
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #648
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #652
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #656
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #660
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #664
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #668
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #672
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #676
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #680
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #684
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #688
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #692
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #696
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #700
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #704
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #708
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #712
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #716
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #720
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #724
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #728
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #732
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #736
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #740
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #744
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #748
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #752
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #756
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #760
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #764
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #768
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #772
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #776
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #780
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #784
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #788
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #792
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #796
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #800
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #804
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #808
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #812
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #816
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #820
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #824
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #828
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #832
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #836
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #840
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #844
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #848
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #852
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #856
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #860
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #864
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #868
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #872
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #876
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #880
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #884
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #888
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #892
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #896
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #900
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #904
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #908
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #912
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #916
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #920
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #924
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #928
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #932
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #936
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #940
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #944
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #948
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #952
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #956
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #960
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #964
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #968
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #972
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #976
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #980
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #984
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #988
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #992
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #996
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #1000
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #1004
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #1008
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #1012
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #1016
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #1024
mov x14, #1020
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #4
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #8
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #12
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #16
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #20
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #24
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #28
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #32
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #36
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #40
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #44
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #48
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #52
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #56
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #60
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #64
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #68
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #72
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #76
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #80
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #84
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #88
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #92
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #96
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #100
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #104
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #108
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #112
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #116
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #120
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #124
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #128
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #132
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #136
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #140
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #144
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #148
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #152
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #156
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #160
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #164
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #168
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #172
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #176
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #180
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #184
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #188
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #192
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #196
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #200
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #204
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #208
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #212
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #216
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #220
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #224
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #228
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #232
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #236
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #240
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #244
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #248
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #252
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #256
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #260
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #264
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #268
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #272
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #276
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #280
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #284
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #288
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #292
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #296
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #300
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #304
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #308
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #312
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #316
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #320
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #324
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #328
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #332
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #336
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #340
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #344
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #348
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #352
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #356
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #360
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #364
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #368
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #372
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #376
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #380
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #384
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #388
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #392
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #396
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #400
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #404
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #408
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #412
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #416
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #420
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #424
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #428
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #432
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #436
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #440
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #444
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #448
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #452
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #456
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #460
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #464
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #468
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #472
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #476
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #480
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #484
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #488
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #492
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #496
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #500
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #504
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #508
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #512
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #516
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #520
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #524
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #528
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #532
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #536
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #540
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #544
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #548
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #552
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #556
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #560
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #564
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #568
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #572
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #576
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #580
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #584
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #588
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #592
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #596
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #600
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #604
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #608
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #612
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #616
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #620
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #624
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #628
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #632
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #636
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #640
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #644
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #648
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #652
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #656
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #660
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #664
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #668
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #672
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #676
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #680
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #684
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #688
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #692
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #696
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #700
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #704
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #708
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #712
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #716
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #720
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #724
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #728
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #732
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #736
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #740
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #744
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #748
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #752
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #756
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #760
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #764
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #768
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #772
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #776
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #780
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #784
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #788
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #792
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #796
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #800
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #804
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #808
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #812
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #816
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #820
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #824
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #828
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #832
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #836
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #840
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #844
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #848
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #852
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #856
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #860
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #864
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #868
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #872
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #876
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #880
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #884
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #888
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #892
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #896
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #900
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #904
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #908
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #912
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #916
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #920
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #924
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #928
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #932
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #936
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #940
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #944
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #948
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #952
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #956
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #960
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #964
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #968
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #972
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #976
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #980
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #984
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #988
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #992
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #996
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #1000
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #1004
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #1008
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #1012
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #1016
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x15, x29
sub x15, x15, #2048
mov x14, #1020
add x15, x15, x14
mov w8, #0
str w8, [x15]
adrp x13, cur_token
ldr w8, [x13, #:lo12:cur_token]
mov x13, x29
sub x13, x13, #2080
str w8, [x13]
mov x13, x29
sub x13, x13, #2080
ldr w8, [x13]
mov w9, #0
cmp w8, w9
b.ne .L.eval.1
b .L.eval.2
.L.eval.1:
bl panic
mov x13, x29
sub x13, x13, #2084
str w0, [x13]
mov x13, x29
sub x13, x13, #2084
ldr w0, [x13]
add sp, sp, #2224
ldp x29, x30, [sp], #16
ret
.L.eval.2:
adrp x13, num
ldr w8, [x13, #:lo12:num]
mov x13, x29
sub x13, x13, #2088
str w8, [x13]
mov x0, x29
sub x0, x0, #1024
mov x13, x29
sub x13, x13, #2088
ldr w1, [x13]
bl stack_push
bl next_token
mov x13, x29
sub x13, x13, #2092
str w0, [x13]
b .L.eval.3
.L.eval.3:
adrp x13, cur_token
ldr w8, [x13, #:lo12:cur_token]
mov x13, x29
sub x13, x13, #2096
str w8, [x13]
mov x13, x29
sub x13, x13, #2096
ldr w8, [x13]
mov w9, #1
cmp w8, w9
b.eq .L.eval.4
b .L.eval.5
.L.eval.4:
adrp x13, other
ldr w8, [x13, #:lo12:other]
mov x13, x29
sub x13, x13, #2100
str w8, [x13]
mov x13, x29
sub x13, x13, #2100
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2052
str w8, [x13]
mov x13, x29
sub x13, x13, #2052
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2104
str w8, [x13]
mov x13, x29
sub x13, x13, #2104
ldr w0, [x13]
bl get_op_prec
mov x13, x29
sub x13, x13, #2108
str w0, [x13]
mov x13, x29
sub x13, x13, #2108
ldr w8, [x13]
mov w9, #0
cmp w8, w9
b.eq .L.eval.6
b .L.eval.7
.L.eval.5:
bl next_token
mov x13, x29
sub x13, x13, #2112
str w0, [x13]
b .L.eval.14
.L.eval.6:
b .L.eval.5
.L.eval.7:
bl next_token
mov x13, x29
sub x13, x13, #2116
str w0, [x13]
b .L.eval.8
.L.eval.8:
mov x0, x29
sub x0, x0, #2048
bl stack_size
mov x13, x29
sub x13, x13, #2120
str w0, [x13]
mov x13, x29
sub x13, x13, #2120
ldr w8, [x13]
mov w9, #0
cmp w8, w9
b.ne .L.eval.11
b .L.eval.10
.L.eval.9:
mov x0, x29
sub x0, x0, #2048
bl stack_pop
mov x13, x29
sub x13, x13, #2124
str w0, [x13]
mov x13, x29
sub x13, x13, #2124
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2056
str w8, [x13]
mov x0, x29
sub x0, x0, #1024
bl stack_pop
mov x13, x29
sub x13, x13, #2128
str w0, [x13]
mov x13, x29
sub x13, x13, #2128
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2060
str w8, [x13]
mov x0, x29
sub x0, x0, #1024
bl stack_pop
mov x13, x29
sub x13, x13, #2132
str w0, [x13]
mov x13, x29
sub x13, x13, #2132
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2064
str w8, [x13]
mov x13, x29
sub x13, x13, #2056
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2136
str w8, [x13]
mov x13, x29
sub x13, x13, #2064
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2140
str w8, [x13]
mov x13, x29
sub x13, x13, #2060
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2144
str w8, [x13]
mov x13, x29
sub x13, x13, #2136
ldr w0, [x13]
mov x13, x29
sub x13, x13, #2140
ldr w1, [x13]
mov x13, x29
sub x13, x13, #2144
ldr w2, [x13]
bl eval_op
mov x13, x29
sub x13, x13, #2148
str w0, [x13]
mov x0, x29
sub x0, x0, #1024
mov x13, x29
sub x13, x13, #2148
ldr w1, [x13]
bl stack_push
b .L.eval.8
.L.eval.10:
mov x13, x29
sub x13, x13, #2052
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2152
str w8, [x13]
mov x0, x29
sub x0, x0, #2048
mov x13, x29
sub x13, x13, #2152
ldr w1, [x13]
bl stack_push
adrp x13, cur_token
ldr w8, [x13, #:lo12:cur_token]
mov x13, x29
sub x13, x13, #2156
str w8, [x13]
mov x13, x29
sub x13, x13, #2156
ldr w8, [x13]
mov w9, #0
cmp w8, w9
b.ne .L.eval.12
b .L.eval.13
.L.eval.11:
mov x0, x29
sub x0, x0, #2048
bl stack_peek
mov x13, x29
sub x13, x13, #2160
str w0, [x13]
mov x13, x29
sub x13, x13, #2160
ldr w0, [x13]
bl get_op_prec
mov x13, x29
sub x13, x13, #2164
str w0, [x13]
mov x13, x29
sub x13, x13, #2052
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2168
str w8, [x13]
mov x13, x29
sub x13, x13, #2168
ldr w0, [x13]
bl get_op_prec
mov x13, x29
sub x13, x13, #2172
str w0, [x13]
mov x13, x29
sub x13, x13, #2164
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2172
ldr w9, [x13]
cmp w8, w9
b.ge .L.eval.9
b .L.eval.10
.L.eval.12:
bl panic
mov x13, x29
sub x13, x13, #2176
str w0, [x13]
mov x13, x29
sub x13, x13, #2176
ldr w0, [x13]
add sp, sp, #2224
ldp x29, x30, [sp], #16
ret
.L.eval.13:
adrp x13, num
ldr w8, [x13, #:lo12:num]
mov x13, x29
sub x13, x13, #2180
str w8, [x13]
mov x0, x29
sub x0, x0, #1024
mov x13, x29
sub x13, x13, #2180
ldr w1, [x13]
bl stack_push
bl next_token
mov x13, x29
sub x13, x13, #2184
str w0, [x13]
b .L.eval.3
.L.eval.14:
mov x0, x29
sub x0, x0, #2048
bl stack_size
mov x13, x29
sub x13, x13, #2188
str w0, [x13]
mov x13, x29
sub x13, x13, #2188
ldr w8, [x13]
mov w9, #0
cmp w8, w9
b.ne .L.eval.15
b .L.eval.16
.L.eval.15:
mov x0, x29
sub x0, x0, #2048
bl stack_pop
mov x13, x29
sub x13, x13, #2192
str w0, [x13]
mov x13, x29
sub x13, x13, #2192
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2068
str w8, [x13]
mov x0, x29
sub x0, x0, #1024
bl stack_pop
mov x13, x29
sub x13, x13, #2196
str w0, [x13]
mov x13, x29
sub x13, x13, #2196
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2072
str w8, [x13]
mov x0, x29
sub x0, x0, #1024
bl stack_pop
mov x13, x29
sub x13, x13, #2200
str w0, [x13]
mov x13, x29
sub x13, x13, #2200
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2076
str w8, [x13]
mov x13, x29
sub x13, x13, #2068
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2204
str w8, [x13]
mov x13, x29
sub x13, x13, #2076
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2208
str w8, [x13]
mov x13, x29
sub x13, x13, #2072
ldr w8, [x13]
mov x13, x29
sub x13, x13, #2212
str w8, [x13]
mov x13, x29
sub x13, x13, #2204
ldr w0, [x13]
mov x13, x29
sub x13, x13, #2208
ldr w1, [x13]
mov x13, x29
sub x13, x13, #2212
ldr w2, [x13]
bl eval_op
mov x13, x29
sub x13, x13, #2216
str w0, [x13]
mov x0, x29
sub x0, x0, #1024
mov x13, x29
sub x13, x13, #2216
ldr w1, [x13]
bl stack_push
b .L.eval.14
.L.eval.16:
mov x0, x29
sub x0, x0, #1024
bl stack_peek
mov x13, x29
sub x13, x13, #2220
str w0, [x13]
mov x13, x29
sub x13, x13, #2220
ldr w0, [x13]
add sp, sp, #2224
ldp x29, x30, [sp], #16
ret
.text
.globl main
.p2align 2
main:
.L.main.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #32
bl getint
stur w0, [x29, #-8]
ldur w8, [x29, #-8]
stur w8, [x29, #-4]
bl getch
stur w0, [x29, #-12]
bl next_token
stur w0, [x29, #-16]
b .L.main.1
.L.main.1:
ldur w8, [x29, #-4]
stur w8, [x29, #-20]
ldur w8, [x29, #-20]
mov w9, #0
cmp w8, w9
b.ne .L.main.2
b .L.main.3
.L.main.2:
bl eval
stur w0, [x29, #-24]
ldur w0, [x29, #-24]
bl putint
mov w0, #10
bl putch
ldur w8, [x29, #-4]
stur w8, [x29, #-28]
ldur w8, [x29, #-28]
mov w9, #1
sub w8, w8, w9
stur w8, [x29, #-4]
b .L.main.1
.L.main.3:
mov w0, #0
add sp, sp, #32
ldp x29, x30, [sp], #16
ret