From 4ab02f56cd1009df3e85ac7db49a405f18b82f8a Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Thu, 26 Dec 2024 16:52:47 +0100 Subject: move magic values into defines --- bfc.S | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/bfc.S b/bfc.S index 7237ed4..c3edde2 100644 --- a/bfc.S +++ b/bfc.S @@ -1,3 +1,13 @@ +.set SYS_READ, 0 +.set SYS_WRITE, 1 +.set SYS_OPEN, 2 +.set SYS_CLOSE, 3 +.set SYS_BRK, 12 +.set SYS_EXIT, 60 + +.set F_CREATE_AND_WRITE, 0x41 +.set F_MODE_EXECUTABLE, 0744 + .section .constants, "a" c_elf_header: @@ -59,7 +69,7 @@ l_read_loop: cmp $0, %rax je l_read_loop_end - mov $1, %rax + mov $SYS_WRITE, %rax mov $1, %rdi mov $v_input_char, %rsi mov $1, %rdx @@ -67,15 +77,13 @@ l_read_loop: jmp l_read_loop l_read_loop_end: - # ---- - call f_close_files mov $0, %rdi jmp f_exit f_exit: - mov $60, %rax + mov $SYS_EXIT, %rax syscall @@ -84,7 +92,7 @@ f_check_args: cmp $3, %rax je l_check_args_success - mov $1, %rax + mov $SYS_WRITE, %rax mov $2, %rdi mov $c_usage_message, %rsi mov $32, %rdx @@ -98,7 +106,7 @@ l_check_args_success: f_open_files: - mov $2, %rax + mov $SYS_OPEN, %rax mov 16(%rbp), %rdi mov $0, %rsi mov $0, %rdx @@ -106,10 +114,10 @@ f_open_files: mov $v_input_fd, %rbx mov %eax, (%rbx) - mov $2, %rax + mov $SYS_OPEN, %rax mov 24(%rbp), %rdi - mov $0x41, %rsi - mov $0744, %rdx + mov $F_CREATE_AND_WRITE, %rsi + mov $F_MODE_EXECUTABLE, %rdx syscall mov $v_output_fd, %rbx mov %eax, (%rbx) @@ -117,18 +125,18 @@ f_open_files: f_close_files: - mov $3, %rax + mov $SYS_CLOSE, %rax mov %rbx, %rsi syscall - mov $3, %rax + mov $SYS_CLOSE, %rax mov %rcx, %rsi syscall ret f_init_buffer: - mov $12, %rax + mov $SYS_BRK, %rax mov $0, %rdi syscall mov $v_buffer_start, %rbx @@ -142,7 +150,7 @@ f_init_buffer: * since we want to resize it to a usable amount */ f_resize_buffer: - mov $12, %rax + mov $SYS_BRK, %rax mov $v_buffer_end, %rbx mov (%rbx), %rdi add $0x400, %rdi @@ -162,7 +170,7 @@ l_check_buffer_large_enough: f_read_next_character: - mov $0, %rax + mov $SYS_READ, %rax mov $v_input_fd, %rbx mov (%rbx), %rdi mov $v_input_char, %rsi -- cgit v1.2.3-70-g09d2