diff options
| author | 2025-08-25 16:53:34 +0330 | |
|---|---|---|
| committer | 2025-08-25 16:53:34 +0330 | |
| commit | 8f73e9736317bd5d7951757357075504ea402d27 (patch) | |
| tree | b89acf08a72ab2d0195d033ce600134c78de663e /pu2/code/lib.i2 | |
| parent | fixed stack overflow bug (diff) | |
cool stuff, right? multi-process support with permission levels
Diffstat (limited to 'pu2/code/lib.i2')
| -rw-r--r-- | pu2/code/lib.i2 | 37 |
1 files changed, 37 insertions, 0 deletions
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 |
