undar-lang/test/add.asm.lisp

22 lines
350 B
Common Lisp

((code
(label main
(load-immediate $0 1)
(push $0)
(load-immediate $0 1)
(call &add)
(pop $0)
(int-to-string $1 $0)
(load $3 &terminal-str)
(string-length $2 $1)
(syscall DEVICE-WRITE $3 $1 $2)
(halt))
(label add
(pop $0)
(pop $1)
(add-int $2 $1 $0)
(push $2)
(return)))
(data
(label terminal-str "/dev/term/0")))