blob: e619fd8de4b7cffca5c8da8c118d8de1bd7201d6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
}
|