aboutsummaryrefslogtreecommitdiff
path: root/bfc.S
diff options
context:
space:
mode:
Diffstat (limited to 'bfc.S')
-rw-r--r--bfc.S36
1 files 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