From 054d372a716bca4f628674e524e3d027f6824019 Mon Sep 17 00:00:00 2001 From: hachem Date: Sun, 6 Sep 2026 04:12:25 +0200 Subject: refactor: clean up repository layout --- aoc-2025/utils/io.asm | 107 ----------------------------------------------- aoc-2025/utils/parse.asm | 22 ---------- 2 files changed, 129 deletions(-) delete mode 100644 aoc-2025/utils/io.asm delete mode 100644 aoc-2025/utils/parse.asm (limited to 'aoc-2025/utils') diff --git a/aoc-2025/utils/io.asm b/aoc-2025/utils/io.asm deleted file mode 100644 index 2081671..0000000 --- a/aoc-2025/utils/io.asm +++ /dev/null @@ -1,107 +0,0 @@ -; utils/io.asm - shared syscall constants, file reading, and output helpers. -; This file is %included (not linked) by each day's solution. - -%define SYS_EXIT 60 -%define SYS_READ 0 -%define SYS_WRITE 1 -%define SYS_OPEN 2 -%define SYS_CLOSE 3 - -%define O_RDONLY 0 -%define STDOUT 1 - -section .data - newline db 10 - -section .bss - number_buffer resb 32 - -section .text - -; read_file: open the path in RDI read-only, read up to RDX bytes into the -; buffer in RSI, close, and return the number of bytes read in RAX. -read_file: - mov r8, rsi ; buffer base - mov r9, rdx ; capacity - mov rax, SYS_OPEN - mov rsi, O_RDONLY - xor rdx, rdx - syscall - mov r10, rax ; fd - xor r11, r11 ; bytes read so far -.loop: - mov rax, SYS_READ - mov rdi, r10 - lea rsi, [r8 + r11] - mov rdx, r9 - sub rdx, r11 - syscall - cmp rax, 0 - jle .done - add r11, rax - jmp .loop -.done: - mov rax, SYS_CLOSE - mov rdi, r10 - syscall - mov rax, r11 - ret - -print_newline: - mov rax, SYS_WRITE - mov rdi, STDOUT - mov rsi, newline - mov rdx, 1 - syscall - ret - -; print_int64: print the unsigned integer in RAX in decimal. -print_int64: - mov rdi, number_buffer+31 - mov byte [rdi], 0 - dec rdi - - cmp rax, 0 - jne .conv - - mov byte [rdi], '0' - jmp .done -.conv: - mov rbx, 10 -.next: - xor rdx, rdx - div rbx - add dl, '0' - mov [rdi], dl - dec rdi - test rax, rax - jnz .next - - inc rdi -.done: - mov rax, SYS_WRITE - mov rsi, rdi - mov rdi, STDOUT - mov rdx, number_buffer+31 - sub rdx, rsi - syscall - ret - -; print_string: print the NUL-terminated string pointed to by RCX. -print_string: - push rcx - push rdx - mov rdx, 0 -.length: - cmp byte [rcx+rdx], 0 - je .submit - inc rdx - jmp .length -.submit: - mov rax, SYS_WRITE - mov rdi, STDOUT - mov rsi, rcx - syscall - pop rdx - pop rcx - ret diff --git a/aoc-2025/utils/parse.asm b/aoc-2025/utils/parse.asm deleted file mode 100644 index 833cb4e..0000000 --- a/aoc-2025/utils/parse.asm +++ /dev/null @@ -1,22 +0,0 @@ -; utils/parse.asm - decimal parsing helper. - -section .text - -; parse_u64: read decimal digits at [RSI] into RAX, advancing RSI past them. -; Stops on the first non-digit. Clobbers RAX, RDX. -parse_u64: - xor rax, rax -.digit: - mov dl, [rsi] - cmp dl, '0' - jl .done - cmp dl, '9' - jg .done - sub dl, '0' - movzx rdx, dl - imul rax, rax, 10 - add rax, rdx - inc rsi - jmp .digit -.done: - ret -- cgit v1.3