Update tests and roms to new device handling

This commit is contained in:
zongor 2025-10-25 21:48:12 -07:00
parent c80481de76
commit 32c0c5611f
15 changed files with 25 additions and 28 deletions

View File

@ -16,11 +16,10 @@
(load-immediate $11 0)
(syscall OPEN $1 $1 $11)
(load-immediate $3 &new-line)
(load-offset-32 $7 $1 4) ; load handle
(string-length $2 $0)
(syscall WRITE $7 $0 $2)
(syscall WRITE $1 $0 $2)
(string-length $4 $3)
(syscall WRITE $7 $3 $4)
(syscall WRITE $1 $3 $4)
(return nil)))
(data
(label terminal-namespace "/dev/term/0")

Binary file not shown.

View File

@ -23,11 +23,10 @@
(load-immediate $11 0)
(syscall OPEN $1 $1 $11)
(load-immediate $3 &new-line)
(load-offset-32 $7 $1 4) ; load handle
(string-length $2 $0)
(syscall WRITE $7 $0 $2)
(syscall WRITE $1 $0 $2)
(string-length $4 $3)
(syscall WRITE $7 $3 $4)
(syscall WRITE $1 $3 $4)
(return nil)))
(data
(label terminal-namespace "/dev/term/0")

Binary file not shown.

View File

@ -8,11 +8,10 @@
(load-immediate $11 0)
(syscall OPEN $1 $1 $11)
(load-immediate $3 &new-line)
(load-offset-32 $7 $1 4) ; load handle
(string-length $2 $0)
(syscall WRITE $7 $0 $2)
(syscall WRITE $1 $0 $2)
(string-length $4 $3)
(syscall WRITE $7 $3 $4)
(syscall WRITE $1 $3 $4)
(return nil)))
(data
(label terminal-namespace "/dev/term/0")

Binary file not shown.

View File

@ -10,15 +10,19 @@
(add-int $1 $1 $3)
(jump-ge-int &loop-body $1 $2))
(load-immediate $10 &terminal-namespace)
(real-to-nat $1 $0)
(load-immediate $7 &help)
(string-length $8 $7)
(syscall WRITE $10 $7 $8)
(load-immediate $8 32)
(load-immediate $11 0)
(syscall OPEN $10 $10 $11) ; Terminal term = open(namespace, flags)
(real-to-nat $1 $0)
(load-immediate $7 &prompt)
(string-length $8 $7)
(syscall WRITE $10 $7 $8) ; print prompt
(load-immediate $8 32)
(malloc $11 $8)
(syscall READ $10 $2 $8 $11)
(call &pln ($2) nil)
(syscall READ $10 $11 $8) ; read in max 32 byte string
(call &pln ($11) nil)
(nat-to-string $4 $1)
(call &pln ($4) nil)
(real-to-string $3 $0)
@ -29,13 +33,12 @@
(load-immediate $11 0)
(syscall OPEN $1 $1 $11)
(load-immediate $3 &new-line)
(load-offset-32 $7 $1 4) ; load handle
(string-length $2 $0)
(syscall WRITE $7 $0 $2)
(syscall WRITE $1 $0 $2)
(string-length $4 $3)
(syscall WRITE $7 $3 $4)
(syscall WRITE $1 $3 $4)
(return nil)))
(data
(label terminal-namespace "/dev/term/0")
(label help "Enter a string: ")
(label prompt "Enter a string: ")
(label new-line "\n")))

Binary file not shown.

View File

@ -9,18 +9,16 @@
(load-immediate $1 32) ; read in a string of max 32 char length
(malloc $4 $1) ; allocate memory for the string
(load-offset-32 $7 $0 4) ; load handle
(syscall READ $7 $2 $1 $4) ; read the string
(syscall READ $0 $4 $1) ; read the string
(call &pln ($0 $4) nil) ; print the string
(halt))
(label pln
(load-immediate $3 &new-line)
(load-offset-32 $7 $0 4) ; load handle
(string-length $2 $1)
(syscall WRITE $7 $1 $2)
(syscall WRITE $0 $1 $2)
(string-length $4 $3)
(syscall WRITE $7 $3 $4)
(syscall WRITE $0 $3 $4)
(return nil)))
(data
(label terminal-namespace "/dev/term/0")

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -11,11 +11,10 @@
(load-immediate $11 0)
(syscall OPEN $1 $1 $11)
(load-immediate $3 &new-line)
(load-offset-32 $7 $1 4) ; load handle
(string-length $2 $0)
(syscall WRITE $7 $0 $2)
(syscall WRITE $1 $0 $2)
(string-length $4 $3)
(syscall WRITE $7 $3 $4)
(syscall WRITE $1 $3 $4)
(return nil)))
(data (label terminal-namespace "/dev/term/0")
(label new-line "\n")

Binary file not shown.

Binary file not shown.