diff --git a/fe6/pdp6common.c b/fe6/pdp6common.c index 258dee7..3325250 100644 --- a/fe6/pdp6common.c +++ b/fe6/pdp6common.c @@ -875,6 +875,10 @@ disasm(word w) else p += sprintf(p, "%o,", dev); }else{ + if(mnemonics[op][0] == '\0'){ + sprintf(s, "%llo", w); + return s; + } flags = instflags[op]; p += sprintf(p, "%s ", mnemonics[op]); if(ac || (flags & NOAC) == 0){ @@ -885,8 +889,10 @@ disasm(word w) p += sprintf(p, "%o,", ac); } } - if(flags & NOINST) - return ""; + if(flags & NOINST){ + sprintf(s, "%llo", w); + return s; + } if(i) p += sprintf(p, "@"); diff --git a/verilog/apr.v b/verilog/apr.v index 0ffeda6..1f5cff6 100644 --- a/verilog/apr.v +++ b/verilog/apr.v @@ -1047,7 +1047,7 @@ module apr( if(mbrt_fm_mbltJ) mb[18:35] <= mb[0:17]; if(mb_fm_pc1) - mb[0:17] <= mb[0:17] | pc; + mb[18:35] <= mb[18:35] | pc; if(mb_fm_ir1) mb[18:35] <= mb[18:35] | ir; if(mb1_8_clr)