From 8f73e9736317bd5d7951757357075504ea402d27 Mon Sep 17 00:00:00 2001 From: Moon Flower Date: Mon, 25 Aug 2025 16:53:34 +0330 Subject: cool stuff, right? multi-process support with permission levels --- pu2/code/lib.i2 | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 pu2/code/lib.i2 (limited to 'pu2/code/lib.i2') diff --git a/pu2/code/lib.i2 b/pu2/code/lib.i2 new file mode 100644 index 0000000..e619fd8 --- /dev/null +++ b/pu2/code/lib.i2 @@ -0,0 +1,37 @@ +// standard library for i2 + +macro puts(2) { + @1 = 0; // write + @2 = /1/; // ptr + @3 = /2/; // size + system(); // interrupt +} + +macro putchar(1) { + @1 = 0; // write + @2 = 10; // ptr + @3 = 1; // size + @10 = /1/; // value + system(); // interrupt +} + +// &str, out_dest +macro strlen(2) { + @20 = /1/; // get reference to var + @21 = 0; // char count + @22 = *@20; + while(@22) { + @20++; + @22 = *@20; + @21++; + } + + /2/ = @21; +} + +macro print(1) { + strlen([/1/], [@3]); + @1 = 0; // write + @2 = /1/; // ptr + system(); // interrupt +} \ No newline at end of file -- cgit v1.2.3