Files
compiler-the-translators/library/alpha_driver.s
Scarlett 8c6372fcfd carl
2025-05-04 17:53:17 -04:00

82 lines
1.3 KiB
ArmAsm

.file "alpha_driver.c"
.text
.globl main
.type main, @function
main:
.LFB0:
endbr64
pushq %rbp
movq %rsp, %rbp
subq $48, %rsp
movl %edi, -36(%rbp)
movq %rsi, -48(%rbp)
movl $0, -32(%rbp)
cmpl $1, -36(%rbp)
jle .L2
movq -48(%rbp), %rax
addq $8, %rax
movq (%rax), %rax
movq %rax, %rdi
call strlen@PLT
movl %eax, -32(%rbp)
.L2:
movl -32(%rbp), %eax
cltq
addq $4, %rax
movq %rax, %rdi
call malloc@PLT
movq %rax, -16(%rbp)
movq -16(%rbp), %rax
movq %rax, -24(%rbp)
movq -24(%rbp), %rax
movl -32(%rbp), %edx
movl %edx, (%rax)
cmpl $1, -36(%rbp)
jle .L3
addq $4, -24(%rbp)
movq -48(%rbp), %rax
movq 8(%rax), %rax
movq %rax, -8(%rbp)
movl $0, -28(%rbp)
jmp .L4
.L5:
movl -28(%rbp), %eax
movslq %eax, %rdx
movq -8(%rbp), %rax
addq %rdx, %rax
movzbl (%rax), %edx
movq -24(%rbp), %rax
movb %dl, (%rax)
addq $1, -24(%rbp)
addl $1, -28(%rbp)
.L4:
movl -28(%rbp), %eax
cmpl -32(%rbp), %eax
jl .L5
.L3:
movq -16(%rbp), %rax
movq %rax, %rdi
call entry@PLT
leave
ret
.LFE0:
.size main, .-main
.ident "GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0"
.section .note.GNU-stack,"",@progbits
.section .note.gnu.property,"a"
.align 8
.long 1f - 0f
.long 4f - 1f
.long 5
0:
.string "GNU"
1:
.align 8
.long 0xc0000002
.long 3f - 2f
2:
.long 0x3
3:
.align 8
4: