#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; }