undar-lang/test/add.ul.ir

36 lines
704 B
Plaintext

global str terminal_namespace = "/dev/term/0"
global str new_line = "\n"
global int x = 1
global int y = 1
function main ()
int ans $2
str ans_string $3
load_absolute_32 x -> $0
load_absolute_32 y -> $1
call add $0 $1 -> ans
int_to_string ans -> ans_string
call pln ans_string
exit 0
function add (int a $0, int b $1)
int result $2
add_int a b -> result
return result
function pln (str message $0)
str term $1
int msg_length $2
str nl $3
int nl_length $4
int mode $5
load_immediate 0 -> mode
syscall OPEN terminal_namespace mode -> term
strlen message -> msg_length
syscall WRITE term message msg_length
strlen new_line -> nl_length
syscall WRITE term nl nl_length
return