.file "task06_split_block.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 a4,.LANCHOR0 andi a5,a4,7 beq a5,zero,.L2 andi a4,a4,-8 addi a4,a4,8 .L2: mv a5,a4 addi a3,a4,176 sw a3,end_marker,a2 sw zero,176(a4) sw zero,4(a3) sw a3,0(a4) li a2,176 sw a2,4(a4) lla a2,start sw a4,0(a2) sw zero,4(a2) li a1,39 j .L7 .L10: mv a5,a4 .L7: lw a4,4(a5) bgtu a4,a1,.L13 lw a4,0(a5) mv a2,a5 bne a4,a3,.L10 li a5,0 j .L6 .L13: addi a4,a4,-40 li a1,16 bleu a4,a1,.L4 sw a4,44(a5) lw a4,0(a5) sw a4,40(a5) addi a4,a5,40 sw a4,0(a2) li a4,40 sw a4,4(a5) .L5: sw zero,0(a5) lw a4,4(a5) li a2,-2147483648 or a4,a4,a2 sw a4,4(a5) addi a5,a5,8 .L6: lw a5,-4(a5) slli a5,a5,1 srli a5,a5,1 sw a5,g_allocated_size,a4 lw a5,start lw a4,4(a5) sw a4,g_split_free_size,a2 beq a5,a3,.L11 li a4,0 .L9: addi a4,a4,1 lw a5,0(a5) bne a5,a3,.L9 .L8: sw a4,g_free_nodes,a5 li a0,0 ret .L4: lw a4,0(a5) sw a4,0(a2) j .L5 .L11: li a4,0 j .L8 .size main, .-main .globl g_free_nodes .globl g_split_free_size .globl g_allocated_size .bss .align 2 .set .LANCHOR0,. + 0 .type heap_area, @object .size heap_area, 200 heap_area: .zero 200 .section .sbss,"aw",@nobits .align 2 .type g_free_nodes, @object .size g_free_nodes, 4 g_free_nodes: .zero 4 .type g_split_free_size, @object .size g_split_free_size, 4 g_split_free_size: .zero 4 .type g_allocated_size, @object .size g_allocated_size, 4 g_allocated_size: .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