sysy-data/hidden_functional_c/asm/23_json.s

1132 lines
18 KiB
ArmAsm
Raw Normal View History

2024-06-14 13:34:46 +08:00
.text
.attribute 4, 16
.attribute 5, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0"
.file "23_json.sy"
.globl is_number
.p2align 1
.type is_number,@function
is_number:
addiw a0, a0, -48
sltiu a0, a0, 10
ret
.Lfunc_end0:
.size is_number, .Lfunc_end0-is_number
.globl skip_space
.p2align 1
.type skip_space,@function
skip_space:
lui a6, %hi(pos)
lw a3, %lo(pos)(a6)
bge a3, a1, .LBB1_5
li a7, 32
li a5, 1
lui a2, 128
addiw a2, a2, 1
slli a2, a2, 13
addi a2, a2, 1536
.LBB1_2:
slli a4, a3, 2
add a4, a4, a0
lw a4, 0(a4)
bltu a7, a4, .LBB1_5
sll a4, a5, a4
and a4, a4, a2
beqz a4, .LBB1_5
addiw a3, a3, 1
sw a3, %lo(pos)(a6)
blt a3, a1, .LBB1_2
.LBB1_5:
ret
.Lfunc_end1:
.size skip_space, .Lfunc_end1-skip_space
.globl detect_item
.p2align 1
.type detect_item,@function
detect_item:
addi sp, sp, -112
sd ra, 104(sp)
sd s0, 96(sp)
sd s1, 88(sp)
sd s2, 80(sp)
sd s3, 72(sp)
sd s4, 64(sp)
sd s5, 56(sp)
sd s6, 48(sp)
sd s7, 40(sp)
sd s8, 32(sp)
sd s9, 24(sp)
sd s10, 16(sp)
sd s11, 8(sp)
lui a4, %hi(pos)
lw a3, %lo(pos)(a4)
bge a3, a2, .LBB2_199
mv s10, a2
mv s11, a1
mv s3, a0
li a2, 32
li s2, 34
li t6, 123
li a6, 91
li a7, 10
li t0, 101
li t1, 43
li t2, 45
li t3, 102
li t4, 110
li t5, 116
li s0, 1
lui a0, 128
addiw a0, a0, 1
slli a0, a0, 13
addi a5, a0, 1536
j .LBB2_4
.LBB2_2:
li s3, 3
.LBB2_3:
bge s4, s10, .LBB2_199
.LBB2_4:
sext.w a0, a3
slli a1, a0, 2
add a1, a1, s11
.LBB2_5:
lw s1, 0(a1)
bltu a2, s1, .LBB2_9
sll s1, s0, s1
and s1, s1, a5
beqz s1, .LBB2_9
addi a0, a0, 1
sw a0, %lo(pos)(a4)
addi a1, a1, 4
mv a3, a0
blt a0, s10, .LBB2_5
mv a3, a0
.LBB2_9:
sext.w a0, s3
bnez a0, .LBB2_25
sext.w s4, a3
slli a0, s4, 2
add a0, a0, s11
lw a1, 0(a0)
beq a1, s2, .LBB2_19
beq a1, t6, .LBB2_20
beq a1, a6, .LBB2_2
addiw a0, a1, -48
li s3, 1
bltu a0, a7, .LBB2_3
li a0, 0
bge t0, a1, .LBB2_21
beq a1, t3, .LBB2_23
beq a1, t4, .LBB2_24
bne a1, t5, .LBB2_200
li s3, 5
j .LBB2_3
.LBB2_19:
li s3, 2
j .LBB2_3
.LBB2_20:
li s3, 4
j .LBB2_3
.LBB2_21:
beq a1, t1, .LBB2_3
beq a1, t2, .LBB2_3
j .LBB2_200
.LBB2_23:
li s3, 6
j .LBB2_3
.LBB2_24:
li s3, 7
j .LBB2_3
.LBB2_25:
addi a0, a0, -1
li a1, 6
bltu a1, a0, .LBB2_199
slli a0, a0, 2
lui a1, %hi(.LJTI2_0)
addi a1, a1, %lo(.LJTI2_0)
add a0, a0, a1
lw a0, 0(a0)
jr a0
.LBB2_27:
sext.w a0, a3
slli a0, a0, 2
add a0, a0, s11
lw a0, 0(a0)
li a1, 45
beq a0, a1, .LBB2_29
li a1, 43
bne a0, a1, .LBB2_30
.LBB2_29:
addiw a3, a3, 1
lui a0, %hi(pos)
sw a3, %lo(pos)(a0)
.LBB2_30:
sext.w a0, a3
bge a0, s10, .LBB2_199
slli a1, a0, 2
add a2, s11, a1
lw a2, 0(a2)
addiw a4, a2, -58
li a5, -10
bltu a4, a5, .LBB2_199
addiw a2, a2, -48
li a4, 9
bltu a4, a2, .LBB2_37
add a1, a1, s11
addi a1, a1, 4
lui a2, %hi(pos)
li a3, 10
.LBB2_34:
addiw a4, a0, 1
sw a4, %lo(pos)(a2)
beq a4, s10, .LBB2_127
lw a4, 0(a1)
addiw a4, a4, -48
addi a1, a1, 4
addi a0, a0, 1
bltu a4, a3, .LBB2_34
mv a3, a0
.LBB2_37:
slli a1, a0, 32
srai a1, a1, 30
add a1, a1, s11
lw a1, 0(a1)
li a2, 46
bne a1, a2, .LBB2_41
sext.w a0, a0
addi a4, a0, 1
slli a0, a4, 2
add a0, a0, s11
lui a1, %hi(pos)
li a2, 10
.LBB2_39:
mv a3, a4
sw a4, %lo(pos)(a1)
bge a4, s10, .LBB2_41
lw a4, 0(a0)
addiw a5, a4, -48
addi a4, a3, 1
addi a0, a0, 4
bltu a5, a2, .LBB2_39
.LBB2_41:
sext.w a1, a3
li a0, 1
bge a1, s10, .LBB2_200
slli a1, a1, 2
add a1, a1, s11
lw a1, 0(a1)
li a2, 101
bne a1, a2, .LBB2_200
addiw a1, a3, 1
lui a2, %hi(pos)
sw a1, %lo(pos)(a2)
bge a1, s10, .LBB2_46
slli a2, a1, 2
add a2, a2, s11
lw a2, 0(a2)
li a4, 43
bne a2, a4, .LBB2_46
addiw a1, a3, 2
lui a2, %hi(pos)
sw a1, %lo(pos)(a2)
.LBB2_46:
bge a1, s10, .LBB2_49
slli a2, a1, 2
add a2, a2, s11
lw a2, 0(a2)
li a3, 45
bne a2, a3, .LBB2_49
addiw a1, a1, 1
lui a2, %hi(pos)
sw a1, %lo(pos)(a2)
.LBB2_49:
bge a1, s10, .LBB2_200
slli a2, a1, 2
add a2, a2, s11
addi a1, a1, 1
li a3, 9
lui a4, %hi(pos)
.LBB2_51:
lw a5, 0(a2)
addiw a5, a5, -48
bltu a3, a5, .LBB2_200
sext.w a5, a1
sw a1, %lo(pos)(a4)
addi a2, a2, 4
addi a1, a1, 1
bne a5, s10, .LBB2_51
j .LBB2_200
.LBB2_53:
addiw a1, a3, 1
lui a2, %hi(pos)
sw a1, %lo(pos)(a2)
bge a1, s10, .LBB2_199
li a3, 92
li a4, 34
j .LBB2_57
.LBB2_55:
li a5, 1
.LBB2_56:
li a0, 0
addw a1, a1, a5
sw a1, %lo(pos)(a2)
bge a1, s10, .LBB2_200
.LBB2_57:
slli a0, a1, 2
add a0, a0, s11
lw a0, 0(a0)
li a5, 2
beq a0, a3, .LBB2_56
bne a0, a4, .LBB2_55
j .LBB2_125
.LBB2_59:
addiw a0, a3, 1
lui a1, %hi(pos)
sw a0, %lo(pos)(a1)
bge a0, s10, .LBB2_87
slli a2, a0, 2
add a2, a2, s11
addi a3, a0, 1
li a4, 32
li a5, 1
lui s1, 128
addiw s1, s1, 1
slli s1, s1, 13
addi s0, s1, 1536
.LBB2_61:
lw s1, 0(a2)
bltu a4, s1, .LBB2_87
sll s1, a5, s1
and s1, s1, s0
beqz s1, .LBB2_87
sext.w s1, a3
mv a0, a3
sw a3, %lo(pos)(a1)
addi a2, a2, 4
addi a3, a3, 1
bne s1, s10, .LBB2_61
j .LBB2_90
.LBB2_64:
addiw a1, a3, 1
lui a6, %hi(pos)
sw a1, %lo(pos)(a6)
bge a1, s10, .LBB2_112
slli a0, a1, 2
add a3, s11, a0
addi a4, a1, 1
li a5, 32
li s0, 1
lui a0, 128
addiw a0, a0, 1
slli a0, a0, 13
addi a2, a0, 1536
.LBB2_66:
lw a0, 0(a3)
bltu a5, a0, .LBB2_112
sll a0, s0, a0
and a0, a0, a2
beqz a0, .LBB2_112
li a0, 0
sext.w s1, a4
mv a1, a4
sw a4, %lo(pos)(a6)
addi a3, a3, 4
addi a4, a4, 1
bne s1, s10, .LBB2_66
j .LBB2_200
.LBB2_69:
addiw a0, a3, 3
bge a0, s10, .LBB2_199
sext.w a1, a3
slli a1, a1, 2
add a1, a1, s11
lw a1, 0(a1)
li a2, 116
bne a1, a2, .LBB2_199
addiw a1, a3, 1
slli a1, a1, 2
add a1, a1, s11
lw a1, 0(a1)
li a2, 114
bne a1, a2, .LBB2_199
addiw a1, a3, 2
slli a1, a1, 2
add a1, a1, s11
lw a1, 0(a1)
li a2, 117
bne a1, a2, .LBB2_199
slli a0, a0, 2
add a0, a0, s11
lw a0, 0(a0)
li a1, 101
bne a0, a1, .LBB2_199
j .LBB2_86
.LBB2_74:
addiw a0, a3, 4
bge a0, s10, .LBB2_199
sext.w a1, a3
slli a1, a1, 2
add a1, a1, s11
lw a1, 0(a1)
li a2, 102
bne a1, a2, .LBB2_199
addiw a1, a3, 1
slli a1, a1, 2
add a1, a1, s11
lw a1, 0(a1)
li a2, 97
bne a1, a2, .LBB2_199
addiw a1, a3, 2
slli a1, a1, 2
add a1, a1, s11
lw a1, 0(a1)
li a2, 108
bne a1, a2, .LBB2_199
addiw a1, a3, 3
slli a1, a1, 2
add a1, a1, s11
lw a1, 0(a1)
li a2, 115
bne a1, a2, .LBB2_199
slli a0, a0, 2
add a0, a0, s11
lw a0, 0(a0)
li a1, 101
bne a0, a1, .LBB2_199
addiw a0, a3, 5
j .LBB2_126
.LBB2_81:
addiw a0, a3, 3
bge a0, s10, .LBB2_199
sext.w a1, a3
slli a1, a1, 2
add a1, a1, s11
lw a1, 0(a1)
li a2, 110
bne a1, a2, .LBB2_199
addiw a1, a3, 1
slli a1, a1, 2
add a1, a1, s11
lw a1, 0(a1)
li a2, 117
bne a1, a2, .LBB2_199
addiw a1, a3, 2
slli a1, a1, 2
add a1, a1, s11
lw a2, 0(a1)
li a1, 108
bne a2, a1, .LBB2_199
slli a0, a0, 2
add a0, a0, s11
lw a0, 0(a0)
bne a0, a1, .LBB2_199
.LBB2_86:
addiw a0, a3, 4
j .LBB2_126
.LBB2_87:
sext.w a1, a0
bge a1, s10, .LBB2_90
slli a1, a1, 2
add a1, a1, s11
lw a1, 0(a1)
li a2, 93
bne a1, a2, .LBB2_90
addiw a0, a0, 1
j .LBB2_126
.LBB2_90:
li a0, 0
mv a1, s11
mv a2, s10
call detect_item
beqz a0, .LBB2_199
lui a0, %hi(pos)
lw a1, %lo(pos)(a0)
bge a1, s10, .LBB2_97
slli a2, a1, 2
add a2, a2, s11
addi a3, a1, 1
li a4, 32
li a5, 1
lui s1, 128
addiw s1, s1, 1
slli s1, s1, 13
addi s0, s1, 1536
.LBB2_93:
lw s1, 0(a2)
bltu a4, s1, .LBB2_97
sll s1, a5, s1
and s1, s1, s0
beqz s1, .LBB2_97
sext.w s1, a3
mv a1, a3
sw a3, %lo(pos)(a0)
addi a2, a2, 4
addi a3, a3, 1
bne s1, s10, .LBB2_93
mv a1, s10
.LBB2_97:
sext.w a0, a1
slli a0, a0, 2
add a0, a0, s11
lw a0, 0(a0)
li s2, 44
bne a0, s2, .LBB2_118
lui s5, %hi(pos)
li s3, 32
li s4, 1
lui a0, 128
addiw a0, a0, 1
slli a0, a0, 13
addi s0, a0, 1536
j .LBB2_100
.LBB2_99:
sext.w a0, a1
slli a0, a0, 2
add a0, a0, s11
lw a0, 0(a0)
bne a0, s2, .LBB2_118
.LBB2_100:
addiw a1, a1, 1
sw a1, %lo(pos)(s5)
bge a1, s10, .LBB2_105
slli a0, a1, 2
add a0, a0, s11
addi a1, a1, 1
.LBB2_102:
lw a2, 0(a0)
bltu s3, a2, .LBB2_105
sll a2, s4, a2
and a2, a2, s0
beqz a2, .LBB2_105
sext.w a2, a1
sw a1, %lo(pos)(s5)
addi a0, a0, 4
addi a1, a1, 1
bne a2, s10, .LBB2_102
.LBB2_105:
li a0, 0
mv a1, s11
mv a2, s10
call detect_item
beqz a0, .LBB2_199
lw a1, %lo(pos)(s5)
bge a1, s10, .LBB2_99
slli a0, a1, 2
add a0, a0, s11
addi a2, a1, 1
.LBB2_108:
lw a3, 0(a0)
bltu s3, a3, .LBB2_99
sll a3, s4, a3
and a3, a3, s0
beqz a3, .LBB2_99
sext.w a3, a2
mv a1, a2
sw a2, %lo(pos)(s5)
addi a0, a0, 4
addi a2, a2, 1
bne a3, s10, .LBB2_108
mv a1, s10
j .LBB2_99
.LBB2_112:
sext.w a0, a1
bge a0, s10, .LBB2_199
slli a2, a0, 2
add a2, a2, s11
lw a5, 0(a2)
li a2, 125
beq a5, a2, .LBB2_125
addi a0, a0, 1
slli a2, a0, 2
add a2, a2, s11
li a6, 32
li a4, 1
lui a3, 128
addiw a3, a3, 1
slli a3, a3, 13
addi s0, a3, 1536
lui a3, %hi(pos)
bltu a6, a5, .LBB2_129
.LBB2_115:
sll a5, a4, a5
and a5, a5, s0
beqz a5, .LBB2_129
sext.w a1, a0
sw a0, %lo(pos)(a3)
beq a1, s10, .LBB2_128
lw a5, 0(a2)
mv a1, a0
addi a2, a2, 4
addi a0, a0, 1
bgeu a6, a5, .LBB2_115
j .LBB2_129
.LBB2_118:
sext.w a0, a1
bge a0, s10, .LBB2_123
slli a2, a0, 2
add a2, a2, s11
addi a3, a0, 1
li a6, 32
li a5, 1
lui a0, 128
addiw a0, a0, 1
slli a0, a0, 13
addi s0, a0, 1536
lui a4, %hi(pos)
.LBB2_120:
lw a0, 0(a2)
bltu a6, a0, .LBB2_123
sll a0, a5, a0
and a0, a0, s0
beqz a0, .LBB2_123
li a0, 0
sext.w s1, a3
mv a1, a3
sw a3, %lo(pos)(a4)
addi a2, a2, 4
addi a3, a3, 1
bne s1, s10, .LBB2_120
j .LBB2_200
.LBB2_123:
sext.w a0, a1
bge a0, s10, .LBB2_199
slli a0, a0, 2
add a0, a0, s11
lw a0, 0(a0)
li a2, 93
bne a0, a2, .LBB2_199
.LBB2_125:
addiw a0, a1, 1
.LBB2_126:
lui a1, %hi(pos)
sw a0, %lo(pos)(a1)
.LBB2_127:
li a0, 1
j .LBB2_200
.LBB2_128:
mv a1, s10
.LBB2_129:
addiw a1, a1, 1
lui a2, %hi(pos)
sw a1, %lo(pos)(a2)
bge a1, s10, .LBB2_199
li a3, 92
li a4, 34
j .LBB2_133
.LBB2_131:
li a5, 1
.LBB2_132:
li a0, 0
addw a1, a1, a5
sw a1, %lo(pos)(a2)
bge a1, s10, .LBB2_200
.LBB2_133:
slli a0, a1, 2
add a0, a0, s11
lw a0, 0(a0)
li a5, 2
beq a0, a3, .LBB2_132
bne a0, a4, .LBB2_131
addiw a1, a1, 1
lui a6, %hi(pos)
sw a1, %lo(pos)(a6)
bge a1, s10, .LBB2_140
slli a0, a1, 2
add a3, s11, a0
addi a4, a1, 1
li a5, 32
li s0, 1
lui a0, 128
addiw a0, a0, 1
slli a0, a0, 13
addi a2, a0, 1536
.LBB2_137:
lw a0, 0(a3)
bltu a5, a0, .LBB2_140
sll a0, s0, a0
and a0, a0, a2
beqz a0, .LBB2_140
li a0, 0
sext.w s1, a4
mv a1, a4
sw a4, %lo(pos)(a6)
addi a3, a3, 4
addi a4, a4, 1
bne s1, s10, .LBB2_137
j .LBB2_200
.LBB2_140:
sext.w a2, a1
bge a2, s10, .LBB2_199
slli a3, a2, 2
add a0, s11, a3
lw a0, 0(a0)
li a4, 58
bne a0, a4, .LBB2_199
addiw a1, a1, 1
lui a0, %hi(pos)
sw a1, %lo(pos)(a0)
bge a1, s10, .LBB2_147
add a1, a3, s11
addi a1, a1, 4
addi a2, a2, 2
li a3, 32
li a4, 1
lui a5, 128
addiw a5, a5, 1
slli a5, a5, 13
addi a5, a5, 1536
.LBB2_144:
lw s1, 0(a1)
bltu a3, s1, .LBB2_147
sll s1, a4, s1
and s1, s1, a5
beqz s1, .LBB2_147
sext.w s1, a2
sw a2, %lo(pos)(a0)
addi a1, a1, 4
addi a2, a2, 1
bne s1, s10, .LBB2_144
.LBB2_147:
li a0, 0
mv a1, s11
mv a2, s10
call detect_item
beqz a0, .LBB2_199
lui a0, %hi(pos)
lw a1, %lo(pos)(a0)
bge a1, s10, .LBB2_154
slli a2, a1, 2
add a2, a2, s11
addi a3, a1, 1
li a4, 32
li a5, 1
lui s1, 128
addiw s1, s1, 1
slli s1, s1, 13
addi s0, s1, 1536
.LBB2_150:
lw s1, 0(a2)
bltu a4, s1, .LBB2_154
sll s1, a5, s1
and s1, s1, s0
beqz s1, .LBB2_154
sext.w s1, a3
mv a1, a3
sw a3, %lo(pos)(a0)
addi a2, a2, 4
addi a3, a3, 1
bne s1, s10, .LBB2_150
mv a1, s10
.LBB2_154:
sext.w a0, a1
slli a0, a0, 2
add a0, a0, s11
lw a0, 0(a0)
li s2, 44
bne a0, s2, .LBB2_192
addi s3, s11, 4
lui s4, %hi(pos)
li s5, 32
li s6, 1
lui a0, 128
addiw a0, a0, 1
slli a0, a0, 13
addi s7, a0, 1536
li s8, 92
li s9, 34
li s0, 58
.LBB2_156:
addiw a1, a1, 1
sw a1, %lo(pos)(s4)
bge a1, s10, .LBB2_161
slli a0, a1, 2
add a2, s11, a0
addi a3, a1, 1
.LBB2_158:
lw a0, 0(a2)
bltu s5, a0, .LBB2_161
sll a0, s6, a0
and a0, a0, s7
beqz a0, .LBB2_161
li a0, 0
sext.w a4, a3
mv a1, a3
sw a3, %lo(pos)(s4)
addi a2, a2, 4
addi a3, a3, 1
bne a4, s10, .LBB2_158
j .LBB2_200
.LBB2_161:
sext.w a2, a1
bge a2, s10, .LBB2_199
slli a0, a2, 2
add a0, a0, s11
addi a2, a2, 1
.LBB2_163:
lw a3, 0(a0)
bltu s5, a3, .LBB2_167
sll a3, s6, a3
and a3, a3, s7
beqz a3, .LBB2_167
sext.w a3, a2
mv a1, a2
sw a2, %lo(pos)(s4)
addi a0, a0, 4
addi a2, a2, 1
bne a3, s10, .LBB2_163
mv a1, s10
.LBB2_167:
addiw a1, a1, 1
sw a1, %lo(pos)(s4)
blt a1, s10, .LBB2_169
j .LBB2_199
.LBB2_168:
li a0, 0
addw a1, a1, a2
sw a1, %lo(pos)(s4)
bge a1, s10, .LBB2_200
.LBB2_169:
slli a0, a1, 2
add a0, a0, s11
lw a0, 0(a0)
li a2, 2
beq a0, s8, .LBB2_168
beq a0, s9, .LBB2_172
li a2, 1
j .LBB2_168
.LBB2_172:
addiw a1, a1, 1
sw a1, %lo(pos)(s4)
bge a1, s10, .LBB2_177
slli a0, a1, 2
add a2, s11, a0
addi a3, a1, 1
.LBB2_174:
lw a0, 0(a2)
bltu s5, a0, .LBB2_177
sll a0, s6, a0
and a0, a0, s7
beqz a0, .LBB2_177
li a0, 0
sext.w a4, a3
mv a1, a3
sw a3, %lo(pos)(s4)
addi a2, a2, 4
addi a3, a3, 1
bne a4, s10, .LBB2_174
j .LBB2_200
.LBB2_177:
sext.w a2, a1
bge a2, s10, .LBB2_199
slli a0, a2, 2
add a3, s11, a0
lw a3, 0(a3)
bne a3, s0, .LBB2_199
addiw a1, a1, 1
sw a1, %lo(pos)(s4)
bge a1, s10, .LBB2_184
add a0, a0, s3
addi a1, a2, 2
.LBB2_181:
lw a2, 0(a0)
bltu s5, a2, .LBB2_184
sll a2, s6, a2
and a2, a2, s7
beqz a2, .LBB2_184
sext.w a2, a1
sw a1, %lo(pos)(s4)
addi a0, a0, 4
addi a1, a1, 1
bne a2, s10, .LBB2_181
.LBB2_184:
li a0, 0
mv a1, s11
mv a2, s10
call detect_item
beqz a0, .LBB2_199
lw a1, %lo(pos)(s4)
bge a1, s10, .LBB2_191
slli a0, a1, 2
add a0, a0, s11
addi a2, a1, 1
.LBB2_187:
lw a3, 0(a0)
bltu s5, a3, .LBB2_191
sll a3, s6, a3
and a3, a3, s7
beqz a3, .LBB2_191
sext.w a3, a2
mv a1, a2
sw a2, %lo(pos)(s4)
addi a0, a0, 4
addi a2, a2, 1
bne a3, s10, .LBB2_187
mv a1, s10
.LBB2_191:
sext.w a0, a1
slli a0, a0, 2
add a0, a0, s11
lw a0, 0(a0)
beq a0, s2, .LBB2_156
.LBB2_192:
sext.w a0, a1
bge a0, s10, .LBB2_197
slli a2, a0, 2
add a2, a2, s11
addi a3, a0, 1
li a6, 32
li a5, 1
lui a0, 128
addiw a0, a0, 1
slli a0, a0, 13
addi s0, a0, 1536
lui a4, %hi(pos)
.LBB2_194:
lw a0, 0(a2)
bltu a6, a0, .LBB2_197
sll a0, a5, a0
and a0, a0, s0
beqz a0, .LBB2_197
li a0, 0
sext.w s1, a3
mv a1, a3
sw a3, %lo(pos)(a4)
addi a2, a2, 4
addi a3, a3, 1
bne s1, s10, .LBB2_194
j .LBB2_200
.LBB2_197:
sext.w a0, a1
bge a0, s10, .LBB2_199
slli a0, a0, 2
add a0, a0, s11
lw a0, 0(a0)
li a2, 125
beq a0, a2, .LBB2_125
.LBB2_199:
li a0, 0
.LBB2_200:
ld ra, 104(sp)
ld s0, 96(sp)
ld s1, 88(sp)
ld s2, 80(sp)
ld s3, 72(sp)
ld s4, 64(sp)
ld s5, 56(sp)
ld s6, 48(sp)
ld s7, 40(sp)
ld s8, 32(sp)
ld s9, 24(sp)
ld s10, 16(sp)
ld s11, 8(sp)
addi sp, sp, 112
ret
.Lfunc_end2:
.size detect_item, .Lfunc_end2-detect_item
.section .rodata,"a",@progbits
.p2align 2
.LJTI2_0:
.word .LBB2_27
.word .LBB2_53
.word .LBB2_59
.word .LBB2_64
.word .LBB2_69
.word .LBB2_74
.word .LBB2_81
.text
.globl main
.p2align 1
.type main,@function
main:
addi sp, sp, -48
sd ra, 40(sp)
sd s0, 32(sp)
sd s1, 24(sp)
sd s2, 16(sp)
sd s3, 8(sp)
call getch
li s1, 0
li s2, 35
beq a0, s2, .LBB3_3
lui a1, %hi(buffer)
addi s0, a1, %lo(buffer)
.LBB3_2:
sw a0, 0(s0)
addi s1, s1, 1
call getch
addi s0, s0, 4
bne a0, s2, .LBB3_2
.LBB3_3:
lui s3, %hi(pos)
lw a1, %lo(pos)(s3)
sext.w s0, s1
bge a1, s0, .LBB3_8
lui a0, %hi(buffer)
addi a0, a0, %lo(buffer)
slli a2, a1, 2
add a0, a0, a2
addi a1, a1, 1
li a2, 32
li a3, 1
lui a4, 128
addiw a4, a4, 1
slli a4, a4, 13
addi a4, a4, 1536
.LBB3_5:
lw a5, 0(a0)
bltu a2, a5, .LBB3_8
sll a5, a3, a5
and a5, a5, a4
beqz a5, .LBB3_8
sext.w a5, a1
sw a1, %lo(pos)(s3)
addi a0, a0, 4
addi a1, a1, 1
bne s0, a5, .LBB3_5
.LBB3_8:
lui a0, %hi(buffer)
addi s2, a0, %lo(buffer)
li a0, 0
mv a1, s2
mv a2, s0
call detect_item
lw a2, %lo(pos)(s3)
bge a2, s0, .LBB3_13
slli a1, a2, 2
add a1, a1, s2
addi a2, a2, 1
li a6, 32
li a4, 1
lui a3, 128
addiw a3, a3, 1
slli a3, a3, 13
addi a5, a3, 1536
lui s1, %hi(pos)
.LBB3_10:
lw a3, 0(a1)
bltu a6, a3, .LBB3_13
sll a3, a4, a3
and a3, a3, a5
beqz a3, .LBB3_13
sext.w a3, a2
sw a2, %lo(pos)(s1)
addi a1, a1, 4
addi a2, a2, 1
bne s0, a3, .LBB3_10
.LBB3_13:
li s0, 0
bnez a0, .LBB3_15
li a0, 110
call putch
li a0, 111
call putch
li a0, 116
call putch
li a0, 32
call putch
li s0, 1
.LBB3_15:
li a0, 111
call putch
li a0, 107
call putch
li a0, 10
call putch
mv a0, s0
ld ra, 40(sp)
ld s0, 32(sp)
ld s1, 24(sp)
ld s2, 16(sp)
ld s3, 8(sp)
addi sp, sp, 48
ret
.Lfunc_end3:
.size main, .Lfunc_end3-main
.type pos,@object
.section .sbss,"aw",@nobits
.globl pos
.p2align 2
pos:
.word 0
.size pos, 4
.type buffer,@object
.bss
.globl buffer
.p2align 2
buffer:
.zero 200000000
.size buffer, 200000000
.type _sysy_start,@object
.globl _sysy_start
.p2align 3
_sysy_start:
.zero 16
.size _sysy_start, 16
.type _sysy_end,@object
.globl _sysy_end
.p2align 3
_sysy_end:
.zero 16
.size _sysy_end, 16
.type _sysy_l1,@object
.globl _sysy_l1
.p2align 2
_sysy_l1:
.zero 4096
.size _sysy_l1, 4096
.type _sysy_l2,@object
.globl _sysy_l2
.p2align 2
_sysy_l2:
.zero 4096
.size _sysy_l2, 4096
.type _sysy_h,@object
.globl _sysy_h
.p2align 2
_sysy_h:
.zero 4096
.size _sysy_h, 4096
.type _sysy_m,@object
.globl _sysy_m
.p2align 2
_sysy_m:
.zero 4096
.size _sysy_m, 4096
.type _sysy_s,@object
.globl _sysy_s
.p2align 2
_sysy_s:
.zero 4096
.size _sysy_s, 4096
.type _sysy_us,@object
.globl _sysy_us
.p2align 2
_sysy_us:
.zero 4096
.size _sysy_us, 4096
.type _sysy_idx,@object
.section .sbss,"aw",@nobits
.globl _sysy_idx
.p2align 2
_sysy_idx:
.word 0
.size _sysy_idx, 4
.ident "Debian clang version 14.0.6"
.section ".note.GNU-stack","",@progbits
.addrsig
.addrsig_sym buffer