undar-lang/test/simple.asm.lisp

23 lines
543 B
Common Lisp

((code
(label main
(load-absolute-32 $0 &x)
(load-absolute-32 $1 &y)
(add-real $2 $1 $0)
(real-to-string $3 $2)
(call &pln ($3) nil)
(halt 0))
(label pln
(load-immediate $1 &terminal-namespace) ; get terminal device
(load-immediate $11 0)
(syscall OPEN $1 $1 $11)
(load-immediate $3 &new-line)
(string-length $2 $0)
(syscall WRITE $1 $0 $2)
(string-length $4 $3)
(syscall WRITE $1 $3 $4)
(return nil)))
(data (label terminal-namespace "/dev/term/0")
(label new-line "\n")
(label x 1.0)
(label y 2.0)))