.file "task07_free_insert.c" .option nopic .attribute arch, "rv32i2p1_zicsr2p0_zifencei2p0" .attribute unaligned_access, 0 .attribute stack_align, 16 .text .align 2 .globl main .type main, @function main: lla a5,.LANCHOR0 lla a4,.LANCHOR0+176 sw a4,end_marker,a3 sw a5,start,a3 lla a3,.LANCHOR0+128 sw a3,0(a5) sw a4,128(a5) sw zero,176(a5) li a4,40 sw a4,4(a5) li a4,48 sw a4,132(a5) sw zero,180(a5) li a4,32 sw a4,68(a5) lla a5,start lla a3,.LANCHOR0+64 .L2: mv a4,a5 lw a5,0(a5) bltu a5,a3,.L2 lla a3,.LANCHOR0 sw a5,64(a3) lla a5,.LANCHOR0+64 sw a5,0(a4) lw a5,start beq a5,a3,.L16 sw zero,g_order_ok,a4 lla a4,.LANCHOR0+176 beq a5,a4,.L5 .L9: mv a4,a5 li a3,0 lla a2,.LANCHOR0+176 .L6: addi a3,a3,1 lw a4,0(a4) bne a4,a2,.L6 sw a3,g_free_count,a4 li a4,0 lla a2,.LANCHOR0+176 .L7: lw a3,4(a5) add a4,a4,a3 lw a5,0(a5) bne a5,a2,.L7 .L8: sw a4,g_total_free,a5 li a0,0 ret .L16: lla a3,.LANCHOR0+64 lw a2,.LANCHOR0 li a4,0 beq a2,a3,.L17 .L4: sw a4,g_order_ok,a3 j .L9 .L17: lla a3,.LANCHOR0+128 lw a2,.LANCHOR0+64 bne a2,a3,.L4 lla a3,.LANCHOR0+176 lw a4,.LANCHOR0+128 sub a4,a4,a3 seqz a4,a4 j .L4 .L5: sw zero,g_free_count,a5 li a4,0 j .L8 .size main, .-main .globl g_total_free .globl g_free_count .globl g_order_ok .bss .align 2 .set .LANCHOR0,. + 0 .type heap_area, @object .size heap_area, 192 heap_area: .zero 192 .section .sbss,"aw",@nobits .align 2 .type g_total_free, @object .size g_total_free, 4 g_total_free: .zero 4 .type g_free_count, @object .size g_free_count, 4 g_free_count: .zero 4 .type g_order_ok, @object .size g_order_ok, 4 g_order_ok: .zero 4 .type end_marker, @object .size end_marker, 4 end_marker: .zero 4 .type start, @object .size start, 8 start: .zero 8 .ident "GCC: (15.2.0-23) 15.2.0" .section .note.GNU-stack,"",@progbits