.section .text .globl _start _start: # Open file movq 16(%rsp), %rdi # Select first argument as file name movq $0, %rsi # Select read only movq $0, %rdx # Unused mode for read only movq $2, %rax # Select open syscall syscall # Open file, file descriptor returned in rax movq %rax, %rdi # Save file descriptor in r15 call parse_file # Convert file to array format movq %rdx, %r15 # Save length of array in r15 movq %rax, %rdi # Select address of array movq %r15, %rsi # Select length of array movq $0, %rdx # Sort by key 0 movq insertion_sort, %rcx # Use insertion sort call sorter # Sort the array movq %rax, %rdi # Select the pointer to the array movq %r15, %rsi # Select length of array call print_buffer # Print array movq $60, %rax # Select exit syscall movq $0, %rdi # Exit code 0 syscall