diff --git a/Ghidra/Processors/68000/data/languages/68000.sinc b/Ghidra/Processors/68000/data/languages/68000.sinc index ff97468683..2b721c1de9 100644 --- a/Ghidra/Processors/68000/data/languages/68000.sinc +++ b/Ghidra/Processors/68000/data/languages/68000.sinc @@ -1295,6 +1295,10 @@ subdiv: regdr:regdq is regdq & regdr & divsz=1 & divsgn=1 { divi:8 = (sext(r :ext.l regdn is op=4 & reg9dn=4 & op68=3 & op35=0 & regdn { local tmp =regdn:2; regdn = sext(tmp); } :extb.l regdn is op=4 & reg9dn=4 & op68=7 & op35=0 & regdn { local tmp =regdn:1; regdn = sext(tmp); } +@ifdef COLDFIRE +:halt is d16=0x4ac8 unimpl +@endif + :illegal is d16=0x4afc unimpl # jump addresses derived from effective address calculation @@ -2006,7 +2010,7 @@ ptestLevel: "#"^mregn is mregn { export *[const]:1 mregn; } :tst.l eal is (opbig=0x4a & op67=2)... & eal { logflags(); resflags(eal); } @ifdef COLDFIRE -:tas eab is (opbig=0x4a & op67=3)... & eab { logflags(); resflags(eab); eab = eab | 0x80; } +:tas eab is (opbig=0x4a & op67=3 & $(MEM_ALTER_ADDR_MODES))... & eab { logflags(); resflags(eab); eab = eab | 0x80; } @endif # COLDFIRE :unlk regan is opbig=0x4e & op37=11 & regan { SP = regan; regan = *SP; SP = SP+4; }