Add FreeRTOS heap4 intro card
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
.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
|
||||
Reference in New Issue
Block a user