diff options
Diffstat (limited to '')
| -rw-r--r-- | src/main.s | 34 |
1 files changed, 18 insertions, 16 deletions
@@ -2,27 +2,29 @@ .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 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 # Convert to array - movq %rax, %rdi # Select file descriptor - call make_array_from_file # Convert file to array format - movq %rdx, %r15 # Save length of array in r15 + movq %rax, %rdi # Select file descriptor + call make_array_from_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 $1, %rdx # Sort by key 1 + # Sort + movq %rax, %rdi # Select address of array + movq %r15, %rsi # Select length of array + movq $1, %rdx # Sort by key 1 call insertion_sort # Sort the array # Print array - movq %rax, %rdi # Select the pointer to the array - movq %r15, %rsi # Select length of array - call print_buffer # Print 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 + # Exit + movq $60, %rax + movq $0, %rdi # Exit code 0 syscall |