diff --git a/vm/pc/dump.c b/vm/pc/dump.c index b4097d1..ec811b6 100644 --- a/vm/pc/dump.c +++ b/vm/pc/dump.c @@ -43,16 +43,16 @@ void dump_instr(ctx_t *ctx, if (cond & (1 << 4)) { - cond &= ~(1 << 4); trace("n"); } - assert(cond <= sizeof(cond_suffixes)/sizeof(char *)); + assert((cond & ~(1 << 4)) <= sizeof(cond_suffixes)/sizeof(char *)); - trace("%s", cond_suffixes[cond]); + trace("%s", cond_suffixes[cond & ~(1 << 4)]); } - if (!rep) trace("\t\t"); + if (!rep && cond != ((1 << 4) | CD_CXZ)) + trace("\t\t"); else trace("\t");