From 509b3465f18fabc715fdbc2897bcfd88457db5a2 Mon Sep 17 00:00:00 2001 From: zxq5 Date: Mon, 9 Feb 2026 00:10:49 +0000 Subject: [PATCH] docs update --- docs/ISA REVISION notes.md | 4 ++++ docs/todo.md | 10 ++++++++++ 2 files changed, 14 insertions(+) create mode 100644 docs/ISA REVISION notes.md create mode 100644 docs/todo.md diff --git a/docs/ISA REVISION notes.md b/docs/ISA REVISION notes.md new file mode 100644 index 0000000..94bae35 --- /dev/null +++ b/docs/ISA REVISION notes.md @@ -0,0 +1,4 @@ + +- we definitely need to be able to use registers for shift operations. +- we need logical boolean operations in addition to the bitwise ones. +- better conditionals. diff --git a/docs/todo.md b/docs/todo.md new file mode 100644 index 0000000..4ecd16e --- /dev/null +++ b/docs/todo.md @@ -0,0 +1,10 @@ + +# Compiler optimisations! + +- [ ] [HARD] Immediate operations for values that support it (up to +/- u16::max for addi and subi respectively) + - this requires significant complexity in code generation as we need to traverse down the tree when we come across these operations to prevent additional register allocations. + +- [ ] [EASY] Add multiply and divide operations to code generation +- [ ] [MEDIUM] proper prefix/postfix inc/dec implementation. slightly more complex as we need to check for a variable and modify it in place +- [ ] [EASY] Investigate logical and operator not compiling - either a lexer or parser issue. +- [x] [MEDIUM] Get shift operations working correctly.