blob: b13e2c5e7ae79325d9ab7311447b14204ebc07ea (
plain)
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
38
39
40
41
42
43
|
func putstr(char[] str) {
int i := 0;
while (str[i] != '\0') {
putc(str[i]);
i = i + 1;
}
}
func int main() {return 0;}
/*
irfunc putstr(char[] str)
{{{(0)
mov t5Q <- 0Q
jmp 7
}}}
{{{(7)
mov t15Q <- t5Q
add t15Q, 8Q
mov t13Q <- astrQ
add t13Q, t15Q
load t16B <- *t13Q
neq t16B, 0B
jne t16B, 0Q -> 9 | 6
}}}
{{{(9)
mov t25Q <- t5Q
add t25Q, 8Q
mov t23Q <- astrQ
add t23Q, t25Q
load t26B <- *t23Q
call putc (t26B)
mov t30Q <- t5Q
add t30Q, 1Q
mov t5Q <- t30Q
jmp 7
}}}
{{{(6)
ret
}}}
*/
|