blob: 57e95339d34710f6f20be77ae7654083bccdb71a (
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
44
45
46
|
#if !defined(COMMAND_NEW)
#error
#endif
int main(void) {
salis_init();
uint64_t next_addr = 0;
while (mvec_is_proc_owner(g_cores, g_cores->pvec->ip, g_cores->pcur)) {
assert(g_cores->pvec->ip == next_addr);
if (mvec_get_inst(g_cores, g_cores->pvec->ip) == ifnz) {
switch (mvec_get_inst(g_cores, g_cores->pvec->ip + 1)) {
case nop0:
next_addr += g_cores->pvec->r0x ? 1 : 2;
break;
case nop1:
next_addr += g_cores->pvec->r1x ? 1 : 2;
break;
case nop2:
next_addr += g_cores->pvec->r2x ? 1 : 2;
break;
case nop3:
next_addr += g_cores->pvec->r3x ? 1 : 2;
break;
default:
next_addr += g_cores->pvec->r0x ? 0 : 1;
}
}
salis_step(1);
next_addr++;
assert(g_cores->pvec->ip == next_addr);
}
assert(g_cores->pvec->ip == ANC_SIZE);
assert(g_cores->pvec->r0x == 2);
assert(g_cores->pvec->r1x == 2);
assert(g_cores->pvec->r2x == 2);
assert(g_cores->pvec->r3x == 2);
salis_free();
return 0;
}
|