/* $Header$ */ /* * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. * See the copyright notice in the ACK home directory, in the file "Copyright". */ /* @(#)mach3.c 1.4 */ /* * Motorola 68000/68010 keywords */ 0, EXTERN, 0, ".globl", 0, SIZE, SIZE_B, ".b", 0, SIZE, SIZE_W, ".w", 0, SIZE, SIZE_L, ".l", 0, DREG, 00, "d0", 0, DREG, 01, "d1", 0, DREG, 02, "d2", 0, DREG, 03, "d3", 0, DREG, 04, "d4", 0, DREG, 05, "d5", 0, DREG, 06, "d6", 0, DREG, 07, "d7", 0, AREG, 00, "a0", 0, AREG, 01, "a1", 0, AREG, 02, "a2", 0, AREG, 03, "a3", 0, AREG, 04, "a4", 0, AREG, 05, "a5", 0, AREG, 06, "a6", 0, AREG, 07, "a7", 0, AREG, 07, "sp", 0, PC, 8, "pc", 0, MODEL, 0, ".68000", 0, MODEL, 1, ".68010", 0, CREG, 04001, "vbr", 0, CREG, 0, "sfc", 0, CREG, 00001, "dfc", 0, SPEC, 075, "usp", 0, SPEC, 076, "ccr", 0, SPEC, 077, "sr", 0, ABCD, 0140400, "abcd", 0, ABCD, 0100400, "sbcd", 0, ADDX, 0150400, "addx", 0, ADDX, 0110400, "subx", 0, ADD, 0153300, "add", 0, ADD, 0112700, "sub", 0, AND, 0141000, "and", 0, AND, 0135000, "eor", 0, AND, 0100000, "or", 0, BITOP, 0000, "btst", 0, BITOP, 0100, "bchg", 0, BITOP, 0200, "bclr", 0, BITOP, 0300, "bset", 0, SHIFT, 0160340, "asr", 0, SHIFT, 0160740, "asl", 0, SHIFT, 0161350, "lsr", 0, SHIFT, 0161750, "lsl", 0, SHIFT, 0162360, "roxr", 0, SHIFT, 0162760, "roxl", 0, SHIFT, 0163370, "ror", 0, SHIFT, 0163770, "rol", 0, SZ_EA, 041000|DTA|ALT, "clr", 0, SZ_EA, 042000|DTA|ALT, "neg", 0, SZ_EA, 040000|DTA|ALT, "negx", 0, SZ_EA, 043000|DTA|ALT, "not", 0, SZ_EA, 045000|DTA|ALT, "tst", 0, OP_EA, 044000|DTA|ALT, "nbcd", 0, OP_EA, 045300|DTA|ALT, "tas", 0, OP_EA, 047200|CTR, "jsr", 0, OP_EA, 047300|CTR, "jmp", 0, OP_EA, 044100|CTR, "pea", 0, OP_EA, 050300, "st", 0, OP_EA, 050700, "sf", 0, OP_EA, 051300, "shi", 0, OP_EA, 051700, "sls", 0, OP_EA, 052300, "scc", 0, OP_EA, 052700, "scs", 0, OP_EA, 053300, "sne", 0, OP_EA, 053700, "seq", 0, OP_EA, 054300, "svc", 0, OP_EA, 054700, "svs", 0, OP_EA, 055300, "spl", 0, OP_EA, 055700, "smi", 0, OP_EA, 056300, "sge", 0, OP_EA, 056700, "slt", 0, OP_EA, 057300, "sgt", 0, OP_EA, 057700, "sle", 0, OP_NOOP, 047160, "reset", 0, OP_NOOP, 047161, "nop", 0, OP_NOOP, 047163, "rte", 0, OP_NOOP, 047165, "rts", 0, OP_NOOP, 047166, "trapv", 0, OP_NOOP, 047167, "rtr", 0, OP_NOOP, 045374, "illegal", 0, OP_EA_D, 040600, "chk", 0, OP_EA_D, 0100300, "divu", 0, OP_EA_D, 0100700, "divs", 0, OP_EA_D, 0140300, "mulu", 0, OP_EA_D, 0140700, "muls", 0, BR, 060000, "bra", 0, BR, 060400, "bsr", 0, BR, 061000, "bhi", 0, BR, 061400, "bls", 0, BR, 062000, "bcc", 0, BR, 062400, "bcs", 0, BR, 063000, "bne", 0, BR, 063400, "beq", 0, BR, 064000, "bvc", 0, BR, 064400, "bvs", 0, BR, 065000, "bpl", 0, BR, 065400, "bmi", 0, BR, 066000, "bge", 0, BR, 066400, "blt", 0, BR, 067000, "bgt", 0, BR, 067400, "ble", 0, DBR, 050310, "dbt", 0, DBR, 050710, "dbf", 0, DBR, 050710, "dbra", 0, DBR, 051310, "dbhi", 0, DBR, 051710, "dbls", 0, DBR, 052310, "dbcc", 0, DBR, 052710, "dbcs", 0, DBR, 053310, "dbne", 0, DBR, 053710, "dbeq", 0, DBR, 054310, "dbvc", 0, DBR, 054710, "dbvs", 0, DBR, 055310, "dbpl", 0, DBR, 055710, "dbmi", 0, DBR, 056310, "dbge", 0, DBR, 056710, "dblt", 0, DBR, 057310, "dbgt", 0, DBR, 057710, "dble", 0, CMP, 0, "cmp", 0, MOVE, 0, "move", 0, MOVEP, 0, "movep", 0, MOVEM, 0, "movem", 0, MOVES, 0, "moves", 0, MOVEC, 0, "movec", 0, SWAP, 0, "swap", 0, LINK, 0, "link", 0, UNLK, 0, "unlk", 0, TRAP, 0, "trap", 0, STOP, 047162, "stop", 0, EXG, 0, "exg", 0, OP_EXT, 0, "ext", 0, LEA, 0, "lea", 0, RTD, 0, "rtd", /* floating point coprocessor ... */ 0, FSIZE, FSIZE_S, ".s", 0, FSIZE, FSIZE_X, ".x", 0, FSIZE, FSIZE_P, ".p", 0, FSIZE, FSIZE_D, ".d", 0, FPREG, 0, "fp0", 0, FPREG, 1, "fp1", 0, FPREG, 2, "fp2", 0, FPREG, 3, "fp3", 0, FPREG, 4, "fp4", 0, FPREG, 5, "fp5", 0, FPREG, 6, "fp6", 0, FPREG, 7, "fp7", 0, FPCR, 1, "fpiar", 0, FPCR, 2, "fpsr", 0, FPCR, 4, "fpcr", 0, FMOVE, 0, "fmove", 0, FMOVECR, 0, "fmovecr", 0, FMOVEM, 0, "fmovem", 0, FDYADIC, 042, "fadd", 0, FDYADIC, 070, "fcmp", 0, FDYADIC, 040, "fdiv", 0, FDYADIC, 041, "fmod", 0, FDYADIC, 043, "fmul", 0, FDYADIC, 045, "frem", 0, FDYADIC, 046, "fscale", 0, FDYADIC, 044, "fsgldiv", 0, FDYADIC, 047, "fsglmul", 0, FDYADIC, 050, "fsub", 0, FMONADIC, 030, "fabs", 0, FMONADIC, 034, "facos", 0, FMONADIC, 014, "fasin", 0, FMONADIC, 012, "fatan", 0, FMONADIC, 015, "fatanh", 0, FMONADIC, 035, "fcos", 0, FMONADIC, 031, "fcosh", 0, FMONADIC, 020, "fetox", 0, FMONADIC, 010, "fetoxm1", 0, FMONADIC, 036, "fgetexp", 0, FMONADIC, 037, "fgetman", 0, FMONADIC, 001, "fint", 0, FMONADIC, 003, "fintrz", 0, FMONADIC, 024, "flogn", 0, FMONADIC, 006, "flognp1", 0, FMONADIC, 025, "flog10", 0, FMONADIC, 026, "flog2", 0, FMONADIC, 032, "fneg", 0, FMONADIC, 016, "fsin", 0, FMONADIC, 002, "fsinh", 0, FMONADIC, 004, "fsqrt", 0, FMONADIC, 017, "ftan", 0, FMONADIC, 011, "ftanh", 0, FMONADIC, 022, "ftentox", 0, FMONADIC, 021, "ftwotox", 0, FSINCOS, 060, "fsincos", 0, FBCC, 001, "fbeq", 0, FBCC, 016, "fbne", 0, FBCC, 022, "fbgt", 0, FBCC, 035, "fbngt", 0, FBCC, 023, "fbge", 0, FBCC, 034, "fbnge", 0, FBCC, 024, "fblt", 0, FBCC, 033, "fbnlt", 0, FBCC, 025, "fble", 0, FBCC, 032, "fbnle", 0, FBCC, 026, "fbgl", 0, FBCC, 031, "fbngl", 0, FBCC, 027, "fbgle", 0, FBCC, 030, "fbngle", 0, FBCC, 002, "fbogt", 0, FBCC, 015, "fbule", 0, FBCC, 003, "fboge", 0, FBCC, 014, "fbult", 0, FBCC, 004, "fbolt", 0, FBCC, 013, "fbuge", 0, FBCC, 005, "fbole", 0, FBCC, 012, "fbugt", 0, FBCC, 006, "fbogl", 0, FBCC, 011, "fbueq", 0, FBCC, 007, "fbor", 0, FBCC, 010, "fbun", 0, FBCC, 000, "fbf", 0, FBCC, 017, "fbt", 0, FBCC, 020, "fbsf", 0, FBCC, 037, "fbst", 0, FBCC, 021, "fbseq", 0, FBCC, 036, "fbsne", 0, FDBCC, 001, "fdbeq", 0, FDBCC, 016, "fdbne", 0, FDBCC, 022, "fdbgt", 0, FDBCC, 035, "fdbngt", 0, FDBCC, 023, "fdbge", 0, FDBCC, 034, "fdbnge", 0, FDBCC, 024, "fdblt", 0, FDBCC, 033, "fdbnlt", 0, FDBCC, 025, "fdble", 0, FDBCC, 032, "fdbnle", 0, FDBCC, 026, "fdbgl", 0, FDBCC, 031, "fdbngl", 0, FDBCC, 027, "fdbgle", 0, FDBCC, 030, "fdbngle", 0, FDBCC, 002, "fdbogt", 0, FDBCC, 015, "fdbule", 0, FDBCC, 003, "fdboge", 0, FDBCC, 014, "fdbult", 0, FDBCC, 004, "fdbolt", 0, FDBCC, 013, "fdbuge", 0, FDBCC, 005, "fdbole", 0, FDBCC, 012, "fdbugt", 0, FDBCC, 006, "fdbogl", 0, FDBCC, 011, "fdbueq", 0, FDBCC, 007, "fdbor", 0, FDBCC, 010, "fdbun", 0, FDBCC, 000, "fdbf", 0, FDBCC, 017, "fdbt", 0, FDBCC, 020, "fdbsf", 0, FDBCC, 037, "fdbst", 0, FDBCC, 021, "fdbseq", 0, FDBCC, 036, "fdbsne", 0, FNOP, 0, "fnop", 0, FSCC, 001, "fseq", 0, FSCC, 016, "fsne", 0, FSCC, 022, "fsgt", 0, FSCC, 035, "fsngt", 0, FSCC, 023, "fsge", 0, FSCC, 034, "fsnge", 0, FSCC, 024, "fslt", 0, FSCC, 033, "fsnlt", 0, FSCC, 025, "fsle", 0, FSCC, 032, "fsnle", 0, FSCC, 026, "fsgl", 0, FSCC, 031, "fsngl", 0, FSCC, 027, "fsgle", 0, FSCC, 030, "fsngle", 0, FSCC, 002, "fsogt", 0, FSCC, 015, "fsule", 0, FSCC, 003, "fsoge", 0, FSCC, 014, "fsult", 0, FSCC, 004, "fsolt", 0, FSCC, 013, "fsuge", 0, FSCC, 005, "fsole", 0, FSCC, 012, "fsugt", 0, FSCC, 006, "fsogl", 0, FSCC, 011, "fsueq", 0, FSCC, 007, "fsor", 0, FSCC, 010, "fsun", 0, FSCC, 000, "fsf", 0, FSCC, 017, "fst", 0, FSCC, 020, "fssf", 0, FSCC, 037, "fsst", 0, FSCC, 021, "fsseq", 0, FSCC, 036, "fssne", 0, FTST, 0, "ftst", 0, FSAVRES, MEM|ALT|0430, "fsave", 0, FSAVRES, MEM|0540, "frestore", 0, FTRAPCC, 001, "ftrapeq", 0, FTRAPCC, 016, "ftrapne", 0, FTRAPCC, 022, "ftrapgt", 0, FTRAPCC, 035, "ftrapngt", 0, FTRAPCC, 023, "ftrapge", 0, FTRAPCC, 034, "ftrapnge", 0, FTRAPCC, 024, "ftraplt", 0, FTRAPCC, 033, "ftrapnlt", 0, FTRAPCC, 025, "ftraple", 0, FTRAPCC, 032, "ftrapnle", 0, FTRAPCC, 026, "ftrapgl", 0, FTRAPCC, 031, "ftrapngl", 0, FTRAPCC, 027, "ftrapgle", 0, FTRAPCC, 030, "ftrapngle", 0, FTRAPCC, 002, "ftrapogt", 0, FTRAPCC, 015, "ftrapule", 0, FTRAPCC, 003, "ftrapoge", 0, FTRAPCC, 014, "ftrapult", 0, FTRAPCC, 004, "ftrapolt", 0, FTRAPCC, 013, "ftrapuge", 0, FTRAPCC, 005, "ftrapole", 0, FTRAPCC, 012, "ftrapugt", 0, FTRAPCC, 006, "ftrapogl", 0, FTRAPCC, 011, "ftrapueq", 0, FTRAPCC, 007, "ftrapor", 0, FTRAPCC, 010, "ftrapun", 0, FTRAPCC, 000, "ftrapf", 0, FTRAPCC, 017, "ftrapt", 0, FTRAPCC, 020, "ftrapsf", 0, FTRAPCC, 037, "ftrapst", 0, FTRAPCC, 021, "ftrapseq", 0, FTRAPCC, 036, "ftrapsne", 0, CP, 00000, "c0", 0, CP, 01000, "c1", 0, CP, 02000, "c2", 0, CP, 03000, "c3", 0, CP, 04000, "c4", 0, CP, 05000, "c5", 0, CP, 06000, "c6", 0, CP, 07000, "c7",