added a create-project system to assembler, and fixed a couple of parsing bugs

This commit is contained in:
2025-06-20 03:25:28 +01:00
parent f791b05292
commit 42c26d4184
15 changed files with 392 additions and 107 deletions
+35 -13
View File
@@ -17,18 +17,15 @@
dw display: 0x20000
dw current: 0x20000
reset:
pop ret
ldw display, rg1
stw rg1, current
jmp 4, ret
// prints the given text to the screen.
print:
pop ret // return address
pop rg0 // string
push bpr
mov spr, bpr
ldw bpr, rg0, 8
ldw current, rg1
loop:
print_loop:
ldb rg0, acc
stb acc, rg1
@@ -36,10 +33,35 @@ loop:
addi rg1, 1
cmp acc, zero
jne loop
jne print_loop
jmp end
// return
// return
end:
// set current to
stw rg1, current
jmp 4, ret
mov bpr, spr
pop bpr
return
// resets the cursor position on the screen
reset:
push bpr
mov spr, bpr
ldw display, rg1
jmp end
clear:
push bpr
mov spr, bpr
// display size = 2000 bytes / 500 words
lli 500 rg0
ldw display, rg1
clear_loop:
dec rg0
stw zero, rg1
addi rg1, 4
cmp rg0, zero
jgt clear_loop
jmp end