undar-lang/test/add.asm.lisp

25 lines
488 B
Common Lisp

(module add
(const terminal-namespace "/dev/term/0")
(const new-line "\n")
(fn :1 main ()
(load-immediate $0 1)
(load-immediate $1 1)
(call &add ($0 $1) $2)
(int-to-string $1 $2)
(call &pln ($1))
(halt))
(fn :1 add ($0 $1)
(add-int $2 $1 $0)
(return $2))
(fn :1 pln ($1)
(load-immediate $0 &terminal-namespace)
(load-immediate $3 &new-line)
(string-length $2 $1)
(syscall WRITE $0 $1 $2)
(string-length $4 $3)
(syscall WRITE $0 $3 $4)
(return)))