44 lines
826 B
C
44 lines
826 B
C
str terminal_namespace = "/dev/term/0";
|
|
str new_line = "\n";
|
|
int x = 1;
|
|
int y = 1;
|
|
|
|
function main () {
|
|
int local_x;
|
|
int local_y;
|
|
int result;
|
|
int result_str;
|
|
|
|
load_absolute_32 x -> local_x;
|
|
load_absolute_32 y -> local_y;
|
|
call add (local_x local_y) -> result;
|
|
int_to_string result -> result_str;
|
|
call pln (result_str);
|
|
exit 0;
|
|
}
|
|
|
|
function add (int a, int b) int {
|
|
int result;
|
|
add_int a b -> result;
|
|
return result;
|
|
}
|
|
|
|
function pln (str message) {
|
|
ptr term;
|
|
int msg_length;
|
|
str nl;
|
|
int nl_length;
|
|
int mode;
|
|
str term_ns;
|
|
|
|
load_immediate 0 -> mode;
|
|
load_address terminal_namespace -> term_ns;
|
|
syscall OPEN term_ns mode term;
|
|
string_length message -> msg_length;
|
|
syscall WRITE term message msg_length;
|
|
load_address new_line -> nl;
|
|
string_length nl -> nl_length;
|
|
syscall WRITE term nl nl_length;
|
|
return;
|
|
}
|