forked from NUDT-compiler/nudt-compiler-cpp
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.
2634 lines
45 KiB
2634 lines
45 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
|
|
bl getch
|
|
mov w8, w0
|
|
adrp x13, last_char
|
|
str w8, [x13, #:lo12:last_char]
|
|
adrp x13, last_char
|
|
ldr w8, [x13, #:lo12:last_char]
|
|
mov w0, w8
|
|
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
|
|
mov w8, w0
|
|
mov w9, #32
|
|
cmp w8, w9
|
|
b.ne .L.is_space.3
|
|
.L.is_space.1:
|
|
mov w8, #1
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.is_space.3:
|
|
mov w9, #10
|
|
cmp w8, w9
|
|
b.eq .L.is_space.1
|
|
.L.is_space.2:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
|
|
.text
|
|
.globl is_num
|
|
.p2align 2
|
|
is_num:
|
|
.L.is_num.0:
|
|
stp x29, x30, [sp, #-16]!
|
|
mov x29, sp
|
|
mov w8, w0
|
|
mov w9, #48
|
|
cmp w8, w9
|
|
b.ge .L.is_num.3
|
|
.L.is_num.2:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.is_num.3:
|
|
mov w9, #57
|
|
cmp w8, w9
|
|
b.gt .L.is_num.2
|
|
.L.is_num.1:
|
|
mov w8, #1
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
|
|
.text
|
|
.globl next_token
|
|
.p2align 2
|
|
next_token:
|
|
.L.next_token.0:
|
|
stp x29, x30, [sp, #-16]!
|
|
mov x29, sp
|
|
b .L.next_token.1
|
|
.L.next_token.1:
|
|
adrp x13, last_char
|
|
ldr w8, [x13, #:lo12:last_char]
|
|
mov w0, w8
|
|
b .L.next_token.10
|
|
.L.next_token.2:
|
|
bl next_char
|
|
mov w8, w0
|
|
b .L.next_token.1
|
|
.L.next_token.3:
|
|
adrp x13, last_char
|
|
ldr w8, [x13, #:lo12:last_char]
|
|
mov w0, w8
|
|
b .L.next_token.15
|
|
.L.next_token.4:
|
|
adrp x13, last_char
|
|
ldr w8, [x13, #:lo12:last_char]
|
|
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]
|
|
adrp x13, other
|
|
str w8, [x13, #:lo12:other]
|
|
bl next_char
|
|
mov w8, w0
|
|
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]
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.next_token.7:
|
|
bl next_char
|
|
mov w8, w0
|
|
mov w0, w8
|
|
b .L.next_token.20
|
|
.L.next_token.8:
|
|
adrp x13, num
|
|
ldr w9, [x13, #:lo12:num]
|
|
mov w8, #10
|
|
mul w9, w9, w8
|
|
adrp x13, last_char
|
|
ldr w8, [x13, #:lo12:last_char]
|
|
add w9, w9, w8
|
|
mov w8, #48
|
|
sub w8, w9, w8
|
|
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
|
|
.L.next_token.10:
|
|
mov w9, w0
|
|
mov w8, #32
|
|
cmp w9, w8
|
|
b.eq .L.next_token.11
|
|
b .L.next_token.13
|
|
.L.next_token.11:
|
|
mov w8, #1
|
|
mov w0, w8
|
|
b .L.next_token.14
|
|
.L.next_token.12:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
b .L.next_token.14
|
|
.L.next_token.13:
|
|
mov w8, #10
|
|
cmp w9, w8
|
|
b.eq .L.next_token.11
|
|
b .L.next_token.12
|
|
.L.next_token.14:
|
|
mov w8, w0
|
|
mov w9, #0
|
|
cmp w8, w9
|
|
b.ne .L.next_token.2
|
|
b .L.next_token.3
|
|
.L.next_token.15:
|
|
mov w8, w0
|
|
mov w9, #48
|
|
cmp w8, w9
|
|
b.ge .L.next_token.18
|
|
b .L.next_token.17
|
|
.L.next_token.16:
|
|
mov w8, #1
|
|
mov w0, w8
|
|
b .L.next_token.19
|
|
.L.next_token.17:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
b .L.next_token.19
|
|
.L.next_token.18:
|
|
mov w9, #57
|
|
cmp w8, w9
|
|
b.le .L.next_token.16
|
|
b .L.next_token.17
|
|
.L.next_token.19:
|
|
mov w8, w0
|
|
mov w9, #0
|
|
cmp w8, w9
|
|
b.ne .L.next_token.4
|
|
b .L.next_token.5
|
|
.L.next_token.20:
|
|
mov w8, w0
|
|
mov w9, #48
|
|
cmp w8, w9
|
|
b.ge .L.next_token.23
|
|
b .L.next_token.22
|
|
.L.next_token.21:
|
|
mov w8, #1
|
|
mov w0, w8
|
|
b .L.next_token.24
|
|
.L.next_token.22:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
b .L.next_token.24
|
|
.L.next_token.23:
|
|
mov w9, #57
|
|
cmp w8, w9
|
|
b.le .L.next_token.21
|
|
b .L.next_token.22
|
|
.L.next_token.24:
|
|
mov w8, w0
|
|
mov w9, #0
|
|
cmp w8, w9
|
|
b.ne .L.next_token.8
|
|
b .L.next_token.9
|
|
|
|
.text
|
|
.globl panic
|
|
.p2align 2
|
|
panic:
|
|
.L.panic.0:
|
|
stp x29, x30, [sp, #-16]!
|
|
mov x29, sp
|
|
mov w8, #112
|
|
mov w0, w8
|
|
bl putch
|
|
mov w8, #97
|
|
mov w0, w8
|
|
bl putch
|
|
mov w8, #110
|
|
mov w0, w8
|
|
bl putch
|
|
mov w8, #105
|
|
mov w0, w8
|
|
bl putch
|
|
mov w8, #99
|
|
mov w0, w8
|
|
bl putch
|
|
mov w8, #33
|
|
mov w0, w8
|
|
bl putch
|
|
mov w8, #10
|
|
mov w0, w8
|
|
bl putch
|
|
mov w8, #-1
|
|
mov w0, w8
|
|
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
|
|
mov w8, w0
|
|
mov w9, #43
|
|
cmp w8, w9
|
|
b.ne .L.get_op_prec.3
|
|
.L.get_op_prec.1:
|
|
mov w8, #10
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.get_op_prec.3:
|
|
mov w9, #45
|
|
cmp w8, w9
|
|
b.eq .L.get_op_prec.1
|
|
.L.get_op_prec.2:
|
|
mov w9, #42
|
|
cmp w8, w9
|
|
b.ne .L.get_op_prec.7
|
|
.L.get_op_prec.4:
|
|
mov w8, #20
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.get_op_prec.7:
|
|
mov w9, #47
|
|
cmp w8, w9
|
|
b.eq .L.get_op_prec.4
|
|
.L.get_op_prec.6:
|
|
mov w9, #37
|
|
cmp w8, w9
|
|
b.eq .L.get_op_prec.4
|
|
.L.get_op_prec.5:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
|
|
.text
|
|
.globl stack_push
|
|
.p2align 2
|
|
stack_push:
|
|
.L.stack_push.0:
|
|
stp x29, x30, [sp, #-16]!
|
|
mov x29, sp
|
|
mov x8, x0
|
|
mov w9, w1
|
|
ldr w10, [x8]
|
|
mov w11, #1
|
|
add w10, w10, w11
|
|
str w10, [x8]
|
|
ldr w10, [x8]
|
|
sxtw x10, w10
|
|
lsl x10, x10, #2
|
|
add x8, x8, x10
|
|
str w9, [x8]
|
|
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
|
|
mov x8, x0
|
|
ldr w9, [x8]
|
|
sxtw x9, w9
|
|
lsl x9, x9, #2
|
|
add x9, x8, x9
|
|
ldr w9, [x9]
|
|
ldr w10, [x8]
|
|
mov w11, #1
|
|
sub w10, w10, w11
|
|
str w10, [x8]
|
|
mov w0, w9
|
|
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
|
|
mov x8, x0
|
|
ldr w9, [x8]
|
|
sxtw x9, w9
|
|
lsl x9, x9, #2
|
|
add x8, x8, x9
|
|
ldr w8, [x8]
|
|
mov w0, w8
|
|
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
|
|
mov x8, x0
|
|
ldr w8, [x8]
|
|
mov w0, w8
|
|
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
|
|
mov w8, w0
|
|
mov w9, w1
|
|
mov w10, w2
|
|
mov w11, #43
|
|
cmp w8, w11
|
|
b.eq .L.eval_op.1
|
|
b .L.eval_op.2
|
|
.L.eval_op.1:
|
|
add w8, w9, w10
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.eval_op.2:
|
|
mov w11, #45
|
|
cmp w8, w11
|
|
b.eq .L.eval_op.3
|
|
b .L.eval_op.4
|
|
.L.eval_op.3:
|
|
sub w8, w9, w10
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.eval_op.4:
|
|
mov w11, #42
|
|
cmp w8, w11
|
|
b.eq .L.eval_op.5
|
|
b .L.eval_op.6
|
|
.L.eval_op.5:
|
|
mul w8, w9, w10
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.eval_op.6:
|
|
mov w11, #47
|
|
cmp w8, w11
|
|
b.eq .L.eval_op.7
|
|
b .L.eval_op.8
|
|
.L.eval_op.7:
|
|
sdiv w8, w9, w10
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.eval_op.8:
|
|
mov w11, #37
|
|
cmp w8, w11
|
|
b.eq .L.eval_op.9
|
|
b .L.eval_op.10
|
|
.L.eval_op.9:
|
|
sdiv w14, w9, w10
|
|
msub w8, w14, w10, w9
|
|
mov w0, w8
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.eval_op.10:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
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, #2080
|
|
str x19, [sp, #0]
|
|
str x20, [sp, #8]
|
|
mov x10, x29
|
|
sub x10, x10, #1024
|
|
mov w9, #0
|
|
str w9, [x10]
|
|
mov x8, #4
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #8
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #12
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #16
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #20
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #24
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #28
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #32
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #36
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #40
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #44
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #48
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #52
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #56
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #60
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #64
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #68
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #72
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #76
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #80
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #84
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #88
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #92
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #96
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #100
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #104
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #108
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #112
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #116
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #120
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #124
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #128
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #132
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #136
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #140
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #144
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #148
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #152
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #156
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #160
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #164
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #168
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #172
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #176
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #180
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #184
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #188
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #192
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #196
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #200
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #204
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #208
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #212
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #216
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #220
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #224
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #228
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #232
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #236
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #240
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #244
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #248
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #252
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #256
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #260
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #264
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #268
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #272
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #276
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #280
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #284
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #288
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #292
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #296
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #300
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #304
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #308
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #312
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #316
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #320
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #324
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #328
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #332
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #336
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #340
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #344
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #348
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #352
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #356
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #360
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #364
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #368
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #372
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #376
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #380
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #384
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #388
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #392
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #396
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #400
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #404
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #408
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #412
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #416
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #420
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #424
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #428
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #432
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #436
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #440
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #444
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #448
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #452
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #456
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #460
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #464
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #468
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #472
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #476
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #480
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #484
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #488
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #492
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #496
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #500
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #504
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #508
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #512
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #516
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #520
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #524
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #528
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #532
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #536
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #540
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #544
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #548
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #552
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #556
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #560
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #564
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #568
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #572
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #576
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #580
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #584
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #588
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #592
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #596
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #600
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #604
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #608
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #612
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #616
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #620
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #624
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #628
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #632
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #636
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #640
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #644
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #648
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #652
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #656
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #660
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #664
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #668
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #672
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #676
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #680
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #684
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #688
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #692
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #696
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #700
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #704
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #708
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #712
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #716
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #720
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #724
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #728
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #732
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #736
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #740
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #744
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #748
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #752
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #756
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #760
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #764
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #768
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #772
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #776
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #780
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #784
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #788
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #792
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #796
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #800
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #804
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #808
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #812
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #816
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #820
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #824
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #828
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #832
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #836
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #840
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #844
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #848
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #852
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #856
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #860
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #864
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #868
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #872
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #876
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #880
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #884
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #888
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #892
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #896
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #900
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #904
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #908
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #912
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #916
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #920
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #924
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #928
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #932
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #936
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #940
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #944
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #948
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #952
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #956
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #960
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #964
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #968
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #972
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #976
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #980
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #984
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #988
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #992
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #996
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1000
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1004
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1008
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1012
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1016
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1020
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x10, x29
|
|
sub x10, x10, #2048
|
|
str w9, [x10]
|
|
mov x8, #4
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #8
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #12
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #16
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #20
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #24
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #28
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #32
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #36
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #40
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #44
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #48
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #52
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #56
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #60
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #64
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #68
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #72
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #76
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #80
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #84
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #88
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #92
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #96
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #100
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #104
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #108
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #112
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #116
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #120
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #124
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #128
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #132
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #136
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #140
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #144
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #148
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #152
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #156
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #160
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #164
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #168
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #172
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #176
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #180
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #184
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #188
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #192
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #196
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #200
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #204
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #208
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #212
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #216
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #220
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #224
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #228
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #232
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #236
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #240
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #244
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #248
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #252
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #256
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #260
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #264
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #268
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #272
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #276
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #280
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #284
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #288
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #292
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #296
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #300
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #304
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #308
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #312
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #316
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #320
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #324
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #328
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #332
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #336
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #340
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #344
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #348
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #352
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #356
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #360
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #364
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #368
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #372
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #376
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #380
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #384
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #388
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #392
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #396
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #400
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #404
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #408
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #412
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #416
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #420
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #424
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #428
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #432
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #436
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #440
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #444
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #448
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #452
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #456
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #460
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #464
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #468
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #472
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #476
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #480
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #484
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #488
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #492
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #496
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #500
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #504
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #508
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #512
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #516
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #520
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #524
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #528
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #532
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #536
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #540
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #544
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #548
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #552
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #556
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #560
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #564
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #568
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #572
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #576
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #580
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #584
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #588
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #592
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #596
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #600
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #604
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #608
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #612
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #616
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #620
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #624
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #628
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #632
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #636
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #640
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #644
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #648
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #652
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #656
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #660
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #664
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #668
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #672
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #676
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #680
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #684
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #688
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #692
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #696
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #700
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #704
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #708
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #712
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #716
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #720
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #724
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #728
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #732
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #736
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #740
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #744
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #748
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #752
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #756
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #760
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #764
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #768
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #772
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #776
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #780
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #784
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #788
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #792
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #796
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #800
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #804
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #808
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #812
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #816
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #820
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #824
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #828
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #832
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #836
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #840
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #844
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #848
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #852
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #856
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #860
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #864
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #868
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #872
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #876
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #880
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #884
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #888
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #892
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #896
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #900
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #904
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #908
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #912
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #916
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #920
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #924
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #928
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #932
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #936
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #940
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #944
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #948
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #952
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #956
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #960
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #964
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #968
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #972
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #976
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #980
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #984
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #988
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #992
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #996
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1000
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1004
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1008
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1012
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1016
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
mov x8, #1020
|
|
add x8, x10, x8
|
|
str w9, [x8]
|
|
adrp x13, cur_token
|
|
ldr w9, [x13, #:lo12:cur_token]
|
|
mov w8, #0
|
|
cmp w9, w8
|
|
b.ne .L.eval.1
|
|
b .L.eval.2
|
|
.L.eval.1:
|
|
bl panic
|
|
mov w8, w0
|
|
mov w0, w8
|
|
ldr x19, [sp, #0]
|
|
ldr x20, [sp, #8]
|
|
add sp, sp, #2080
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.eval.2:
|
|
adrp x13, num
|
|
ldr w9, [x13, #:lo12:num]
|
|
mov x8, x29
|
|
sub x8, x8, #1024
|
|
mov x0, x8
|
|
mov w1, w9
|
|
b .L.eval.17
|
|
.L.eval.3:
|
|
adrp x13, cur_token
|
|
ldr w9, [x13, #:lo12:cur_token]
|
|
mov w8, #1
|
|
cmp w9, w8
|
|
b.eq .L.eval.4
|
|
b .L.eval.5
|
|
.L.eval.4:
|
|
adrp x13, other
|
|
ldr w19, [x13, #:lo12:other]
|
|
mov w0, w19
|
|
b .L.eval.19
|
|
.L.eval.5:
|
|
bl next_token
|
|
mov w8, w0
|
|
b .L.eval.14
|
|
.L.eval.6:
|
|
b .L.eval.5
|
|
.L.eval.7:
|
|
bl next_token
|
|
mov w8, w0
|
|
mov w12, w19
|
|
b .L.eval.8
|
|
.L.eval.8:
|
|
mov x8, x29
|
|
sub x8, x8, #2048
|
|
mov x0, x8
|
|
b .L.eval.28
|
|
.L.eval.9:
|
|
mov x8, x29
|
|
sub x8, x8, #2048
|
|
mov x0, x8
|
|
b .L.eval.30
|
|
.L.eval.10:
|
|
mov x8, x29
|
|
sub x8, x8, #2048
|
|
mov x0, x8
|
|
mov w1, w12
|
|
b .L.eval.32
|
|
.L.eval.11:
|
|
mov x8, x29
|
|
sub x8, x8, #2048
|
|
mov x0, x8
|
|
b .L.eval.34
|
|
.L.eval.12:
|
|
bl panic
|
|
mov w8, w0
|
|
mov w0, w8
|
|
ldr x19, [sp, #0]
|
|
ldr x20, [sp, #8]
|
|
add sp, sp, #2080
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.eval.13:
|
|
adrp x13, num
|
|
ldr w9, [x13, #:lo12:num]
|
|
mov x8, x29
|
|
sub x8, x8, #1024
|
|
mov x0, x8
|
|
mov w1, w9
|
|
b .L.eval.36
|
|
.L.eval.14:
|
|
mov x8, x29
|
|
sub x8, x8, #2048
|
|
mov x0, x8
|
|
b .L.eval.38
|
|
.L.eval.15:
|
|
mov x8, x29
|
|
sub x8, x8, #2048
|
|
mov x0, x8
|
|
b .L.eval.40
|
|
.L.eval.16:
|
|
mov x8, x29
|
|
sub x8, x8, #1024
|
|
mov x0, x8
|
|
b .L.eval.42
|
|
.L.eval.17:
|
|
mov x11, x0
|
|
mov w10, w1
|
|
ldr w9, [x11]
|
|
mov w8, #1
|
|
add w8, w9, w8
|
|
str w8, [x11]
|
|
ldr w8, [x11]
|
|
sxtw x8, w8
|
|
lsl x8, x8, #2
|
|
add x8, x11, x8
|
|
str w10, [x8]
|
|
b .L.eval.18
|
|
.L.eval.18:
|
|
bl next_token
|
|
mov w8, w0
|
|
b .L.eval.3
|
|
.L.eval.19:
|
|
mov w9, w0
|
|
mov w8, #43
|
|
cmp w9, w8
|
|
b.eq .L.eval.20
|
|
b .L.eval.22
|
|
.L.eval.20:
|
|
mov w8, #10
|
|
mov w0, w8
|
|
b .L.eval.27
|
|
.L.eval.21:
|
|
mov w8, #42
|
|
cmp w9, w8
|
|
b.eq .L.eval.23
|
|
b .L.eval.26
|
|
.L.eval.22:
|
|
mov w8, #45
|
|
cmp w9, w8
|
|
b.eq .L.eval.20
|
|
b .L.eval.21
|
|
.L.eval.23:
|
|
mov w8, #20
|
|
mov w0, w8
|
|
b .L.eval.27
|
|
.L.eval.24:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
b .L.eval.27
|
|
.L.eval.25:
|
|
mov w8, #37
|
|
cmp w9, w8
|
|
b.eq .L.eval.23
|
|
b .L.eval.24
|
|
.L.eval.26:
|
|
mov w8, #47
|
|
cmp w9, w8
|
|
b.eq .L.eval.23
|
|
b .L.eval.25
|
|
.L.eval.27:
|
|
mov w9, w0
|
|
mov w8, #0
|
|
cmp w9, w8
|
|
b.eq .L.eval.6
|
|
b .L.eval.7
|
|
.L.eval.28:
|
|
mov x8, x0
|
|
ldr w8, [x8]
|
|
mov w0, w8
|
|
b .L.eval.29
|
|
.L.eval.29:
|
|
mov w9, w0
|
|
mov w8, #0
|
|
cmp w9, w8
|
|
b.ne .L.eval.11
|
|
b .L.eval.10
|
|
.L.eval.30:
|
|
mov x11, x0
|
|
ldr w8, [x11]
|
|
sxtw x8, w8
|
|
lsl x8, x8, #2
|
|
add x8, x11, x8
|
|
ldr w10, [x8]
|
|
ldr w9, [x11]
|
|
mov w8, #1
|
|
sub w8, w9, w8
|
|
str w8, [x11]
|
|
mov w0, w10
|
|
b .L.eval.31
|
|
.L.eval.31:
|
|
mov w19, w0
|
|
mov x15, x29
|
|
sub x15, x15, #1024
|
|
mov x0, x15
|
|
b .L.eval.44
|
|
.L.eval.32:
|
|
mov x11, x0
|
|
mov w10, w1
|
|
ldr w9, [x11]
|
|
mov w8, #1
|
|
add w8, w9, w8
|
|
str w8, [x11]
|
|
ldr w8, [x11]
|
|
sxtw x8, w8
|
|
lsl x8, x8, #2
|
|
add x8, x11, x8
|
|
str w10, [x8]
|
|
b .L.eval.33
|
|
.L.eval.33:
|
|
adrp x13, cur_token
|
|
ldr w9, [x13, #:lo12:cur_token]
|
|
mov w8, #0
|
|
cmp w9, w8
|
|
b.ne .L.eval.12
|
|
b .L.eval.13
|
|
.L.eval.34:
|
|
mov x9, x0
|
|
ldr w8, [x9]
|
|
sxtw x8, w8
|
|
lsl x8, x8, #2
|
|
add x8, x9, x8
|
|
ldr w8, [x8]
|
|
mov w0, w8
|
|
b .L.eval.35
|
|
.L.eval.35:
|
|
mov w8, w0
|
|
mov w0, w8
|
|
b .L.eval.46
|
|
.L.eval.36:
|
|
mov x11, x0
|
|
mov w10, w1
|
|
ldr w9, [x11]
|
|
mov w8, #1
|
|
add w8, w9, w8
|
|
str w8, [x11]
|
|
ldr w8, [x11]
|
|
sxtw x8, w8
|
|
lsl x8, x8, #2
|
|
add x8, x11, x8
|
|
str w10, [x8]
|
|
b .L.eval.37
|
|
.L.eval.37:
|
|
bl next_token
|
|
mov w8, w0
|
|
b .L.eval.3
|
|
.L.eval.38:
|
|
mov x8, x0
|
|
ldr w8, [x8]
|
|
mov w0, w8
|
|
b .L.eval.39
|
|
.L.eval.39:
|
|
mov w9, w0
|
|
mov w8, #0
|
|
cmp w9, w8
|
|
b.ne .L.eval.15
|
|
b .L.eval.16
|
|
.L.eval.40:
|
|
mov x8, x0
|
|
ldr w9, [x8]
|
|
sxtw x9, w9
|
|
lsl x9, x9, #2
|
|
add x9, x8, x9
|
|
ldr w9, [x9]
|
|
ldr w10, [x8]
|
|
mov w11, #1
|
|
sub w10, w10, w11
|
|
str w10, [x8]
|
|
mov w0, w9
|
|
b .L.eval.41
|
|
.L.eval.41:
|
|
mov w15, w0
|
|
mov x12, x29
|
|
sub x12, x12, #1024
|
|
mov x0, x12
|
|
b .L.eval.55
|
|
.L.eval.42:
|
|
mov x8, x0
|
|
ldr w9, [x8]
|
|
sxtw x9, w9
|
|
lsl x9, x9, #2
|
|
add x8, x8, x9
|
|
ldr w8, [x8]
|
|
mov w0, w8
|
|
b .L.eval.43
|
|
.L.eval.43:
|
|
mov w8, w0
|
|
mov w0, w8
|
|
ldr x19, [sp, #0]
|
|
ldr x20, [sp, #8]
|
|
add sp, sp, #2080
|
|
ldp x29, x30, [sp], #16
|
|
ret
|
|
.L.eval.44:
|
|
mov x8, x0
|
|
ldr w9, [x8]
|
|
sxtw x9, w9
|
|
lsl x9, x9, #2
|
|
add x9, x8, x9
|
|
ldr w9, [x9]
|
|
ldr w10, [x8]
|
|
mov w11, #1
|
|
sub w10, w10, w11
|
|
str w10, [x8]
|
|
mov w0, w9
|
|
b .L.eval.45
|
|
.L.eval.45:
|
|
mov w9, w0
|
|
mov x0, x15
|
|
b .L.eval.57
|
|
.L.eval.46:
|
|
mov w8, w0
|
|
mov w9, #43
|
|
cmp w8, w9
|
|
b.eq .L.eval.47
|
|
b .L.eval.49
|
|
.L.eval.47:
|
|
mov w8, #10
|
|
mov w0, w8
|
|
b .L.eval.54
|
|
.L.eval.48:
|
|
mov w9, #42
|
|
cmp w8, w9
|
|
b.eq .L.eval.50
|
|
b .L.eval.53
|
|
.L.eval.49:
|
|
mov w9, #45
|
|
cmp w8, w9
|
|
b.eq .L.eval.47
|
|
b .L.eval.48
|
|
.L.eval.50:
|
|
mov w8, #20
|
|
mov w0, w8
|
|
b .L.eval.54
|
|
.L.eval.51:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
b .L.eval.54
|
|
.L.eval.52:
|
|
mov w9, #37
|
|
cmp w8, w9
|
|
b.eq .L.eval.50
|
|
b .L.eval.51
|
|
.L.eval.53:
|
|
mov w9, #47
|
|
cmp w8, w9
|
|
b.eq .L.eval.50
|
|
b .L.eval.52
|
|
.L.eval.54:
|
|
mov w9, w0
|
|
mov w0, w12
|
|
b .L.eval.59
|
|
.L.eval.55:
|
|
mov x8, x0
|
|
ldr w9, [x8]
|
|
sxtw x9, w9
|
|
lsl x9, x9, #2
|
|
add x9, x8, x9
|
|
ldr w9, [x9]
|
|
ldr w10, [x8]
|
|
mov w11, #1
|
|
sub w10, w10, w11
|
|
str w10, [x8]
|
|
mov w0, w9
|
|
b .L.eval.56
|
|
.L.eval.56:
|
|
mov w9, w0
|
|
mov x0, x12
|
|
b .L.eval.68
|
|
.L.eval.57:
|
|
mov x8, x0
|
|
ldr w10, [x8]
|
|
sxtw x10, w10
|
|
lsl x10, x10, #2
|
|
add x10, x8, x10
|
|
ldr w10, [x10]
|
|
ldr w11, [x8]
|
|
mov w20, #1
|
|
sub w11, w11, w20
|
|
str w11, [x8]
|
|
mov w0, w10
|
|
b .L.eval.58
|
|
.L.eval.58:
|
|
mov w8, w0
|
|
mov w0, w19
|
|
mov w1, w8
|
|
mov w2, w9
|
|
b .L.eval.70
|
|
.L.eval.59:
|
|
mov w8, w0
|
|
mov w10, #43
|
|
cmp w8, w10
|
|
b.eq .L.eval.60
|
|
b .L.eval.62
|
|
.L.eval.60:
|
|
mov w8, #10
|
|
mov w0, w8
|
|
b .L.eval.67
|
|
.L.eval.61:
|
|
mov w10, #42
|
|
cmp w8, w10
|
|
b.eq .L.eval.63
|
|
b .L.eval.66
|
|
.L.eval.62:
|
|
mov w10, #45
|
|
cmp w8, w10
|
|
b.eq .L.eval.60
|
|
b .L.eval.61
|
|
.L.eval.63:
|
|
mov w8, #20
|
|
mov w0, w8
|
|
b .L.eval.67
|
|
.L.eval.64:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
b .L.eval.67
|
|
.L.eval.65:
|
|
mov w10, #37
|
|
cmp w8, w10
|
|
b.eq .L.eval.63
|
|
b .L.eval.64
|
|
.L.eval.66:
|
|
mov w10, #47
|
|
cmp w8, w10
|
|
b.eq .L.eval.63
|
|
b .L.eval.65
|
|
.L.eval.67:
|
|
mov w8, w0
|
|
cmp w9, w8
|
|
b.ge .L.eval.9
|
|
b .L.eval.10
|
|
.L.eval.68:
|
|
mov x8, x0
|
|
ldr w10, [x8]
|
|
sxtw x10, w10
|
|
lsl x10, x10, #2
|
|
add x10, x8, x10
|
|
ldr w10, [x10]
|
|
ldr w11, [x8]
|
|
mov w19, #1
|
|
sub w11, w11, w19
|
|
str w11, [x8]
|
|
mov w0, w10
|
|
b .L.eval.69
|
|
.L.eval.69:
|
|
mov w8, w0
|
|
mov w0, w15
|
|
mov w1, w8
|
|
mov w2, w9
|
|
b .L.eval.82
|
|
.L.eval.70:
|
|
mov w8, w0
|
|
mov w9, w1
|
|
mov w10, w2
|
|
mov w11, #43
|
|
cmp w8, w11
|
|
b.eq .L.eval.71
|
|
b .L.eval.72
|
|
.L.eval.71:
|
|
add w8, w9, w10
|
|
mov w0, w8
|
|
b .L.eval.81
|
|
.L.eval.72:
|
|
mov w11, #45
|
|
cmp w8, w11
|
|
b.eq .L.eval.73
|
|
b .L.eval.74
|
|
.L.eval.73:
|
|
sub w8, w9, w10
|
|
mov w0, w8
|
|
b .L.eval.81
|
|
.L.eval.74:
|
|
mov w11, #42
|
|
cmp w8, w11
|
|
b.eq .L.eval.75
|
|
b .L.eval.76
|
|
.L.eval.75:
|
|
mul w8, w9, w10
|
|
mov w0, w8
|
|
b .L.eval.81
|
|
.L.eval.76:
|
|
mov w11, #47
|
|
cmp w8, w11
|
|
b.eq .L.eval.77
|
|
b .L.eval.78
|
|
.L.eval.77:
|
|
sdiv w8, w9, w10
|
|
mov w0, w8
|
|
b .L.eval.81
|
|
.L.eval.78:
|
|
mov w11, #37
|
|
cmp w8, w11
|
|
b.eq .L.eval.79
|
|
b .L.eval.80
|
|
.L.eval.79:
|
|
sdiv w14, w9, w10
|
|
msub w8, w14, w10, w9
|
|
mov w0, w8
|
|
b .L.eval.81
|
|
.L.eval.80:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
b .L.eval.81
|
|
.L.eval.81:
|
|
mov w8, w0
|
|
mov x0, x15
|
|
mov w1, w8
|
|
b .L.eval.94
|
|
.L.eval.82:
|
|
mov w11, w0
|
|
mov w10, w1
|
|
mov w9, w2
|
|
mov w8, #43
|
|
cmp w11, w8
|
|
b.eq .L.eval.83
|
|
b .L.eval.84
|
|
.L.eval.83:
|
|
add w8, w10, w9
|
|
mov w0, w8
|
|
b .L.eval.93
|
|
.L.eval.84:
|
|
mov w8, #45
|
|
cmp w11, w8
|
|
b.eq .L.eval.85
|
|
b .L.eval.86
|
|
.L.eval.85:
|
|
sub w8, w10, w9
|
|
mov w0, w8
|
|
b .L.eval.93
|
|
.L.eval.86:
|
|
mov w8, #42
|
|
cmp w11, w8
|
|
b.eq .L.eval.87
|
|
b .L.eval.88
|
|
.L.eval.87:
|
|
mul w8, w10, w9
|
|
mov w0, w8
|
|
b .L.eval.93
|
|
.L.eval.88:
|
|
mov w8, #47
|
|
cmp w11, w8
|
|
b.eq .L.eval.89
|
|
b .L.eval.90
|
|
.L.eval.89:
|
|
sdiv w8, w10, w9
|
|
mov w0, w8
|
|
b .L.eval.93
|
|
.L.eval.90:
|
|
mov w8, #37
|
|
cmp w11, w8
|
|
b.eq .L.eval.91
|
|
b .L.eval.92
|
|
.L.eval.91:
|
|
sdiv w14, w10, w9
|
|
msub w8, w14, w9, w10
|
|
mov w0, w8
|
|
b .L.eval.93
|
|
.L.eval.92:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
b .L.eval.93
|
|
.L.eval.93:
|
|
mov w8, w0
|
|
mov x0, x12
|
|
mov w1, w8
|
|
b .L.eval.96
|
|
.L.eval.94:
|
|
mov x8, x0
|
|
mov w9, w1
|
|
ldr w10, [x8]
|
|
mov w11, #1
|
|
add w10, w10, w11
|
|
str w10, [x8]
|
|
ldr w10, [x8]
|
|
sxtw x10, w10
|
|
lsl x10, x10, #2
|
|
add x8, x8, x10
|
|
str w9, [x8]
|
|
b .L.eval.95
|
|
.L.eval.95:
|
|
b .L.eval.8
|
|
.L.eval.96:
|
|
mov x11, x0
|
|
mov w10, w1
|
|
ldr w9, [x11]
|
|
mov w8, #1
|
|
add w8, w9, w8
|
|
str w8, [x11]
|
|
ldr w8, [x11]
|
|
sxtw x8, w8
|
|
lsl x8, x8, #2
|
|
add x8, x11, x8
|
|
str w10, [x8]
|
|
b .L.eval.97
|
|
.L.eval.97:
|
|
b .L.eval.14
|
|
|
|
.text
|
|
.globl main
|
|
.p2align 2
|
|
main:
|
|
.L.main.0:
|
|
stp x29, x30, [sp, #-16]!
|
|
mov x29, sp
|
|
sub sp, sp, #32
|
|
str x19, [sp, #0]
|
|
bl getint
|
|
mov w19, w0
|
|
bl getch
|
|
mov w8, w0
|
|
bl next_token
|
|
mov w8, w0
|
|
b .L.main.1
|
|
.L.main.1:
|
|
mov w8, #0
|
|
cmp w19, w8
|
|
b.ne .L.main.2
|
|
b .L.main.3
|
|
.L.main.2:
|
|
bl eval
|
|
mov w8, w0
|
|
mov w0, w8
|
|
bl putint
|
|
mov w8, #10
|
|
mov w0, w8
|
|
bl putch
|
|
mov w8, #1
|
|
sub w8, w19, w8
|
|
mov w19, w8
|
|
b .L.main.1
|
|
.L.main.3:
|
|
mov w8, #0
|
|
mov w0, w8
|
|
ldr x19, [sp, #0]
|
|
add sp, sp, #32
|
|
ldp x29, x30, [sp], #16
|
|
ret
|