sysy-data/hidden_functional_c/asm/11_BST.s

1273 lines
17 KiB
ArmAsm

.file "11_BST.sy"
.option pic
.attribute arch, "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0"
.attribute unaligned_access, 0
.attribute stack_align, 16
.text
.align 1
.globl search
.type search, @function
search:
li a5,-1
beq a0,a5,.L8
lla a7,value
lla a6,left_child
lla a2,right_child
li t1,-1
.L3:
slli a5,a0,2
add a4,a7,a5
lw a4,0(a4)
add a3,a2,a5
add a5,a6,a5
beq a4,a1,.L11
bge a4,a1,.L5
lw a0,0(a3)
bne a0,t1,.L3
.L8:
li a0,-1
ret
.L5:
lw a0,0(a5)
bne a0,t1,.L3
j .L8
.L11:
ret
.size search, .-search
.align 1
.globl find_minimum
.type find_minimum, @function
find_minimum:
li a4,-1
mv a5,a0
beq a0,a4,.L15
lla a2,left_child
li a3,-1
.L14:
slli a4,a5,2
add a4,a2,a4
mv a0,a5
lw a5,0(a4)
bne a5,a3,.L14
ret
.L15:
li a0,-1
ret
.size find_minimum, .-find_minimum
.align 1
.globl new_node
.type new_node, @function
new_node:
lla a6,.LANCHOR0
lw a5,0(a6)
lla a2,value
lla a3,left_child
slli a1,a5,2
lla a4,right_child
li a7,-1
add a2,a2,a1
add a3,a3,a1
add a4,a4,a1
addiw a1,a5,1
sw a0,0(a2)
sw a7,0(a3)
sw a7,0(a4)
sw a1,0(a6)
mv a0,a5
ret
.size new_node, .-new_node
.align 1
.globl insert
.type insert, @function
insert:
addi sp,sp,-80
sd s0,64(sp)
sd ra,72(sp)
sd s1,56(sp)
sd s2,48(sp)
sd s3,40(sp)
sd s4,32(sp)
sd s5,24(sp)
sd s6,16(sp)
sd s7,8(sp)
li a3,-1
mv a5,a1
mv s0,a0
beq a0,a3,.L48
lla a4,value
slli s5,a0,2
add a2,a4,s5
lw a2,0(a2)
bge a2,a1,.L21
lla s1,right_child
add a2,s1,s5
lw s2,0(a2)
mv a2,s2
beq s2,a3,.L49
slli s3,s2,2
add a2,a4,s3
lw a2,0(a2)
blt a2,a1,.L50
lla s6,left_child
add a2,s6,s3
lw s4,0(a2)
mv a2,s4
beq s4,a3,.L51
slli a3,s4,2
add a4,a4,a3
lw a4,0(a4)
bge a4,a1,.L32
add s7,s1,a3
lw a0,0(s7)
call insert
sw a0,0(s7)
.L31:
add s3,s6,s3
sw s4,0(s3)
.L23:
add s1,s1,s5
sw s2,0(s1)
mv a0,s0
j .L20
.L21:
lla s6,left_child
add a2,s6,s5
lw s2,0(a2)
mv a2,s2
beq s2,a3,.L52
slli s7,s2,2
add a2,a4,s7
lw a2,0(a2)
blt a2,a1,.L53
add a2,s6,s7
lw s3,0(a2)
mv a2,s3
beq s3,a3,.L54
slli a3,s3,2
add a4,a4,a3
lw a4,0(a4)
bge a4,a1,.L44
lla s1,right_child
add s1,s1,a3
lw a0,0(s1)
call insert
sw a0,0(s1)
.L43:
add a4,s6,s7
sw s3,0(a4)
.L35:
add a5,s6,s5
sw s2,0(a5)
mv a0,s0
j .L20
.L48:
lla a6,.LANCHOR0
lw a0,0(a6)
lla a2,value
lla a3,left_child
slli a1,a0,2
lla a4,right_child
add a2,a2,a1
add a3,a3,a1
add a4,a4,a1
addiw a1,a0,1
sw a5,0(a2)
sw s0,0(a3)
sw s0,0(a4)
sw a1,0(a6)
.L20:
ld ra,72(sp)
ld s0,64(sp)
ld s1,56(sp)
ld s2,48(sp)
ld s3,40(sp)
ld s4,32(sp)
ld s5,24(sp)
ld s6,16(sp)
ld s7,8(sp)
addi sp,sp,80
jr ra
.L50:
add a2,s1,s3
lw s4,0(a2)
mv a2,s4
beq s4,a3,.L55
slli a3,s4,2
add a4,a4,a3
lw a4,0(a4)
bge a4,a1,.L27
add s6,s1,a3
lw a0,0(s6)
call insert
sw a0,0(s6)
.L26:
add s3,s1,s3
sw s4,0(s3)
j .L23
.L53:
lla s1,right_child
add a2,s1,s7
lw s3,0(a2)
mv a2,s3
beq s3,a3,.L56
slli a3,s3,2
add a4,a4,a3
lw a4,0(a4)
bge a4,a1,.L39
add s4,s1,a3
lw a0,0(s4)
call insert
sw a0,0(s4)
.L38:
add s1,s1,s7
sw s3,0(s1)
j .L35
.L49:
lla a0,.LANCHOR0
lw s2,0(a0)
lla a1,left_child
slli a3,s2,2
add a4,a4,a3
add a1,a1,a3
addiw a6,s2,1
add a3,s1,a3
sw a5,0(a4)
sw a2,0(a1)
sw a2,0(a3)
sw a6,0(a0)
j .L23
.L52:
lla a0,.LANCHOR0
lw s2,0(a0)
lla a3,right_child
slli a1,s2,2
add a4,a4,a1
add a6,s6,a1
add a3,a3,a1
addiw a1,s2,1
sw a5,0(a4)
sw a2,0(a6)
sw a2,0(a3)
sw a1,0(a0)
j .L35
.L32:
add s7,s6,a3
lw a0,0(s7)
call insert
sw a0,0(s7)
j .L31
.L44:
add s1,s6,a3
lw a0,0(s1)
call insert
sw a0,0(s1)
j .L43
.L27:
lla s6,left_child
add s6,s6,a3
lw a0,0(s6)
call insert
sw a0,0(s6)
j .L26
.L39:
add s4,s6,a3
lw a0,0(s4)
call insert
sw a0,0(s4)
j .L38
.L51:
lla a1,.LANCHOR0
lw s4,0(a1)
slli a3,s4,2
add a4,a4,a3
add a6,s6,a3
addiw a0,s4,1
add a3,s1,a3
sw a5,0(a4)
sw a2,0(a6)
sw a2,0(a3)
sw a0,0(a1)
j .L31
.L56:
lla a1,.LANCHOR0
lw s3,0(a1)
slli a3,s3,2
add a4,a4,a3
add a6,s6,a3
addiw a0,s3,1
add a3,s1,a3
sw a5,0(a4)
sw a2,0(a6)
sw a2,0(a3)
sw a0,0(a1)
j .L38
.L54:
lla a0,.LANCHOR0
lw s3,0(a0)
lla a3,right_child
slli a1,s3,2
add a4,a4,a1
add a6,s6,a1
add a3,a3,a1
addiw a1,s3,1
sw a5,0(a4)
sw a2,0(a6)
sw a2,0(a3)
sw a1,0(a0)
j .L43
.L55:
lla a0,.LANCHOR0
lw s4,0(a0)
lla a1,left_child
slli a3,s4,2
add a4,a4,a3
add a1,a1,a3
addiw a6,s4,1
add a3,s1,a3
sw a5,0(a4)
sw a2,0(a1)
sw a2,0(a3)
sw a6,0(a0)
j .L26
.size insert, .-insert
.align 1
.globl delete
.type delete, @function
delete:
li a4,-1
beq a0,a4,.L63
addi sp,sp,-32
sd s1,8(sp)
lla a6,value
slli s1,a0,2
add a3,a6,s1
lw a2,0(a3)
sd s0,16(sp)
sd ra,24(sp)
sd s2,0(sp)
mv s0,a0
blt a2,a1,.L70
lla a3,left_child
add s2,a3,s1
lw a7,0(s2)
bgt a2,a1,.L71
lla s2,right_child
add a5,s2,s1
lw a0,0(a5)
beq a7,a4,.L58
beq a0,a4,.L64
mv a5,a0
li a1,-1
.L62:
slli a4,a5,2
add a4,a3,a4
mv a2,a5
lw a5,0(a4)
bne a5,a1,.L62
slli a2,a2,2
add a2,a6,a2
lw a1,0(a2)
add a6,a6,s1
add s2,s2,s1
sw a1,0(a6)
call delete
sw a0,0(s2)
.L61:
mv a0,s0
.L58:
ld ra,24(sp)
ld s0,16(sp)
ld s1,8(sp)
ld s2,0(sp)
addi sp,sp,32
jr ra
.L71:
mv a0,a7
call delete
sw a0,0(s2)
j .L61
.L70:
lla a5,right_child
add s1,a5,s1
lw a0,0(s1)
call delete
sw a0,0(s1)
j .L61
.L64:
ld ra,24(sp)
ld s0,16(sp)
ld s1,8(sp)
ld s2,0(sp)
mv a0,a7
addi sp,sp,32
jr ra
.L63:
li a0,-1
ret
.size delete, .-delete
.align 1
.globl inorder
.type inorder, @function
inorder:
li a5,-1
beq a0,a5,.L101
addi sp,sp,-128
sd s2,96(sp)
sd s3,88(sp)
sd s4,80(sp)
sd s5,72(sp)
sd s11,24(sp)
sd ra,120(sp)
sd s0,112(sp)
sd s1,104(sp)
sd s6,64(sp)
sd s7,56(sp)
sd s8,48(sp)
sd s9,40(sp)
sd s10,32(sp)
mv s5,a0
lla s4,left_child
lla s3,value
lla s2,right_child
li s11,-1
.L90:
slli s5,s5,2
add a5,s4,s5
lw s6,0(a5)
beq s6,s11,.L74
.L89:
slli s6,s6,2
add a5,s4,s6
lw s7,0(a5)
beq s7,s11,.L75
.L88:
slli s7,s7,2
add a5,s4,s7
lw s8,0(a5)
beq s8,s11,.L76
.L87:
slli s8,s8,2
add a5,s4,s8
lw s0,0(a5)
beq s0,s11,.L77
.L86:
slli s0,s0,2
add a5,s4,s0
lw s9,0(a5)
beq s9,s11,.L78
.L85:
slli s9,s9,2
add a5,s4,s9
lw s10,0(a5)
beq s10,s11,.L79
.L84:
slli s10,s10,2
add a5,s4,s10
lw s1,0(a5)
beq s1,s11,.L80
.L83:
slli s1,s1,2
add a5,s4,s1
lw a5,0(a5)
beq a5,s11,.L81
.L82:
slli a5,a5,2
add a4,s4,a5
lw a0,0(a4)
sd a5,8(sp)
call inorder
ld a5,8(sp)
add a4,s3,a5
lw a0,0(a4)
call putint@plt
li a0,32
call putch@plt
ld a5,8(sp)
add a5,s2,a5
lw a5,0(a5)
bne a5,s11,.L82
.L81:
add a5,s3,s1
lw a0,0(a5)
add s1,s2,s1
call putint@plt
li a0,32
call putch@plt
lw s1,0(s1)
bne s1,s11,.L83
.L80:
add a5,s3,s10
lw a0,0(a5)
add s10,s2,s10
call putint@plt
li a0,32
call putch@plt
lw s10,0(s10)
bne s10,s11,.L84
.L79:
add a5,s3,s9
lw a0,0(a5)
add s9,s2,s9
call putint@plt
li a0,32
call putch@plt
lw s9,0(s9)
bne s9,s11,.L85
.L78:
add a5,s3,s0
lw a0,0(a5)
add s0,s2,s0
call putint@plt
li a0,32
call putch@plt
lw s0,0(s0)
bne s0,s11,.L86
.L77:
add a5,s3,s8
lw a0,0(a5)
add s8,s2,s8
call putint@plt
li a0,32
call putch@plt
lw s8,0(s8)
bne s8,s11,.L87
.L76:
add a5,s3,s7
lw a0,0(a5)
add s7,s2,s7
call putint@plt
li a0,32
call putch@plt
lw s7,0(s7)
bne s7,s11,.L88
.L75:
add a5,s3,s6
lw a0,0(a5)
add s6,s2,s6
call putint@plt
li a0,32
call putch@plt
lw s6,0(s6)
bne s6,s11,.L89
.L74:
add a5,s3,s5
lw a0,0(a5)
add s5,s2,s5
call putint@plt
li a0,32
call putch@plt
lw s5,0(s5)
bne s5,s11,.L90
ld ra,120(sp)
ld s0,112(sp)
ld s1,104(sp)
ld s2,96(sp)
ld s3,88(sp)
ld s4,80(sp)
ld s5,72(sp)
ld s6,64(sp)
ld s7,56(sp)
ld s8,48(sp)
ld s9,40(sp)
ld s10,32(sp)
ld s11,24(sp)
addi sp,sp,128
jr ra
.L101:
ret
.size inorder, .-inorder
.section .text.startup,"ax",@progbits
.align 1
.globl main
.type main, @function
main:
addi sp,sp,-160
sd ra,152(sp)
sd s0,144(sp)
sd s1,136(sp)
sd s2,128(sp)
sd s3,120(sp)
sd s4,112(sp)
sd s5,104(sp)
sd s6,96(sp)
sd s7,88(sp)
sd s8,80(sp)
sd s9,72(sp)
sd s10,64(sp)
sd s11,56(sp)
sw zero,.LANCHOR0,a5
call getint@plt
bne a0,zero,.L178
.L105:
ld ra,152(sp)
ld s0,144(sp)
ld s1,136(sp)
ld s2,128(sp)
ld s3,120(sp)
ld s4,112(sp)
ld s5,104(sp)
ld s6,96(sp)
ld s7,88(sp)
ld s8,80(sp)
ld s9,72(sp)
ld s10,64(sp)
ld s11,56(sp)
li a0,0
addi sp,sp,160
jr ra
.L178:
lla s7,.LANCHOR0
mv s5,a0
call getint@plt
lw s0,0(s7)
lla s2,value
lla s4,left_child
slli s8,s0,2
lla s3,right_child
li a5,-1
add a1,s2,s8
add a2,s4,s8
add a3,s3,s8
addiw a4,s0,1
sw a5,0(a2)
sw a5,0(a3)
sw a0,0(a1)
sw a4,0(s7)
li a5,1
ble s5,a5,.L106
li s1,1
li s6,-1
.L108:
call getint@plt
mv a1,a0
bne s0,s6,.L179
lw a4,0(s7)
addiw s1,s1,1
slli a5,a4,2
add a2,s2,a5
add a3,s4,a5
addiw a4,a4,1
add a5,s3,a5
sw a0,0(a2)
sw s0,0(a3)
sw s0,0(a5)
sw a4,0(s7)
bne s5,s1,.L108
.L106:
mv a0,s0
call inorder
li a0,10
call putch@plt
call getint@plt
mv s2,a0
ble a0,zero,.L168
li s1,0
.L169:
call getint@plt
mv a1,a0
mv a0,s0
call delete
addiw s1,s1,1
mv s0,a0
bne s2,s1,.L169
.L168:
mv a0,s0
call inorder
li a0,10
call putch@plt
j .L105
.L179:
add a5,s4,s8
add s9,s2,s8
sd a5,8(sp)
li s10,-1
add s8,s3,s8
.L107:
lw a5,0(s9)
bge a5,a1,.L109
lw a3,0(s8)
beq a3,s10,.L180
slli s6,a3,2
add a5,s2,s6
lw a5,0(a5)
bge a5,a1,.L112
add a5,s3,s6
lw a5,0(a5)
beq a5,s10,.L181
slli s11,a5,2
add a2,s2,s11
lw a2,0(a2)
bge a2,a1,.L115
add a2,s3,s11
lw a6,0(a2)
beq a6,s10,.L182
slli a2,a6,2
add a0,s2,a2
lw a0,0(a0)
sd a6,40(sp)
sd a5,32(sp)
sd a3,24(sp)
bge a0,a1,.L118
add a2,s3,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a3,24(sp)
ld a5,32(sp)
ld a6,40(sp)
sw a0,0(a2)
.L117:
add s11,s3,s11
sw a6,0(s11)
.L114:
add s6,s3,s6
sw a5,0(s6)
j .L111
.L109:
ld a5,8(sp)
lw s11,0(a5)
beq s11,s10,.L183
slli s6,s11,2
add a5,s2,s6
lw a5,0(a5)
bge a5,a1,.L141
add a5,s3,s6
lw a3,0(a5)
beq a3,s10,.L184
slli a5,a3,2
add a2,s2,a5
lw a2,0(a2)
bge a2,a1,.L144
add a2,s3,a5
lw a6,0(a2)
beq a6,s10,.L185
slli a2,a6,2
add a0,s2,a2
lw a0,0(a0)
sd a5,40(sp)
sd a6,32(sp)
sd a3,24(sp)
bge a0,a1,.L147
add a2,s3,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a3,24(sp)
ld a6,32(sp)
ld a5,40(sp)
sw a0,0(a2)
.L146:
add a5,s3,a5
sw a6,0(a5)
j .L143
.L112:
add a5,s4,s6
lw a5,0(a5)
beq a5,s10,.L186
slli s11,a5,2
add a2,s2,s11
lw a2,0(a2)
bge a2,a1,.L128
add a2,s3,s11
lw a6,0(a2)
beq a6,s10,.L187
slli a2,a6,2
add a0,s2,a2
lw a0,0(a0)
sd a6,40(sp)
sd a5,32(sp)
sd a3,24(sp)
bge a0,a1,.L131
add a2,s3,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a3,24(sp)
ld a5,32(sp)
ld a6,40(sp)
sw a0,0(a2)
.L130:
add s11,s3,s11
sw a6,0(s11)
j .L127
.L141:
add a5,s4,s6
lw a3,0(a5)
beq a3,s10,.L188
slli a5,a3,2
add a2,s2,a5
lw a2,0(a2)
bge a2,a1,.L157
add a2,s3,a5
lw a6,0(a2)
beq a6,s10,.L189
slli a2,a6,2
add a0,s2,a2
lw a0,0(a0)
sd a5,40(sp)
sd a6,32(sp)
sd a3,24(sp)
bge a0,a1,.L160
add a2,s3,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a3,24(sp)
ld a6,32(sp)
ld a5,40(sp)
sw a0,0(a2)
.L159:
add a5,s3,a5
sw a6,0(a5)
j .L156
.L180:
lw a3,0(s7)
slli a5,a3,2
add a6,s2,a5
add a0,s4,a5
addiw a2,a3,1
add a5,s3,a5
sw a1,0(a6)
sw s10,0(a0)
sw s10,0(a5)
sw a2,0(s7)
.L111:
sw a3,0(s8)
addiw s1,s1,1
beq s5,s1,.L106
.L138:
call getint@plt
mv a1,a0
j .L107
.L183:
lw s11,0(s7)
slli a5,s11,2
add a0,s2,a5
add a2,s4,a5
addiw a3,s11,1
add a5,s3,a5
sw a1,0(a0)
sw s10,0(a2)
sw s10,0(a5)
sw a3,0(s7)
.L140:
ld a5,8(sp)
addiw s1,s1,1
sw s11,0(a5)
bne s1,s5,.L138
j .L106
.L115:
add a2,s4,s11
lw a6,0(a2)
beq a6,s10,.L190
slli a2,a6,2
add a0,s2,a2
lw a0,0(a0)
sd a6,40(sp)
sd a5,32(sp)
sd a3,24(sp)
bge a0,a1,.L123
add a2,s3,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a3,24(sp)
ld a5,32(sp)
ld a6,40(sp)
sw a0,0(a2)
.L122:
add s11,s4,s11
sw a6,0(s11)
j .L114
.L128:
add a2,s4,s11
lw a6,0(a2)
beq a6,s10,.L191
slli a2,a6,2
add a0,s2,a2
lw a0,0(a0)
sd a6,40(sp)
sd a5,32(sp)
sd a3,24(sp)
bge a0,a1,.L136
add a2,s3,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a3,24(sp)
ld a5,32(sp)
ld a6,40(sp)
sw a0,0(a2)
.L135:
add s11,s4,s11
sw a6,0(s11)
.L127:
add s6,s4,s6
sw a5,0(s6)
j .L111
.L144:
add a2,s4,a5
lw a6,0(a2)
beq a6,s10,.L192
slli a2,a6,2
add a0,s2,a2
lw a0,0(a0)
sd a5,40(sp)
sd a6,32(sp)
sd a3,24(sp)
bge a0,a1,.L152
add a2,s3,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a3,24(sp)
ld a6,32(sp)
ld a5,40(sp)
sw a0,0(a2)
.L151:
add a5,s4,a5
sw a6,0(a5)
.L143:
add s6,s3,s6
sw a3,0(s6)
j .L140
.L157:
add a2,s4,a5
lw a6,0(a2)
beq a6,s10,.L193
slli a2,a6,2
add a0,s2,a2
lw a0,0(a0)
sd a5,40(sp)
sd a6,32(sp)
sd a3,24(sp)
bge a0,a1,.L165
add a2,s3,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a3,24(sp)
ld a6,32(sp)
ld a5,40(sp)
sw a0,0(a2)
.L164:
add a5,s4,a5
sw a6,0(a5)
.L156:
add s6,s4,s6
sw a3,0(s6)
j .L140
.L193:
lw a6,0(s7)
slli a2,a6,2
add t1,s2,a2
add a7,s4,a2
addiw a0,a6,1
add a2,s3,a2
sw a1,0(t1)
sw s10,0(a7)
sw s10,0(a2)
sw a0,0(s7)
j .L164
.L192:
lw a6,0(s7)
slli a2,a6,2
add t1,s2,a2
add a7,s4,a2
addiw a0,a6,1
add a2,s3,a2
sw a1,0(t1)
sw s10,0(a7)
sw s10,0(a2)
sw a0,0(s7)
j .L151
.L187:
lw a6,0(s7)
slli a2,a6,2
add t1,s2,a2
add a7,s4,a2
addiw a0,a6,1
add a2,s3,a2
sw a1,0(t1)
sw s10,0(a7)
sw s10,0(a2)
sw a0,0(s7)
j .L130
.L185:
lw a6,0(s7)
slli a2,a6,2
add t1,s2,a2
add a7,s4,a2
addiw a0,a6,1
add a2,s3,a2
sw a1,0(t1)
sw s10,0(a7)
sw s10,0(a2)
sw a0,0(s7)
j .L146
.L182:
lw a6,0(s7)
slli a2,a6,2
add t1,s2,a2
add a7,s4,a2
addiw a0,a6,1
add a2,s3,a2
sw a1,0(t1)
sw s10,0(a7)
sw s10,0(a2)
sw a0,0(s7)
j .L117
.L191:
lw a6,0(s7)
slli a2,a6,2
add t1,s2,a2
add a7,s4,a2
addiw a0,a6,1
add a2,s3,a2
sw a1,0(t1)
sw s10,0(a7)
sw s10,0(a2)
sw a0,0(s7)
j .L135
.L190:
lw a6,0(s7)
slli a2,a6,2
add t1,s2,a2
add a7,s4,a2
addiw a0,a6,1
add a2,s3,a2
sw a1,0(t1)
sw s10,0(a7)
sw s10,0(a2)
sw a0,0(s7)
j .L122
.L189:
lw a6,0(s7)
slli a2,a6,2
add t1,s2,a2
add a7,s4,a2
addiw a0,a6,1
add a2,s3,a2
sw a1,0(t1)
sw s10,0(a7)
sw s10,0(a2)
sw a0,0(s7)
j .L159
.L186:
lw a5,0(s7)
slli a2,a5,2
add a7,s2,a2
add a6,s4,a2
addiw a0,a5,1
add a2,s3,a2
sw a1,0(a7)
sw s10,0(a6)
sw s10,0(a2)
sw a0,0(s7)
j .L127
.L188:
lw a3,0(s7)
slli a5,a3,2
add a6,s2,a5
add a0,s4,a5
addiw a2,a3,1
add a5,s3,a5
sw a1,0(a6)
sw s10,0(a0)
sw s10,0(a5)
sw a2,0(s7)
j .L156
.L184:
lw a3,0(s7)
slli a5,a3,2
add a6,s2,a5
add a0,s4,a5
addiw a2,a3,1
add a5,s3,a5
sw a1,0(a6)
sw s10,0(a0)
sw s10,0(a5)
sw a2,0(s7)
j .L143
.L181:
lw a5,0(s7)
slli a2,a5,2
add a7,s2,a2
add a6,s4,a2
addiw a0,a5,1
add a2,s3,a2
sw a1,0(a7)
sw s10,0(a6)
sw s10,0(a2)
sw a0,0(s7)
j .L114
.L160:
add a2,s4,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a5,40(sp)
ld a6,32(sp)
ld a3,24(sp)
sw a0,0(a2)
j .L159
.L152:
add a2,s4,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a5,40(sp)
ld a6,32(sp)
ld a3,24(sp)
sw a0,0(a2)
j .L151
.L131:
add a2,s4,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a6,40(sp)
ld a5,32(sp)
ld a3,24(sp)
sw a0,0(a2)
j .L130
.L165:
add a2,s4,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a5,40(sp)
ld a6,32(sp)
ld a3,24(sp)
sw a0,0(a2)
j .L164
.L136:
add a2,s4,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a6,40(sp)
ld a5,32(sp)
ld a3,24(sp)
sw a0,0(a2)
j .L135
.L123:
add a2,s4,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a6,40(sp)
ld a5,32(sp)
ld a3,24(sp)
sw a0,0(a2)
j .L122
.L118:
add a2,s4,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a6,40(sp)
ld a5,32(sp)
ld a3,24(sp)
sw a0,0(a2)
j .L117
.L147:
add a2,s4,a2
lw a0,0(a2)
sd a2,16(sp)
call insert
ld a2,16(sp)
ld a5,40(sp)
ld a6,32(sp)
ld a3,24(sp)
sw a0,0(a2)
j .L146
.size main, .-main
.globl now
.globl right_child
.globl left_child
.globl value
.globl _sysy_idx
.globl _sysy_us
.globl _sysy_s
.globl _sysy_m
.globl _sysy_h
.globl _sysy_l2
.globl _sysy_l1
.globl _sysy_end
.globl _sysy_start
.bss
.align 3
.set .LANCHOR0,. + 0
.type now, @object
.size now, 4
now:
.zero 4
.zero 4
.type right_child, @object
.size right_child, 40000
right_child:
.zero 40000
.type left_child, @object
.size left_child, 40000
left_child:
.zero 40000
.type value, @object
.size value, 40000
value:
.zero 40000
.type _sysy_idx, @object
.size _sysy_idx, 4
_sysy_idx:
.zero 4
.zero 4
.type _sysy_us, @object
.size _sysy_us, 4096
_sysy_us:
.zero 4096
.type _sysy_s, @object
.size _sysy_s, 4096
_sysy_s:
.zero 4096
.type _sysy_m, @object
.size _sysy_m, 4096
_sysy_m:
.zero 4096
.type _sysy_h, @object
.size _sysy_h, 4096
_sysy_h:
.zero 4096
.type _sysy_l2, @object
.size _sysy_l2, 4096
_sysy_l2:
.zero 4096
.type _sysy_l1, @object
.size _sysy_l1, 4096
_sysy_l1:
.zero 4096
.type _sysy_end, @object
.size _sysy_end, 16
_sysy_end:
.zero 16
.type _sysy_start, @object
.size _sysy_start, 16
_sysy_start:
.zero 16
.ident "GCC: (Debian 12.2.0-13) 12.2.0"
.section .note.GNU-stack,"",@progbits