Files
damn_simple_architecture/resources/dsa/print.dsa
T
2025-06-19 23:30:32 +01:00

45 lines
625 B
Plaintext

// lib:
// print.dsa
// usage:
//
// include print "<relative path>""
//
// usage for print:
// push (register containing address of string)
// push pcx
// jmp print::print
//
// usage for reset:
// push pcx
// jmp print::reset
dw display: 0x20000
dw current: 0x20000
reset:
pop ret
ldw display, rg1
stw rg1, current
jmp 4, ret
print:
pop ret // return address
pop rg0 // string
ldw current, rg1
loop:
ldb rg0, acc
stb acc, rg1
addi rg0, 1
addi rg1, 1
cmp acc, zero
jne loop
// return
end:
// set current to
stw rg1, current
jmp 4, ret