bson@rice-chex.ai.mit.edu (Jan Brittenson) (10/28/90)
There is a confusing bug in SAD. The code
brbs 0, st, addr
is disassembled as
brne.1 p, 0, addr
Instead of awaiting 1.03, you may prefer to fix it now.
At line ~650 in sad.c you'll find:
case 6:
case 7:
case 8:
case 9:
{
static char *xrbn[] =
{"brbc\t%s, st, %s", "brbs\t%s, st, %s",
"brne.1\tp, %s, %s", "breq.1\tp, %s, %s"},
s1[64];
op3 = get_unibbles(1);
op4 = get_nibbles(2);
strcpy(s1, symbolic(op3, NOREL));
sprintf(l_instr, xrbn[(op3 - 6) & 3],
s1,
symbolic(org_pc+3+op4, JUMPREL));
return;
}
Change the expression `xrbn[(op3 - 6) & 3]' to read `xrbn[(op2 - 6) & 3]'.
My apologies.