diff --git a/test/add.asm.lisp b/test/add.asm.lisp index 9ae330d..3f98433 100644 --- a/test/add.asm.lisp +++ b/test/add.asm.lisp @@ -19,7 +19,7 @@ (return)) (label println - (load-immediate $0 &terminal-str) + (load-immediate $0 &terminal-namespace) (load-immediate $3 &new-line) (pop $1) (string-length $2 $1) @@ -28,5 +28,5 @@ (syscall DEVICE-WRITE $0 $3 $4) (return))) (data - (label terminal-str "/dev/term/0") + (label terminal-namespace "/dev/term/0") (label new-line "\n"))) diff --git a/test/fib.asm.lisp b/test/fib.asm.lisp index 279a2d8..8382931 100644 --- a/test/fib.asm.lisp +++ b/test/fib.asm.lisp @@ -5,7 +5,7 @@ (call &fib) (pop $0) (int-to-string $1 $0) - (load-immediate $2 &terminal-str) + (load-immediate $2 &terminal-namespace) (string-length $4 $3) (syscall DEVICE-WRITE $2 $1 $4) (load-immediate $11 &new-line) @@ -33,5 +33,5 @@ (push $0) (return)))) (data - (label terminal-str "/dev/term/0") + (label terminal-namespace "/dev/term/0") (label new-line "\n"))) diff --git a/test/hello.asm.lisp b/test/hello.asm.lisp index e8f3c46..fb705d3 100644 --- a/test/hello.asm.lisp +++ b/test/hello.asm.lisp @@ -1,10 +1,10 @@ ((code (label main - (load-immediate $0 &terminal-str) ; load terminal namespace + (load-immediate $0 &terminal-namespace) ; load terminal namespace (load-immediate $1 &hello-str) ; load hello string ptr (string-length $2 $1) ; get length to write to stdout (syscall DEVICE-WRITE $0 $1 $2) ; do the write syscall (halt))) ; done (data - (label terminal-str "/dev/term/0") + (label terminal-namespace "/dev/term/0") (label hello-str "nuqneH 'u'?\n"))) diff --git a/test/loop.asm.lisp b/test/loop.asm.lisp index 7d86be7..fed89b0 100644 --- a/test/loop.asm.lisp +++ b/test/loop.asm.lisp @@ -4,28 +4,35 @@ (load-immediate $1 5000) (load-immediate $2 0) (load-immediate $3 -1) + (load-immediate $5 5.0) (label loop-body - (load $4 &loop-body) - (load-immediate $5 5.0) (add-real $0 $0 $5) (add-int $1 $1 $3) - (jump-gt-eq-int $4 $1 $2)) + (jump-ge-int &loop-body $1 $2)) + (load-immediate $10 &terminal-namespace) (real-to-nat $1 $0) - (load-immediate $6 &terminal-str) - (load $7 &help) - (string-length $8 $7) - (syscall DEVICE-WRITE $6 $7 $8) - (syscall DEVICE-READ $7 $2) - (string-length $3 $2) - (nat-to-string $4 $1) - (string-length $5 $4) - (syscall DEVICE-WRITE $6 $4 $5) - (real-to-string $9 $0) - (string-length $10 $9) - (syscall DEVICE-WRITE $6 $9 $10) + (load-immediate $7 &help) (string-length $8 $7) - (syscall DEVICE-WRITE $6 $7 $8) - (halt))) + (syscall DEVICE-WRITE $10 $7 $8) + ;(load-immediate $8 32) + ;(syscall DEVICE-READ $10 $2 $8) ; FIXME + (nat-to-string $4 $1) + (push $4) + (call &println) + (real-to-string $3 $0) + (push $3) + (call &println) + (halt)) + (label println + (load-immediate $0 &terminal-namespace) + (load-immediate $3 &new-line) + (pop $1) + (string-length $2 $1) + (syscall DEVICE-WRITE $0 $1 $2) + (string-length $4 $3) + (syscall DEVICE-WRITE $0 $3 $4) + (return))) (data - (label terminal-str "/dev/term/0") - (label help "Enter a string:"))) + (label terminal-namespace "/dev/term/0") + (label help "Enter a string:\n") + (label new-line "\n"))) diff --git a/test/simple.asm.lisp b/test/simple.asm.lisp index 1dcb24b..acfcf04 100644 --- a/test/simple.asm.lisp +++ b/test/simple.asm.lisp @@ -5,13 +5,13 @@ (add-real $2 $1 $0) (real-to-string $3 $2) (string-length $4 $3) - (load-immediate $5 &terminal-str) + (load-immediate $5 &terminal-namespace) (syscall DEVICE-WRITE $5 $3 $4) (load-immediate $6 &new-line) (string-length $7 $6) (syscall DEVICE-WRITE $5 $6 $7) (halt))) -(data (label terminal-str "/dev/term/0") +(data (label terminal-namespace "/dev/term/0") (label new-line "\n") (label x 1.0) (label y 2.0))) diff --git a/test/window.asm.lisp b/test/window.asm.lisp new file mode 100644 index 0000000..17650ae --- /dev/null +++ b/test/window.asm.lisp @@ -0,0 +1,9 @@ +((code + (label main + (load-immediate $0 &screen-namespace) + (load-immediate $1 0) ; mode 0 + (syscall DEVICE-OPEN $0 $2) + + + (halt))) +(data (label screen-namespace "/dev/term/0")))