X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=mach.c;h=cca87e40ebed47244ce017d1cc9430d886115a65;hp=42268dcde2bd706cbb4b00f691a25338b7273a7e;hb=ceab9325bdbffccecf61ba26387ed03f4ab0591e;hpb=ac3149e4607a5a07b212ba85a0fe44614b9aeec4 diff --git a/mach.c b/mach.c index 42268dc..cca87e4 100644 --- a/mach.c +++ b/mach.c @@ -796,7 +796,11 @@ int m_move(WORD inst, WORD size) int m_move30(WORD inst, WORD size) { int siz = (int)size; - inst |= siz_12[siz] | reg_9[a1reg & 7] | a0reg | extra_addressing[am0 - ABASE]; + + if (am0 > ABASE) + inst |= siz_12[siz] | reg_9[a1reg & 7] | a0reg | extra_addressing[am0 - ABASE]; + else + inst |= siz_12[siz] | reg_9[a1reg & 7] | a0reg | extra_addressing[am1 - ABASE] << 3; D_word(inst); @@ -2434,7 +2438,6 @@ int m_pload(WORD inst, WORD siz, WORD extension) inst = 1; else return error("illegal control register specified"); - break; case DREG: inst = (1 << 3) | a0reg;