1018 lines
14 KiB
ArmAsm
1018 lines
14 KiB
ArmAsm
.file "87_many_params.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 sort
|
|
.type sort, @function
|
|
sort:
|
|
li a5,1
|
|
addiw t3,a1,-1
|
|
ble a1,a5,.L1
|
|
addi a6,a0,4
|
|
li t1,0
|
|
li a7,0
|
|
addi a0,a0,8
|
|
.L6:
|
|
addiw a7,a7,1
|
|
ble a1,a7,.L3
|
|
subw a2,t3,a7
|
|
slli a2,a2,32
|
|
srli a2,a2,32
|
|
add a2,a2,t1
|
|
slli a2,a2,2
|
|
add a2,a2,a0
|
|
mv a5,a6
|
|
.L5:
|
|
lw a3,0(a5)
|
|
lw a4,-4(a6)
|
|
bge a4,a3,.L4
|
|
sw a3,-4(a6)
|
|
sw a4,0(a5)
|
|
.L4:
|
|
addi a5,a5,4
|
|
bne a5,a2,.L5
|
|
.L3:
|
|
addi t1,t1,1
|
|
addi a6,a6,4
|
|
bne a7,t3,.L6
|
|
.L1:
|
|
ret
|
|
.size sort, .-sort
|
|
.align 1
|
|
.globl param32_rec
|
|
.type param32_rec, @function
|
|
param32_rec:
|
|
addi sp,sp,-160
|
|
sd s11,64(sp)
|
|
mv s11,a0
|
|
lw a0,280(sp)
|
|
sd s0,152(sp)
|
|
sd s1,144(sp)
|
|
sd a0,0(sp)
|
|
lw a0,288(sp)
|
|
sd s2,136(sp)
|
|
sd s3,128(sp)
|
|
sd s4,120(sp)
|
|
sd s5,112(sp)
|
|
sd s6,104(sp)
|
|
sd s7,96(sp)
|
|
sd s8,88(sp)
|
|
sd s9,80(sp)
|
|
sd s10,72(sp)
|
|
sd a6,40(sp)
|
|
lw s10,160(sp)
|
|
lw s9,168(sp)
|
|
lw s8,176(sp)
|
|
lw s7,184(sp)
|
|
lw s6,192(sp)
|
|
lw s5,200(sp)
|
|
lw s4,208(sp)
|
|
lw s3,216(sp)
|
|
lw s2,224(sp)
|
|
lw s1,232(sp)
|
|
lw s0,240(sp)
|
|
lw t2,248(sp)
|
|
lw t0,256(sp)
|
|
lw t6,264(sp)
|
|
lw t5,272(sp)
|
|
sd a0,8(sp)
|
|
lw a0,296(sp)
|
|
mv a6,a3
|
|
mv a3,a5
|
|
sd a0,16(sp)
|
|
lw a0,304(sp)
|
|
mv a5,a7
|
|
li a7,998244352
|
|
sd a0,24(sp)
|
|
lw a0,312(sp)
|
|
addiw a7,a7,1
|
|
sw a7,52(sp)
|
|
sd a0,32(sp)
|
|
lw a0,344(sp)
|
|
lw t4,320(sp)
|
|
lw t3,328(sp)
|
|
sd a0,56(sp)
|
|
lw t1,336(sp)
|
|
mv a0,a1
|
|
mv a1,a4
|
|
ld a4,40(sp)
|
|
beq s11,zero,.L14
|
|
ld a7,56(sp)
|
|
sd a5,40(sp)
|
|
.L11:
|
|
ld a5,8(sp)
|
|
addw a0,a0,a2
|
|
mv a2,a6
|
|
lw a6,52(sp)
|
|
addiw s11,s11,-1
|
|
remw a0,a0,a6
|
|
mv a6,a1
|
|
mv a1,a3
|
|
mv a3,a4
|
|
ld a4,40(sp)
|
|
sd s10,40(sp)
|
|
mv s10,s9
|
|
mv s9,s8
|
|
mv s8,s7
|
|
mv s7,s6
|
|
mv s6,s5
|
|
mv s5,s4
|
|
mv s4,s3
|
|
mv s3,s2
|
|
mv s2,s1
|
|
mv s1,s0
|
|
mv s0,t2
|
|
mv t2,t0
|
|
mv t0,t6
|
|
mv t6,t5
|
|
ld t5,0(sp)
|
|
sd a5,0(sp)
|
|
ld a5,16(sp)
|
|
sd a5,8(sp)
|
|
ld a5,24(sp)
|
|
sd a5,16(sp)
|
|
ld a5,32(sp)
|
|
sd t4,32(sp)
|
|
mv t4,t3
|
|
sd a5,24(sp)
|
|
mv t3,t1
|
|
mv t1,a7
|
|
li a7,0
|
|
bne s11,zero,.L11
|
|
.L14:
|
|
ld s0,152(sp)
|
|
ld s1,144(sp)
|
|
ld s2,136(sp)
|
|
ld s3,128(sp)
|
|
ld s4,120(sp)
|
|
ld s5,112(sp)
|
|
ld s6,104(sp)
|
|
ld s7,96(sp)
|
|
ld s8,88(sp)
|
|
ld s9,80(sp)
|
|
ld s10,72(sp)
|
|
ld s11,64(sp)
|
|
addi sp,sp,160
|
|
jr ra
|
|
.size param32_rec, .-param32_rec
|
|
.align 1
|
|
.globl param32_arr
|
|
.type param32_arr, @function
|
|
param32_arr:
|
|
lw t4,0(a0)
|
|
lw a0,4(a0)
|
|
lw t3,0(a1)
|
|
lw t1,4(a1)
|
|
addi sp,sp,-96
|
|
lw a1,0(a2)
|
|
addw a0,a0,t4
|
|
sd s9,16(sp)
|
|
addw a0,a0,t3
|
|
lw s9,4(a2)
|
|
sd s8,24(sp)
|
|
addw a0,a0,t1
|
|
lw s8,0(a3)
|
|
sd s10,8(sp)
|
|
lw s10,4(a3)
|
|
addw a3,a0,a1
|
|
sd s0,88(sp)
|
|
sd s1,80(sp)
|
|
sd s2,72(sp)
|
|
sd s3,64(sp)
|
|
sd s4,56(sp)
|
|
sd s5,48(sp)
|
|
sd s6,40(sp)
|
|
sd s7,32(sp)
|
|
sd s11,0(sp)
|
|
ld s7,96(sp)
|
|
ld s3,128(sp)
|
|
ld s2,136(sp)
|
|
ld s1,144(sp)
|
|
ld s0,152(sp)
|
|
ld s6,104(sp)
|
|
ld s5,112(sp)
|
|
ld s4,120(sp)
|
|
ld t2,160(sp)
|
|
ld t0,168(sp)
|
|
ld t6,176(sp)
|
|
ld t5,184(sp)
|
|
addw a3,a3,s9
|
|
ld t4,192(sp)
|
|
lw s11,0(a4)
|
|
addw a3,a3,s8
|
|
lw a4,4(a4)
|
|
lw s8,0(a5)
|
|
addw a3,a3,s10
|
|
lw a5,4(a5)
|
|
addw a3,a3,s11
|
|
lw s9,0(a6)
|
|
addw a3,a3,a4
|
|
addw a3,a3,s8
|
|
lw a4,4(a6)
|
|
addw a3,a3,a5
|
|
lw a6,0(a7)
|
|
lw a5,4(a7)
|
|
addw a3,a3,s9
|
|
lw a7,0(s7)
|
|
addw a3,a3,a4
|
|
addw a3,a3,a6
|
|
lw a4,4(s7)
|
|
lw a6,0(s6)
|
|
addw a3,a3,a5
|
|
lw s6,4(s6)
|
|
addw a3,a3,a7
|
|
addw a5,a3,a4
|
|
lw a7,0(s5)
|
|
addw a5,a5,a6
|
|
lw s5,4(s5)
|
|
lw a6,0(s4)
|
|
addw a5,a5,s6
|
|
lw s4,4(s4)
|
|
addw a5,a5,a7
|
|
lw a4,0(s3)
|
|
addw a5,a5,s5
|
|
lw a3,4(s3)
|
|
addw a5,a5,a6
|
|
addw a5,a5,s4
|
|
lw a6,0(s2)
|
|
lw a7,4(s2)
|
|
addw a5,a5,a4
|
|
lw s2,0(s1)
|
|
addw a5,a5,a3
|
|
addw a5,a5,a6
|
|
lw a3,4(s1)
|
|
lw a4,0(s0)
|
|
addw a5,a5,a7
|
|
addw a5,a5,s2
|
|
lw a7,4(s0)
|
|
lw a6,0(t2)
|
|
addw a5,a5,a3
|
|
addw a5,a5,a4
|
|
lw a3,4(t2)
|
|
ld t3,200(sp)
|
|
ld t1,256(sp)
|
|
ld a0,264(sp)
|
|
ld a1,272(sp)
|
|
ld a2,280(sp)
|
|
addw a5,a5,a7
|
|
lw a4,0(t0)
|
|
addw a5,a5,a6
|
|
lw a7,4(t0)
|
|
lw a6,0(t6)
|
|
addw a5,a5,a3
|
|
addw a5,a5,a4
|
|
lw a3,4(t6)
|
|
lw a4,0(t5)
|
|
addw a5,a5,a7
|
|
addw a5,a5,a6
|
|
lw a7,4(t5)
|
|
lw a6,0(t4)
|
|
addw a5,a5,a3
|
|
addw a5,a5,a4
|
|
lw a3,4(t4)
|
|
lw a4,0(t3)
|
|
addw a5,a5,a7
|
|
ld s0,208(sp)
|
|
addw a5,a5,a6
|
|
addw a5,a5,a3
|
|
lw a7,4(t3)
|
|
addw a5,a5,a4
|
|
ld a4,216(sp)
|
|
lw a6,0(s0)
|
|
lw a3,4(s0)
|
|
ld s0,216(sp)
|
|
lw a4,0(a4)
|
|
addw a5,a5,a7
|
|
addw a5,a5,a6
|
|
lw a7,4(s0)
|
|
ld s0,224(sp)
|
|
addw a5,a5,a3
|
|
addw a5,a5,a4
|
|
ld a4,232(sp)
|
|
lw a6,0(s0)
|
|
lw a3,4(s0)
|
|
ld s0,232(sp)
|
|
lw a4,0(a4)
|
|
addw a5,a5,a7
|
|
addw a5,a5,a6
|
|
lw a7,4(s0)
|
|
ld s0,240(sp)
|
|
addw a5,a5,a3
|
|
addw a5,a5,a4
|
|
ld a4,248(sp)
|
|
lw a6,0(s0)
|
|
lw a3,4(s0)
|
|
ld s0,248(sp)
|
|
lw a4,0(a4)
|
|
addw a5,a5,a7
|
|
addw a5,a5,a6
|
|
lw a7,4(s0)
|
|
lw a6,0(t1)
|
|
addw a5,a5,a3
|
|
addw a5,a5,a4
|
|
lw a3,4(t1)
|
|
addw a5,a5,a7
|
|
lw a4,0(a0)
|
|
addw a5,a5,a6
|
|
lw a0,4(a0)
|
|
lw a6,0(a1)
|
|
addw a5,a5,a3
|
|
addw a5,a5,a4
|
|
lw a3,4(a1)
|
|
lw a4,0(a2)
|
|
addw a5,a5,a0
|
|
ld s0,88(sp)
|
|
lw a0,4(a2)
|
|
addw a5,a5,a6
|
|
addw a5,a5,a3
|
|
addw a5,a5,a4
|
|
ld s1,80(sp)
|
|
ld s2,72(sp)
|
|
ld s3,64(sp)
|
|
ld s4,56(sp)
|
|
ld s5,48(sp)
|
|
ld s6,40(sp)
|
|
ld s7,32(sp)
|
|
ld s8,24(sp)
|
|
ld s9,16(sp)
|
|
ld s10,8(sp)
|
|
ld s11,0(sp)
|
|
addw a0,a5,a0
|
|
addi sp,sp,96
|
|
jr ra
|
|
.size param32_arr, .-param32_arr
|
|
.align 1
|
|
.globl param16
|
|
.type param16, @function
|
|
param16:
|
|
addi sp,sp,-224
|
|
lw t3,224(sp)
|
|
lw t4,232(sp)
|
|
lw t5,240(sp)
|
|
lw t6,248(sp)
|
|
lw t0,256(sp)
|
|
lw t2,264(sp)
|
|
sd s0,216(sp)
|
|
sd s1,208(sp)
|
|
lw s0,272(sp)
|
|
lw s1,280(sp)
|
|
sd s2,200(sp)
|
|
li s2,-1
|
|
srli s2,s2,32
|
|
sd s3,192(sp)
|
|
mv s3,a6
|
|
sd s4,184(sp)
|
|
sd s5,176(sp)
|
|
sd s6,168(sp)
|
|
and s5,t5,s2
|
|
and s6,t3,s2
|
|
sd s7,160(sp)
|
|
sd s8,152(sp)
|
|
sd s9,144(sp)
|
|
slli s8,a5,32
|
|
slli s9,a3,32
|
|
sd s10,136(sp)
|
|
sd s11,128(sp)
|
|
slli s10,a1,32
|
|
mv t1,a0
|
|
sd a2,16(sp)
|
|
sd a3,24(sp)
|
|
sd a4,32(sp)
|
|
sd a5,40(sp)
|
|
sd a6,48(sp)
|
|
slli s7,a7,32
|
|
and a6,a0,s2
|
|
slli s4,t2,32
|
|
and a0,a2,s2
|
|
and a5,t0,s2
|
|
and a2,s3,s2
|
|
mv s11,a1
|
|
slli a3,t4,32
|
|
and a1,a4,s2
|
|
slli a4,t6,32
|
|
or a6,a6,s10
|
|
or a1,a1,s8
|
|
or a3,s6,a3
|
|
or a4,s5,a4
|
|
or a5,a5,s4
|
|
slli s3,s1,32
|
|
or a0,a0,s9
|
|
or a2,a2,s7
|
|
and s2,s0,s2
|
|
or s2,s2,s3
|
|
sd a6,64(sp)
|
|
sd a1,80(sp)
|
|
sd a3,96(sp)
|
|
sd a4,104(sp)
|
|
sd a5,112(sp)
|
|
sd a0,72(sp)
|
|
sd a2,88(sp)
|
|
sd s2,120(sp)
|
|
addi a5,sp,64
|
|
mv a3,t1
|
|
li a4,2
|
|
li a1,16
|
|
li a6,14
|
|
li s2,13
|
|
li s3,12
|
|
li s4,11
|
|
li s5,10
|
|
li s6,9
|
|
li s7,8
|
|
li s8,7
|
|
li s9,6
|
|
li s10,5
|
|
.L56:
|
|
lw a2,4(a5)
|
|
bge a3,a2,.L22
|
|
.L28:
|
|
sw a2,0(a5)
|
|
sw a3,4(a5)
|
|
.L22:
|
|
beq a4,a1,.L29
|
|
lw a3,0(a5)
|
|
lw a2,8(a5)
|
|
ble a2,a3,.L26
|
|
sw a2,0(a5)
|
|
sw a3,8(a5)
|
|
.L26:
|
|
addiw a0,a4,1
|
|
beq a0,a1,.L66
|
|
lw a3,0(a5)
|
|
lw a2,12(a5)
|
|
bge a3,a2,.L30
|
|
sw a2,0(a5)
|
|
sw a3,12(a5)
|
|
.L30:
|
|
beq a4,a6,.L67
|
|
lw a3,0(a5)
|
|
lw a2,16(a5)
|
|
ble a2,a3,.L33
|
|
sw a2,0(a5)
|
|
sw a3,16(a5)
|
|
.L33:
|
|
beq a4,s2,.L68
|
|
lw a3,0(a5)
|
|
lw a2,20(a5)
|
|
ble a2,a3,.L35
|
|
sw a2,0(a5)
|
|
sw a3,20(a5)
|
|
.L35:
|
|
beq a4,s3,.L69
|
|
lw a3,0(a5)
|
|
lw a2,24(a5)
|
|
bge a3,a2,.L37
|
|
sw a2,0(a5)
|
|
sw a3,24(a5)
|
|
.L37:
|
|
beq a4,s4,.L70
|
|
lw a3,0(a5)
|
|
lw a2,28(a5)
|
|
bge a3,a2,.L39
|
|
sw a2,0(a5)
|
|
sw a3,28(a5)
|
|
.L39:
|
|
beq a4,s5,.L71
|
|
lw a3,0(a5)
|
|
lw a2,32(a5)
|
|
bge a3,a2,.L41
|
|
sw a2,0(a5)
|
|
sw a3,32(a5)
|
|
.L41:
|
|
beq a4,s6,.L72
|
|
lw a3,0(a5)
|
|
lw a2,36(a5)
|
|
bge a3,a2,.L43
|
|
sw a2,0(a5)
|
|
sw a3,36(a5)
|
|
.L43:
|
|
beq a4,s7,.L73
|
|
lw a3,0(a5)
|
|
lw a2,40(a5)
|
|
bge a3,a2,.L45
|
|
sw a2,0(a5)
|
|
sw a3,40(a5)
|
|
.L45:
|
|
beq a4,s8,.L74
|
|
lw a3,0(a5)
|
|
lw a2,44(a5)
|
|
bge a3,a2,.L47
|
|
sw a2,0(a5)
|
|
sw a3,44(a5)
|
|
.L47:
|
|
beq a4,s9,.L75
|
|
lw a3,0(a5)
|
|
lw a2,48(a5)
|
|
bge a3,a2,.L49
|
|
sw a2,0(a5)
|
|
sw a3,48(a5)
|
|
.L49:
|
|
beq a4,s10,.L76
|
|
lw a3,0(a5)
|
|
lw a2,52(a5)
|
|
bge a3,a2,.L51
|
|
sw a2,0(a5)
|
|
sw a3,52(a5)
|
|
.L51:
|
|
li a3,4
|
|
beq a4,a3,.L77
|
|
lw a3,0(a5)
|
|
lw a2,56(a5)
|
|
bge a3,a2,.L53
|
|
sw a2,0(a5)
|
|
sw a3,56(a5)
|
|
.L53:
|
|
li a3,3
|
|
beq a4,a3,.L78
|
|
lw a4,0(a5)
|
|
lw a3,60(a5)
|
|
ble a3,a4,.L55
|
|
sw a4,60(a5)
|
|
sw a3,0(a5)
|
|
mv a4,a0
|
|
addi a5,a5,4
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L66:
|
|
lw a3,4(a5)
|
|
lw a2,8(a5)
|
|
addi a5,a5,4
|
|
bgt a2,a3,.L57
|
|
.L29:
|
|
lw a4,88(sp)
|
|
lw a5,64(sp)
|
|
lw a0,68(sp)
|
|
sd a4,8(sp)
|
|
lw a1,72(sp)
|
|
lw a3,76(sp)
|
|
lw a6,80(sp)
|
|
lw s2,84(sp)
|
|
lw s3,92(sp)
|
|
lw a2,96(sp)
|
|
lw s4,100(sp)
|
|
lw s5,104(sp)
|
|
lw s6,108(sp)
|
|
lw s7,112(sp)
|
|
lw s8,116(sp)
|
|
lw s9,120(sp)
|
|
lw s10,124(sp)
|
|
beq a5,zero,.L58
|
|
li a4,998244352
|
|
addiw a4,a4,1
|
|
sw a4,60(sp)
|
|
ld a4,8(sp)
|
|
sd a5,8(sp)
|
|
.L25:
|
|
ld a5,8(sp)
|
|
addw a0,a0,a1
|
|
mv a1,a3
|
|
addiw a5,a5,-1
|
|
lw a3,60(sp)
|
|
sd a5,8(sp)
|
|
ld a5,24(sp)
|
|
remw a0,a0,a3
|
|
mv a3,a6
|
|
mv a6,s2
|
|
mv s2,a4
|
|
mv a4,s3
|
|
mv s3,a2
|
|
mv a2,s4
|
|
mv s4,s5
|
|
mv s5,s6
|
|
mv s6,s7
|
|
mv s7,s8
|
|
mv s8,s9
|
|
mv s9,s10
|
|
mv s10,t1
|
|
mv t1,s11
|
|
ld s11,16(sp)
|
|
sd a5,16(sp)
|
|
ld a5,32(sp)
|
|
sd a5,24(sp)
|
|
ld a5,40(sp)
|
|
sd a5,32(sp)
|
|
ld a5,48(sp)
|
|
sd a7,48(sp)
|
|
mv a7,t3
|
|
sd a5,40(sp)
|
|
ld a5,8(sp)
|
|
mv t3,t4
|
|
mv t4,t5
|
|
mv t5,t6
|
|
mv t6,t0
|
|
mv t0,t2
|
|
mv t2,s0
|
|
mv s0,s1
|
|
li s1,0
|
|
bne a5,zero,.L25
|
|
.L58:
|
|
ld s0,216(sp)
|
|
ld s1,208(sp)
|
|
ld s2,200(sp)
|
|
ld s3,192(sp)
|
|
ld s4,184(sp)
|
|
ld s5,176(sp)
|
|
ld s6,168(sp)
|
|
ld s7,160(sp)
|
|
ld s8,152(sp)
|
|
ld s9,144(sp)
|
|
ld s10,136(sp)
|
|
ld s11,128(sp)
|
|
addi sp,sp,224
|
|
jr ra
|
|
.L55:
|
|
addi a5,a5,4
|
|
mv a4,a0
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L67:
|
|
addi a5,a5,4
|
|
li a4,15
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L68:
|
|
addi a5,a5,4
|
|
li a4,14
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L69:
|
|
addi a5,a5,4
|
|
li a4,13
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L57:
|
|
li a4,16
|
|
j .L28
|
|
.L70:
|
|
addi a5,a5,4
|
|
li a4,12
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L71:
|
|
addi a5,a5,4
|
|
li a4,11
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L72:
|
|
addi a5,a5,4
|
|
li a4,10
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L73:
|
|
addi a5,a5,4
|
|
li a4,9
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L74:
|
|
addi a5,a5,4
|
|
li a4,8
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L75:
|
|
addi a5,a5,4
|
|
li a4,7
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L76:
|
|
addi a5,a5,4
|
|
li a4,6
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L77:
|
|
addi a5,a5,4
|
|
li a4,5
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.L78:
|
|
addi a5,a5,4
|
|
li a4,4
|
|
lw a3,0(a5)
|
|
j .L56
|
|
.size param16, .-param16
|
|
.section .text.startup,"ax",@progbits
|
|
.align 1
|
|
.globl main
|
|
.type main, @function
|
|
main:
|
|
addi sp,sp,-592
|
|
sd ra,584(sp)
|
|
sd s0,576(sp)
|
|
sd s1,568(sp)
|
|
sd s2,560(sp)
|
|
sd s3,552(sp)
|
|
sd s4,544(sp)
|
|
sd s5,536(sp)
|
|
sd s6,528(sp)
|
|
sd s7,520(sp)
|
|
sd s8,512(sp)
|
|
sd s9,504(sp)
|
|
sd s10,496(sp)
|
|
sd s11,488(sp)
|
|
call getint@plt
|
|
sd a0,200(sp)
|
|
call getint@plt
|
|
sd a0,216(sp)
|
|
call getint@plt
|
|
sd a0,208(sp)
|
|
call getint@plt
|
|
mv s7,a0
|
|
call getint@plt
|
|
mv s8,a0
|
|
call getint@plt
|
|
mv s9,a0
|
|
call getint@plt
|
|
mv s10,a0
|
|
call getint@plt
|
|
mv s11,a0
|
|
call getint@plt
|
|
mv s1,a0
|
|
call getint@plt
|
|
mv s2,a0
|
|
call getint@plt
|
|
mv s3,a0
|
|
call getint@plt
|
|
mv s4,a0
|
|
call getint@plt
|
|
mv s0,a0
|
|
call getint@plt
|
|
mv s5,a0
|
|
call getint@plt
|
|
mv s6,a0
|
|
call getint@plt
|
|
ld a2,208(sp)
|
|
ld a1,216(sp)
|
|
sd a0,56(sp)
|
|
ld a0,200(sp)
|
|
mv a7,s11
|
|
mv a6,s10
|
|
mv a5,s9
|
|
mv a4,s8
|
|
mv a3,s7
|
|
sd s6,48(sp)
|
|
sd s5,40(sp)
|
|
sd s0,32(sp)
|
|
sd s4,24(sp)
|
|
sd s3,16(sp)
|
|
sd s2,8(sp)
|
|
sd s1,0(sp)
|
|
call param16
|
|
li t1,8192
|
|
addi s7,t1,656
|
|
addi s6,t1,655
|
|
addiw s5,a0,-2
|
|
addiw s4,a0,-3
|
|
addi s3,t1,653
|
|
addi s2,t1,652
|
|
addiw s1,a0,-5
|
|
addiw s0,a0,-6
|
|
addi ra,t1,650
|
|
addi t2,t1,649
|
|
addiw t0,a0,-8
|
|
addiw t6,a0,-9
|
|
addi t5,t1,647
|
|
addi t4,t1,646
|
|
addiw t3,a0,-11
|
|
addiw a7,a0,-12
|
|
addi a6,t1,644
|
|
addi a1,t1,643
|
|
addiw a2,a0,-14
|
|
addiw a3,a0,-15
|
|
sw a0,224(sp)
|
|
sw s7,228(sp)
|
|
sw s6,232(sp)
|
|
sw s5,236(sp)
|
|
sw s4,240(sp)
|
|
sw s3,244(sp)
|
|
sw s2,248(sp)
|
|
sw s1,252(sp)
|
|
sw s0,256(sp)
|
|
sw ra,260(sp)
|
|
sw t2,264(sp)
|
|
sw t0,268(sp)
|
|
sw t6,272(sp)
|
|
sw t5,276(sp)
|
|
sw t4,280(sp)
|
|
sw t3,284(sp)
|
|
sw a7,288(sp)
|
|
sw a6,292(sp)
|
|
sw a1,296(sp)
|
|
sw a2,300(sp)
|
|
addiw s0,a0,-26
|
|
sw a3,304(sp)
|
|
addi a4,t1,641
|
|
addi s1,t1,631
|
|
sw s0,364(sp)
|
|
li s0,8192
|
|
sw a4,308(sp)
|
|
sw s1,360(sp)
|
|
addiw a4,a0,-33
|
|
addiw s1,s0,623
|
|
addi a5,t1,640
|
|
sw a4,400(sp)
|
|
sw s1,404(sp)
|
|
addiw a4,a0,-35
|
|
addiw s1,s0,622
|
|
addiw ra,a0,-27
|
|
sw a5,312(sp)
|
|
addiw s11,a0,-18
|
|
addiw a5,a0,-17
|
|
addi s10,t1,638
|
|
addi s9,t1,637
|
|
addiw s8,a0,-20
|
|
addiw s7,a0,-21
|
|
addi s6,t1,635
|
|
addi s5,t1,634
|
|
addiw s4,a0,-23
|
|
addiw s3,a0,-24
|
|
addi s2,t1,632
|
|
addi t2,t1,629
|
|
addi t0,t1,628
|
|
addiw t6,a0,-29
|
|
addiw t5,a0,-30
|
|
addi t4,t1,626
|
|
addi t3,t1,625
|
|
addiw a7,a0,-32
|
|
sw a4,412(sp)
|
|
addiw a6,a0,-38
|
|
addiw a4,a0,-36
|
|
addiw a1,a0,-39
|
|
sw s1,408(sp)
|
|
addiw s1,s0,620
|
|
addiw s0,s0,619
|
|
sw ra,368(sp)
|
|
sw a4,416(sp)
|
|
addi a2,t1,617
|
|
addi a3,t1,616
|
|
sw a5,316(sp)
|
|
sw s11,320(sp)
|
|
sw s10,324(sp)
|
|
sw s9,328(sp)
|
|
sw s8,332(sp)
|
|
sw s7,336(sp)
|
|
sw s6,340(sp)
|
|
sw s5,344(sp)
|
|
sw s4,348(sp)
|
|
sw s3,352(sp)
|
|
sw s2,356(sp)
|
|
sw t2,372(sp)
|
|
sw t0,376(sp)
|
|
addi t2,t1,614
|
|
addi t0,t1,613
|
|
sw t6,380(sp)
|
|
sw t5,384(sp)
|
|
sw t4,388(sp)
|
|
sw t3,392(sp)
|
|
addi t4,t1,611
|
|
sw a7,396(sp)
|
|
sw s1,420(sp)
|
|
sw s0,424(sp)
|
|
sw a6,428(sp)
|
|
sw a1,432(sp)
|
|
addi t1,t1,610
|
|
sw a2,436(sp)
|
|
sw t1,472(sp)
|
|
addi t1,sp,472
|
|
sd t1,184(sp)
|
|
addi t1,sp,464
|
|
sd t1,176(sp)
|
|
addi t1,sp,456
|
|
sd t1,168(sp)
|
|
addi t1,sp,448
|
|
sd t1,160(sp)
|
|
addi t1,sp,440
|
|
sd t1,152(sp)
|
|
addi t1,sp,432
|
|
sd t1,144(sp)
|
|
addi t1,sp,424
|
|
sd t1,136(sp)
|
|
addi t1,sp,416
|
|
sd t1,128(sp)
|
|
addi t1,sp,408
|
|
sd t1,120(sp)
|
|
addi t1,sp,400
|
|
sd t1,112(sp)
|
|
addi t1,sp,392
|
|
sd t1,104(sp)
|
|
addi t1,sp,384
|
|
sd t1,96(sp)
|
|
addi t1,sp,376
|
|
sd t1,88(sp)
|
|
addi t1,sp,368
|
|
sd t1,80(sp)
|
|
addi t1,sp,360
|
|
sd t1,72(sp)
|
|
addi t1,sp,352
|
|
sd t1,64(sp)
|
|
addi t1,sp,344
|
|
sd t1,56(sp)
|
|
addi t1,sp,336
|
|
sd t1,48(sp)
|
|
addi t1,sp,328
|
|
sd t1,40(sp)
|
|
addi t1,sp,320
|
|
addiw t6,a0,-44
|
|
addiw t5,a0,-45
|
|
addiw t3,a0,-47
|
|
addiw a4,a0,-41
|
|
addiw a5,a0,-42
|
|
sd t1,32(sp)
|
|
addi a0,sp,288
|
|
addi t1,sp,312
|
|
sw t2,452(sp)
|
|
sw t0,456(sp)
|
|
sw t6,460(sp)
|
|
sw t5,464(sp)
|
|
sw t4,468(sp)
|
|
sw t3,476(sp)
|
|
sw a3,440(sp)
|
|
sw a4,444(sp)
|
|
sw a5,448(sp)
|
|
sd a0,0(sp)
|
|
sd t1,24(sp)
|
|
addi t1,sp,304
|
|
sd t1,16(sp)
|
|
addi t1,sp,296
|
|
addi a7,sp,280
|
|
addi a6,sp,272
|
|
addi a5,sp,264
|
|
addi a4,sp,256
|
|
addi a3,sp,248
|
|
addi a2,sp,240
|
|
addi a1,sp,232
|
|
sd t1,8(sp)
|
|
addi a0,sp,224
|
|
call param32_arr
|
|
call putint@plt
|
|
li a0,10
|
|
call putch@plt
|
|
ld ra,584(sp)
|
|
ld s0,576(sp)
|
|
ld s1,568(sp)
|
|
ld s2,560(sp)
|
|
ld s3,552(sp)
|
|
ld s4,544(sp)
|
|
ld s5,536(sp)
|
|
ld s6,528(sp)
|
|
ld s7,520(sp)
|
|
ld s8,512(sp)
|
|
ld s9,504(sp)
|
|
ld s10,496(sp)
|
|
ld s11,488(sp)
|
|
li a0,0
|
|
addi sp,sp,592
|
|
jr ra
|
|
.size main, .-main
|
|
.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
|
|
.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
|