sysy-data/functional_c/asm/80_chaos_token.s

326 lines
4.4 KiB
ArmAsm
Raw Permalink Normal View History

2024-06-14 13:10:27 +08:00
.file "80_chaos_token.sy"
.option pic
.attribute arch, "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0"
.attribute unaligned_access, 0
.attribute stack_align, 16
.text
.align 1
.globl putstr
.type putstr, @function
putstr:
addi sp,sp,-32
sd s0,16(sp)
mv s0,a0
lw a0,0(a0)
sd ra,24(sp)
sd s1,8(sp)
beq a0,zero,.L4
addi s0,s0,4
li s1,0
.L3:
addi s0,s0,4
call putch@plt
lw a0,-4(s0)
addiw s1,s1,1
bne a0,zero,.L3
ld ra,24(sp)
ld s0,16(sp)
mv a0,s1
ld s1,8(sp)
addi sp,sp,32
jr ra
.L4:
ld ra,24(sp)
ld s0,16(sp)
li s1,0
mv a0,s1
ld s1,8(sp)
addi sp,sp,32
jr ra
.size putstr, .-putstr
.section .text.startup,"ax",@progbits
.align 1
.globl main
.type main, @function
main:
addi sp,sp,-80
sd s5,24(sp)
lla s5,.LANCHOR0
lw a0,0(s5)
sd ra,72(sp)
sd s0,64(sp)
sd s1,56(sp)
sd s2,48(sp)
sd s3,40(sp)
sd s4,32(sp)
sd s6,16(sp)
sd s7,8(sp)
beq a0,zero,.L9
lla s0,.LANCHOR0+4
.L10:
addi s0,s0,4
call putch@plt
lw a0,-4(s0)
bne a0,zero,.L10
.L9:
li s3,32
li s2,0
li s4,6
lla s7,.LANCHOR0+400
li s6,200
j .L19
.L11:
slliw a5,s2,4
addw a5,a5,s2
addiw a5,a5,23
addiw s3,s3,-1
andi s2,a5,31
beq s3,zero,.L42
.L19:
divw s1,s2,s4
remw s0,s2,s4
beq s1,s0,.L11
mul s1,s1,s6
add s1,s7,s1
lw a0,0(s1)
beq a0,zero,.L12
addi s1,s1,4
.L13:
addi s1,s1,4
call putch@plt
lw a0,-4(s1)
bne a0,zero,.L13
.L12:
lw a0,1600(s5)
beq a0,zero,.L14
lla s1,.LANCHOR0+1604
.L15:
addi s1,s1,4
call putch@plt
lw a0,-4(s1)
bne a0,zero,.L15
.L14:
mul s0,s0,s6
add s0,s7,s0
lw a0,0(s0)
beq a0,zero,.L16
addi s0,s0,4
.L17:
addi s0,s0,4
call putch@plt
lw a0,-4(s0)
bne a0,zero,.L17
.L16:
lw a0,1760(s5)
beq a0,zero,.L11
lla s0,.LANCHOR0+1764
.L18:
addi s0,s0,4
call putch@plt
lw a0,-4(s0)
bne a0,zero,.L18
slliw a5,s2,4
addw a5,a5,s2
addiw a5,a5,23
addiw s3,s3,-1
andi s2,a5,31
bne s3,zero,.L19
.L42:
ld ra,72(sp)
ld s0,64(sp)
ld s1,56(sp)
ld s2,48(sp)
ld s3,40(sp)
ld s4,32(sp)
ld s5,24(sp)
ld s6,16(sp)
ld s7,8(sp)
li a0,0
addi sp,sp,80
jr ra
.size main, .-main
.globl RET
.globl saY_HeI10_To
.globl N4__mE___
.globl __HELLO
.globl _sysy_idx
.globl _sysy_us
.globl _sysy_s
.globl _sysy_m
.globl _sysy_h
.globl _sysy_l2
.globl _sysy_l1
.globl _sysy_end
.globl _sysy_start
.data
.align 3
.set .LANCHOR0,. + 0
.type __HELLO, @object
.size __HELLO, 400
__HELLO:
.word 87
.word 101
.word 108
.word 99
.word 111
.word 109
.word 101
.word 32
.word 116
.word 111
.word 32
.word 116
.word 104
.word 101
.word 32
.word 74
.word 97
.word 112
.word 97
.word 114
.word 105
.word 32
.word 80
.word 97
.word 114
.word 107
.word 33
.word 10
.zero 288
.type N4__mE___, @object
.size N4__mE___, 1200
N4__mE___:
.word 83
.word 97
.word 97
.word 98
.word 97
.word 114
.word 117
.zero 172
.word 75
.word 97
.word 98
.word 97
.word 110
.zero 180
.word 72
.word 97
.word 115
.word 104
.word 105
.word 98
.word 105
.word 114
.word 111
.word 107
.word 111
.word 117
.zero 152
.word 65
.word 114
.word 97
.word 105
.word 103
.word 117
.word 109
.word 97
.zero 168
.word 72
.word 117
.word 110
.word 98
.word 111
.word 114
.word 117
.word 116
.word 111
.word 32
.word 80
.word 101
.word 110
.word 103
.word 105
.word 110
.zero 136
.word 84
.word 97
.word 105
.word 114
.word 105
.word 107
.word 117
.word 32
.word 79
.word 111
.word 107
.word 97
.word 109
.word 105
.zero 144
.type saY_HeI10_To, @object
.size saY_HeI10_To, 160
saY_HeI10_To:
.word 32
.word 115
.word 97
.word 121
.word 115
.word 32
.word 104
.word 101
.word 108
.word 108
.word 111
.word 32
.word 116
.word 111
.word 32
.zero 100
.type RET, @object
.size RET, 20
RET:
.word 10
.zero 16
.bss
.align 3
.type _sysy_idx, @object
.size _sysy_idx, 4
_sysy_idx:
.zero 4
.zero 4
.type _sysy_us, @object
.size _sysy_us, 4096
_sysy_us:
.zero 4096
.type _sysy_s, @object
.size _sysy_s, 4096
_sysy_s:
.zero 4096
.type _sysy_m, @object
.size _sysy_m, 4096
_sysy_m:
.zero 4096
.type _sysy_h, @object
.size _sysy_h, 4096
_sysy_h:
.zero 4096
.type _sysy_l2, @object
.size _sysy_l2, 4096
_sysy_l2:
.zero 4096
.type _sysy_l1, @object
.size _sysy_l1, 4096
_sysy_l1:
.zero 4096
.type _sysy_end, @object
.size _sysy_end, 16
_sysy_end:
.zero 16
.type _sysy_start, @object
.size _sysy_start, 16
_sysy_start:
.zero 16
.ident "GCC: (Debian 12.2.0-13) 12.2.0"
.section .note.GNU-stack,"",@progbits