sagan@FARADAY.ECE.CMU.EDU (Cyril Sagan) (08/05/87)
Does anyone have, or know of a source of, a table of illegal op-codes for the 68000? The ultimate goal would be to have a function whose domain would be the set of all word combinations (0x0000..0xffff), that would return exactly one of several status codes like: * decodes and executes a valid instruction * illegal for 68000 but good in only 68010 * illegal for 68000 but good in either 68010 or 68020 * illegal for 68xxx Our assembler is smart enough to catch problems like: e1c8 ASL A0 * Illegal instruction And it wont even assemble the instruction, but if the processor tried to execute e1c8, (which you would get if you replaced the ea field with the 'standard' bit sequence 001 000 for A0) it results in an illegal instruction. I my attempt to 'compute' illegal op-codes, I looked at the arithmetic and logical instructions to check whether their destinations were addresses. An good example was AND D0,A0 ...which I thought would assemble to c188, but it so happens that c188 dis-assembles (to EXG D0,A0) and is not illegal at all. There are just too many exceptions to deal with. So, now I feel as if I need a table of (perhaps) ranges of illegal instructions, so I can make *fast* table lookup decisions about the integrity of some op-codes. Can anyone give me any advice/pointers?? Thanks in advance... Cyril Sagan, Carnegie-Mellon University arpa: sagan@faraday.ece.cmu.edu (prefered) bitn: cs2k@cmuccvma.bitnet uucp: ...{ seismo | harvard } !te.cc.cmu.edu!cs2k csnt: cs2k%te.cc.cmu.edu@relay.cs.net