undar-lang/test/simple.ul.ir

32 lines
656 B
Plaintext

global str terminal_namespace = "/dev/term/0"
global real x = 1.0
global real y = 1.0
function main ()
real x $0
load_absolute_32 &x -> x
real y $1
load_absolute_32 &y -> y
real result $2
add_real x y -> result
str result_str $3
real_to_string result -> result_str
call &pln result_str -> void
exit 0
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
load_address new_line -> nl
strlen nl -> nl_length
syscall WRITE term nl nl_length
return