From 43b2030e2dd1056c4ad7daad88a1f48051f5ed6c Mon Sep 17 00:00:00 2001 From: MCorange Date: Mon, 27 May 2024 02:42:04 +0300 Subject: [PATCH] fix --- .gitignore | 3 ++- bfox-asmgen/src/targets/x86_64_nasm.rs | 15 +++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index e9747d6..5bf9b1f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ target/ -*.s \ No newline at end of file +*.s +*.o \ No newline at end of file diff --git a/bfox-asmgen/src/targets/x86_64_nasm.rs b/bfox-asmgen/src/targets/x86_64_nasm.rs index 6882af2..f1cafcf 100644 --- a/bfox-asmgen/src/targets/x86_64_nasm.rs +++ b/bfox-asmgen/src/targets/x86_64_nasm.rs @@ -11,23 +11,22 @@ pub fn compile_x86_64_nasm(_asm_gen: &mut AsmGen, tokens: Vec, bw: &mut B writeln!(bw, "BITS 64")?; writeln!(bw, "section .bss")?; - writeln!(bw, " memory resb 30000")?; - writeln!(bw, " memory_ptr resb 1")?; + writeln!(bw, " memory: resb 30000")?; + writeln!(bw, " mem_ptr: resq 1")?; - writeln!(bw, "section .data")?; - writeln!(bw, " input db 0")?; + // writeln!(bw, "section .data")?; + // writeln!(bw, " input db 0")?; writeln!(bw, "section .text")?; writeln!(bw, "_start:")?; - writeln!(bw, " mov rdi, memory")?; - writeln!(bw, " mov [memory_ptr], rdi")?; - for t in tokens { match t.typ { TokenType::Add => { - writeln!(bw, " inc byte [rdi]")?; + writeln!(bw, " mov rax, memory")?; + writeln!(bw, " add rax, [mem_ptr]")?; + writeln!(bw, " inc byte [rax]")?; } ut => todo!("{ut:?}")