96 lines
1.4 KiB
ArmAsm
96 lines
1.4 KiB
ArmAsm
.file "7.sy"
|
|
.option nopic
|
|
.attribute arch, "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0"
|
|
.attribute unaligned_access, 0
|
|
.attribute stack_align, 16
|
|
.text
|
|
.globl A
|
|
.data
|
|
.align 3
|
|
.type A, @object
|
|
.size A, 36
|
|
A:
|
|
.word 1
|
|
.word 1
|
|
.word 4
|
|
.word 5
|
|
.word 1
|
|
.word 4
|
|
.zero 12
|
|
.text
|
|
.align 1
|
|
.globl main
|
|
.type main, @function
|
|
main:
|
|
.LFB6:
|
|
.cfi_startproc
|
|
addi sp,sp,-32
|
|
.cfi_def_cfa_offset 32
|
|
sd ra,24(sp)
|
|
sd s0,16(sp)
|
|
.cfi_offset 1, -8
|
|
.cfi_offset 8, -16
|
|
addi s0,sp,32
|
|
.cfi_def_cfa 8, 0
|
|
li a0,4
|
|
call thrd_create
|
|
mv a5,a0
|
|
sw a5,-20(s0)
|
|
lui a5,%hi(A)
|
|
addi a4,a5,%lo(A)
|
|
lw a5,-20(s0)
|
|
slli a5,a5,2
|
|
add a5,a4,a5
|
|
lw a5,0(a5)
|
|
slliw a5,a5,1
|
|
sext.w a4,a5
|
|
lui a5,%hi(A)
|
|
addi a3,a5,%lo(A)
|
|
lw a5,-20(s0)
|
|
slli a5,a5,2
|
|
add a5,a3,a5
|
|
sw a4,0(a5)
|
|
call thrd_join
|
|
lui a5,%hi(A)
|
|
addi a1,a5,%lo(A)
|
|
li a0,8
|
|
call putarray
|
|
li a0,4
|
|
call thrd_create
|
|
mv a5,a0
|
|
sw a5,-24(s0)
|
|
lui a5,%hi(A)
|
|
addi a4,a5,%lo(A)
|
|
lw a5,-24(s0)
|
|
slli a5,a5,2
|
|
add a5,a4,a5
|
|
lw a5,0(a5)
|
|
slliw a5,a5,1
|
|
sext.w a4,a5
|
|
lui a5,%hi(A)
|
|
addi a3,a5,%lo(A)
|
|
lw a5,-24(s0)
|
|
slli a5,a5,2
|
|
add a5,a3,a5
|
|
sw a4,0(a5)
|
|
call thrd_join
|
|
lui a5,%hi(A)
|
|
addi a1,a5,%lo(A)
|
|
li a0,8
|
|
call putarray
|
|
li a5,0
|
|
mv a0,a5
|
|
ld ra,24(sp)
|
|
.cfi_restore 1
|
|
ld s0,16(sp)
|
|
.cfi_restore 8
|
|
.cfi_def_cfa 2, 32
|
|
addi sp,sp,32
|
|
.cfi_def_cfa_offset 0
|
|
jr ra
|
|
.cfi_endproc
|
|
.LFE6:
|
|
.size main, .-main
|
|
.ident "GCC: (GNU) 13.3.0"
|
|
.section .note.GNU-stack,"",@progbits
|