32 lines
700 B
Plaintext
32 lines
700 B
Plaintext
global const real x = 1.0
|
|
global const real y = 1.0
|
|
|
|
function main ()
|
|
real x is $0
|
|
load_absolute_32 &x -> x
|
|
real y is $1
|
|
load_absolute_32 &y -> y
|
|
real result is $2
|
|
add_real x y -> result
|
|
str result_str is $3
|
|
real_to_string result -> result_str
|
|
call &pln result_str
|
|
exit 0
|
|
|
|
function pln (str message is $0)
|
|
str term is $1
|
|
int msg_length is $2
|
|
str nl is $3
|
|
int nl_length is $4
|
|
int mode is $5
|
|
|
|
load_heap_immediate "/dev/term/0" -> term # get terminal device
|
|
load_immediate 0 -> mode
|
|
syscall OPEN term mode -> term
|
|
strlen message -> msg_length
|
|
syscall WRITE term message msg_length
|
|
load_heap_immediate "\n" -> nl
|
|
strlen nl -> nl_length
|
|
syscall WRITE term nl nl_length
|
|
return
|