#include #define DREG 0x1 /* Data Register Direct */ #define AREG 0x2 /* Address Register Direct */ #define AINDR 0x4 /* Address Register Indirect */ #define AINC 0x8 /* Address Register Indirect with Postincrement */ #define ADEC 0x10 /* Address Register Indirect with Predecrement */ #define Ad16 0x20 /* Address Register Indirect with Displacement */ #define Ad8Xn 0x40 /* Address Register Indirect with Index */ /* (8-Bit Displacement) */ #define AbdXn 0x80 /* Address Register Indirect with Index */ /* (Base Displacement) */ #define MIPRE 0x100 /* Memory Indirect with Preindexed */ #define MIPOST 0x200 /* Memory Indirect with Postindexed */ #define ABSW 0x400 /* Absolute Short */ #define ABSL 0x800 /* Absolute Long */ #define IMMED 0x1000 /* Immediate */ #define PCd16 0x2000 /* Program Counter Indirect with Displacement */ #define PCd8Xn 0x4000 /* Program Counter Indirect with Index */ /* (8-Bit Displacement) */ #define PCbdXn 0x8000 /* Program Counter Indirect with Index */ /* (Base Displacement) */ #define PCMIPRE 0x10000 /* Program Counter Memory Indirect with Preindexed */ #define PCMIPOST 0x20000/* Program Counter Memory Indirect with Postindexed */ #define MOVEC_REG 0x40000 #define SPECIAL_1 0x80000 #define SPECIAL_2 0x100000 #define SPECIAL_3 0x200000 struct operand { char *string; long type; }; struct operand ops[] = { /* Dn "Data Register Direct" Dn */ { "d0", DREG }, /* An "Address Register Direct" An */ { "a1", AREG }, /* An@ "Address Register Indirect" (An) */ { "a3@", AINDR }, /* An@+ "Address Register Indirect with Postincrement" (An)+ */ { "a3@+", AINC }, /* An@- "Address Register Indirect with Predecrement" -(An) */ { "a3@-", ADEC }, /* An@(d16) "Address Register Indirect with Displacement" (d16,An) */ { "a3@(0x1234:w)", Ad16 }, /* An@(d8,Xn) "Address Register Indirect with Index (8-Bit Displacement)" uses Brief Format Extension Word (d8,An,Xn) */ #ifdef ALL_OPERANDS { "a3@(0x12:b,d2:w:1)", Ad8Xn }, { "a3@(0x12:b,d2:w:2)", Ad8Xn }, { "a3@(0x12:b,d2:w:4)", Ad8Xn }, { "a3@(0x12:b,d2:w:8)", Ad8Xn }, { "a3@(0x12:b,d2:l:1)", Ad8Xn }, { "a3@(0x12:b,d2:l:2)", Ad8Xn }, { "a3@(0x12:b,d2:l:4)", Ad8Xn }, { "a3@(0x12:b,d2:l:8)", Ad8Xn }, { "a3@(0x12:b,a5:w:1)", Ad8Xn }, { "a3@(0x12:b,a5:w:2)", Ad8Xn }, { "a3@(0x12:b,a5:w:4)", Ad8Xn }, { "a3@(0x12:b,a5:w:8)", Ad8Xn }, { "a3@(0x12:b,a5:l:1)", Ad8Xn }, { "a3@(0x12:b,a5:l:2)", Ad8Xn }, { "a3@(0x12:b,a5:l:4)", Ad8Xn }, #endif ALL_OPERANDS { "a3@(0x12:b,a5:l:8)", Ad8Xn }, /* An@(bd,Xn) "Address Register Indirect with Index (Base Displacement)", uses Full Format Extension Word(s) (bd,An,Xn) */ #ifdef ALL_OPERANDS /* the form of An@(bd,Xn) with bd (base displacement) encoded as a null displacement will not be generated by the assembler because it will use the form An(d8,Xn). { "a3@(0)", AbdXn }, { "a3@(0,d2:w:1)", AbdXn }, { "a3@(0,d2:w:2)", AbdXn }, { "a3@(0,d2:w:4)", AbdXn }, { "a3@(0,d2:w:8)", AbdXn }, { "a3@(0,d2:l:1)", AbdXn }, { "a3@(0,d2:l:2)", AbdXn }, { "a3@(0,d2:l:4)", AbdXn }, { "a3@(0,d2:l:8)", AbdXn }, { "a3@(0,a5:w:1)", AbdXn }, { "a3@(0,a5:w:2)", AbdXn }, { "a3@(0,a5:w:4)", AbdXn }, { "a3@(0,a5:w:8)", AbdXn }, { "a3@(0,a5:l:1)", AbdXn }, { "a3@(0,a5:l:2)", AbdXn }, { "a3@(0,a5:l:4)", AbdXn }, { "a3@(0,a5:l:8)", AbdXn }, */ { "a3@(0x1234:w,d2:w:1)", AbdXn }, { "a3@(0x1234:w,d2:w:2)", AbdXn }, { "a3@(0x1234:w,d2:w:4)", AbdXn }, { "a3@(0x1234:w,d2:w:8)", AbdXn }, { "a3@(0x1234:w,d2:l:1)", AbdXn }, { "a3@(0x1234:w,d2:l:2)", AbdXn }, { "a3@(0x1234:w,d2:l:4)", AbdXn }, { "a3@(0x1234:w,d2:l:8)", AbdXn }, { "a3@(0x1234:w,a5:w:1)", AbdXn }, { "a3@(0x1234:w,a5:w:2)", AbdXn }, { "a3@(0x1234:w,a5:w:4)", AbdXn }, { "a3@(0x1234:w,a5:w:8)", AbdXn }, { "a3@(0x1234:w,a5:l:1)", AbdXn }, { "a3@(0x1234:w,a5:l:2)", AbdXn }, { "a3@(0x1234:w,a5:l:4)", AbdXn }, { "a3@(0x1234:w,a5:l:8)", AbdXn }, { "a3@(0x1234abcd:l,d2:w:1)", AbdXn }, { "a3@(0x1234abcd:l,d2:w:2)", AbdXn }, { "a3@(0x1234abcd:l,d2:w:4)", AbdXn }, { "a3@(0x1234abcd:l,d2:w:8)", AbdXn }, { "a3@(0x1234abcd:l,d2:l:1)", AbdXn }, { "a3@(0x1234abcd:l,d2:l:2)", AbdXn }, { "a3@(0x1234abcd:l,d2:l:4)", AbdXn }, { "a3@(0x1234abcd:l,d2:l:8)", AbdXn }, { "a3@(0x1234abcd:l,a5:w:1)", AbdXn }, { "a3@(0x1234abcd:l,a5:w:2)", AbdXn }, { "a3@(0x1234abcd:l,a5:w:4)", AbdXn }, { "a3@(0x1234abcd:l,a5:w:8)", AbdXn }, { "a3@(0x1234abcd:l,a5:l:1)", AbdXn }, { "a3@(0x1234abcd:l,a5:l:2)", AbdXn }, { "a3@(0x1234abcd:l,a5:l:4)", AbdXn }, #endif ALL_OPERANDS { "a3@(0x1234abcd:l,a5:l:8)", AbdXn }, #ifdef ALL_OPERANDS { "@(0)", AbdXn }, { "@(0,d2:w:1)", AbdXn }, { "@(0,d2:w:2)", AbdXn }, { "@(0,d2:w:4)", AbdXn }, { "@(0,d2:w:8)", AbdXn }, { "@(0,d2:l:1)", AbdXn }, { "@(0,d2:l:2)", AbdXn }, { "@(0,d2:l:4)", AbdXn }, { "@(0,d2:l:8)", AbdXn }, { "@(0,a5:w:1)", AbdXn }, { "@(0,a5:w:2)", AbdXn }, { "@(0,a5:w:4)", AbdXn }, { "@(0,a5:w:8)", AbdXn }, { "@(0,a5:l:1)", AbdXn }, { "@(0,a5:l:2)", AbdXn }, { "@(0,a5:l:4)", AbdXn }, { "@(0,a5:l:8)", AbdXn }, { "@(0x1234:w,d2:w:1)", AbdXn }, { "@(0x1234:w,d2:w:2)", AbdXn }, { "@(0x1234:w,d2:w:4)", AbdXn }, { "@(0x1234:w,d2:w:8)", AbdXn }, { "@(0x1234:w,d2:l:1)", AbdXn }, { "@(0x1234:w,d2:l:2)", AbdXn }, { "@(0x1234:w,d2:l:4)", AbdXn }, { "@(0x1234:w,d2:l:8)", AbdXn }, { "@(0x1234:w,a5:w:1)", AbdXn }, { "@(0x1234:w,a5:w:2)", AbdXn }, { "@(0x1234:w,a5:w:4)", AbdXn }, { "@(0x1234:w,a5:w:8)", AbdXn }, { "@(0x1234:w,a5:l:1)", AbdXn }, { "@(0x1234:w,a5:l:2)", AbdXn }, { "@(0x1234:w,a5:l:4)", AbdXn }, { "@(0x1234:w,a5:l:8)", AbdXn }, { "@(0x1234abcd:l,d2:w:1)", AbdXn }, { "@(0x1234abcd:l,d2:w:2)", AbdXn }, { "@(0x1234abcd:l,d2:w:4)", AbdXn }, { "@(0x1234abcd:l,d2:w:8)", AbdXn }, { "@(0x1234abcd:l,d2:l:1)", AbdXn }, { "@(0x1234abcd:l,d2:l:2)", AbdXn }, { "@(0x1234abcd:l,d2:l:4)", AbdXn }, { "@(0x1234abcd:l,d2:l:8)", AbdXn }, { "@(0x1234abcd:l,a5:w:1)", AbdXn }, { "@(0x1234abcd:l,a5:w:2)", AbdXn }, { "@(0x1234abcd:l,a5:w:4)", AbdXn }, { "@(0x1234abcd:l,a5:w:8)", AbdXn }, { "@(0x1234abcd:l,a5:l:1)", AbdXn }, { "@(0x1234abcd:l,a5:l:2)", AbdXn }, { "@(0x1234abcd:l,a5:l:4)", AbdXn }, { "@(0x1234abcd:l,a5:l:8)", AbdXn }, #endif ALL_OPERANDS /* An@(bd,Xn)@(od) "Memory Indirect with Preindexed" ([bd,An,Xn],od) uses Full Format Extension Word(s) */ #ifdef ALL_OPERANDS { "a3@(0)@(0)", MIPRE }, { "a3@(0,d2:w:1)@(0)", MIPRE }, { "a3@(0,d2:w:2)@(0)", MIPRE }, { "a3@(0,d2:w:4)@(0)", MIPRE }, { "a3@(0,d2:w:8)@(0)", MIPRE }, { "a3@(0,d2:l:1)@(0)", MIPRE }, { "a3@(0,d2:l:2)@(0)", MIPRE }, { "a3@(0,d2:l:4)@(0)", MIPRE }, { "a3@(0,d2:l:8)@(0)", MIPRE }, { "a3@(0,a5:w:1)@(0)", MIPRE }, { "a3@(0,a5:w:2)@(0)", MIPRE }, { "a3@(0,a5:w:4)@(0)", MIPRE }, { "a3@(0,a5:w:8)@(0)", MIPRE }, { "a3@(0,a5:l:1)@(0)", MIPRE }, { "a3@(0,a5:l:2)@(0)", MIPRE }, { "a3@(0,a5:l:4)@(0)", MIPRE }, { "a3@(0,a5:l:8)@(0)", MIPRE }, { "a3@(0x1234:w,d2:w:1)@(0)", MIPRE }, { "a3@(0x1234:w,d2:w:2)@(0)", MIPRE }, { "a3@(0x1234:w,d2:w:4)@(0)", MIPRE }, { "a3@(0x1234:w,d2:w:8)@(0)", MIPRE }, { "a3@(0x1234:w,d2:l:1)@(0)", MIPRE }, { "a3@(0x1234:w,d2:l:2)@(0)", MIPRE }, { "a3@(0x1234:w,d2:l:4)@(0)", MIPRE }, { "a3@(0x1234:w,d2:l:8)@(0)", MIPRE }, { "a3@(0x1234:w,a5:w:1)@(0)", MIPRE }, { "a3@(0x1234:w,a5:w:2)@(0)", MIPRE }, { "a3@(0x1234:w,a5:w:4)@(0)", MIPRE }, { "a3@(0x1234:w,a5:w:8)@(0)", MIPRE }, { "a3@(0x1234:w,a5:l:1)@(0)", MIPRE }, { "a3@(0x1234:w,a5:l:2)@(0)", MIPRE }, { "a3@(0x1234:w,a5:l:4)@(0)", MIPRE }, { "a3@(0x1234:w,a5:l:8)@(0)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:1)@(0)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:2)@(0)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:4)@(0)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:8)@(0)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:1)@(0)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:2)@(0)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:4)@(0)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:8)@(0)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:1)@(0)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:2)@(0)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:4)@(0)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:8)@(0)", MIPRE }, { "a3@(0x1234abcd:l,a5:l:1)@(0)", MIPRE }, { "a3@(0x1234abcd:l,a5:l:2)@(0)", MIPRE }, { "a3@(0x1234abcd:l,a5:l:4)@(0)", MIPRE }, { "a3@(0x1234abcd:l,a5:l:8)@(0)", MIPRE }, { "@(0)@(0)", MIPRE }, { "@(0,d2:w:1)@(0)", MIPRE }, { "@(0,d2:w:2)@(0)", MIPRE }, { "@(0,d2:w:4)@(0)", MIPRE }, { "@(0,d2:w:8)@(0)", MIPRE }, { "@(0,d2:l:1)@(0)", MIPRE }, { "@(0,d2:l:2)@(0)", MIPRE }, { "@(0,d2:l:4)@(0)", MIPRE }, { "@(0,d2:l:8)@(0)", MIPRE }, { "@(0,a5:w:1)@(0)", MIPRE }, { "@(0,a5:w:2)@(0)", MIPRE }, { "@(0,a5:w:4)@(0)", MIPRE }, { "@(0,a5:w:8)@(0)", MIPRE }, { "@(0,a5:l:1)@(0)", MIPRE }, { "@(0,a5:l:2)@(0)", MIPRE }, { "@(0,a5:l:4)@(0)", MIPRE }, { "@(0,a5:l:8)@(0)", MIPRE }, { "@(0x1234:w,d2:w:1)@(0)", MIPRE }, { "@(0x1234:w,d2:w:2)@(0)", MIPRE }, { "@(0x1234:w,d2:w:4)@(0)", MIPRE }, { "@(0x1234:w,d2:w:8)@(0)", MIPRE }, { "@(0x1234:w,d2:l:1)@(0)", MIPRE }, { "@(0x1234:w,d2:l:2)@(0)", MIPRE }, { "@(0x1234:w,d2:l:4)@(0)", MIPRE }, { "@(0x1234:w,d2:l:8)@(0)", MIPRE }, { "@(0x1234:w,a5:w:1)@(0)", MIPRE }, { "@(0x1234:w,a5:w:2)@(0)", MIPRE }, { "@(0x1234:w,a5:w:4)@(0)", MIPRE }, { "@(0x1234:w,a5:w:8)@(0)", MIPRE }, { "@(0x1234:w,a5:l:1)@(0)", MIPRE }, { "@(0x1234:w,a5:l:2)@(0)", MIPRE }, { "@(0x1234:w,a5:l:4)@(0)", MIPRE }, { "@(0x1234:w,a5:l:8)@(0)", MIPRE }, { "@(0x1234abcd:l,d2:w:1)@(0)", MIPRE }, { "@(0x1234abcd:l,d2:w:2)@(0)", MIPRE }, { "@(0x1234abcd:l,d2:w:4)@(0)", MIPRE }, { "@(0x1234abcd:l,d2:w:8)@(0)", MIPRE }, { "@(0x1234abcd:l,d2:l:1)@(0)", MIPRE }, { "@(0x1234abcd:l,d2:l:2)@(0)", MIPRE }, { "@(0x1234abcd:l,d2:l:4)@(0)", MIPRE }, { "@(0x1234abcd:l,d2:l:8)@(0)", MIPRE }, { "@(0x1234abcd:l,a5:w:1)@(0)", MIPRE }, { "@(0x1234abcd:l,a5:w:2)@(0)", MIPRE }, { "@(0x1234abcd:l,a5:w:4)@(0)", MIPRE }, { "@(0x1234abcd:l,a5:w:8)@(0)", MIPRE }, { "@(0x1234abcd:l,a5:l:1)@(0)", MIPRE }, { "@(0x1234abcd:l,a5:l:2)@(0)", MIPRE }, { "@(0x1234abcd:l,a5:l:4)@(0)", MIPRE }, { "@(0x1234abcd:l,a5:l:8)@(0)", MIPRE }, { "a3@(0)@(0xfeed:w)", MIPRE }, { "a3@(0,d2:w:1)@(0xfeed:w)", MIPRE }, { "a3@(0,d2:w:2)@(0xfeed:w)", MIPRE }, { "a3@(0,d2:w:4)@(0xfeed:w)", MIPRE }, { "a3@(0,d2:w:8)@(0xfeed:w)", MIPRE }, { "a3@(0,d2:l:1)@(0xfeed:w)", MIPRE }, { "a3@(0,d2:l:2)@(0xfeed:w)", MIPRE }, { "a3@(0,d2:l:4)@(0xfeed:w)", MIPRE }, { "a3@(0,d2:l:8)@(0xfeed:w)", MIPRE }, { "a3@(0,a5:w:1)@(0xfeed:w)", MIPRE }, { "a3@(0,a5:w:2)@(0xfeed:w)", MIPRE }, { "a3@(0,a5:w:4)@(0xfeed:w)", MIPRE }, { "a3@(0,a5:w:8)@(0xfeed:w)", MIPRE }, { "a3@(0,a5:l:1)@(0xfeed:w)", MIPRE }, { "a3@(0,a5:l:2)@(0xfeed:w)", MIPRE }, { "a3@(0,a5:l:4)@(0xfeed:w)", MIPRE }, { "a3@(0,a5:l:8)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,d2:w:1)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,d2:w:2)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,d2:w:4)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,d2:w:8)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,d2:l:1)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,d2:l:2)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,d2:l:4)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,d2:l:8)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,a5:w:1)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,a5:w:2)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,a5:w:4)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,a5:w:8)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,a5:l:1)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,a5:l:2)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,a5:l:4)@(0xfeed:w)", MIPRE }, { "a3@(0x1234:w,a5:l:8)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:1)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:2)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:4)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:8)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:1)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:2)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:4)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:8)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:1)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:2)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:4)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:8)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,a5:l:1)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,a5:l:2)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,a5:l:4)@(0xfeed:w)", MIPRE }, { "a3@(0x1234abcd:l,a5:l:8)@(0xfeed:w)", MIPRE }, { "@(0)@(0xfeed:w)", MIPRE }, { "@(0,d2:w:1)@(0xfeed:w)", MIPRE }, { "@(0,d2:w:2)@(0xfeed:w)", MIPRE }, { "@(0,d2:w:4)@(0xfeed:w)", MIPRE }, { "@(0,d2:w:8)@(0xfeed:w)", MIPRE }, { "@(0,d2:l:1)@(0xfeed:w)", MIPRE }, { "@(0,d2:l:2)@(0xfeed:w)", MIPRE }, { "@(0,d2:l:4)@(0xfeed:w)", MIPRE }, { "@(0,d2:l:8)@(0xfeed:w)", MIPRE }, { "@(0,a5:w:1)@(0xfeed:w)", MIPRE }, { "@(0,a5:w:2)@(0xfeed:w)", MIPRE }, { "@(0,a5:w:4)@(0xfeed:w)", MIPRE }, { "@(0,a5:w:8)@(0xfeed:w)", MIPRE }, { "@(0,a5:l:1)@(0xfeed:w)", MIPRE }, { "@(0,a5:l:2)@(0xfeed:w)", MIPRE }, { "@(0,a5:l:4)@(0xfeed:w)", MIPRE }, { "@(0,a5:l:8)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,d2:w:1)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,d2:w:2)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,d2:w:4)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,d2:w:8)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,d2:l:1)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,d2:l:2)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,d2:l:4)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,d2:l:8)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,a5:w:1)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,a5:w:2)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,a5:w:4)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,a5:w:8)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,a5:l:1)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,a5:l:2)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,a5:l:4)@(0xfeed:w)", MIPRE }, { "@(0x1234:w,a5:l:8)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,d2:w:1)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,d2:w:2)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,d2:w:4)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,d2:w:8)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,d2:l:1)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,d2:l:2)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,d2:l:4)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,d2:l:8)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,a5:w:1)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,a5:w:2)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,a5:w:4)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,a5:w:8)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,a5:l:1)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,a5:l:2)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,a5:l:4)@(0xfeed:w)", MIPRE }, { "@(0x1234abcd:l,a5:l:8)@(0xfeed:w)", MIPRE }, { "a3@(0)@(0xfeedface:l)", MIPRE }, { "a3@(0,d2:w:1)@(0xfeedface:l)", MIPRE }, { "a3@(0,d2:w:2)@(0xfeedface:l)", MIPRE }, { "a3@(0,d2:w:4)@(0xfeedface:l)", MIPRE }, { "a3@(0,d2:w:8)@(0xfeedface:l)", MIPRE }, { "a3@(0,d2:l:1)@(0xfeedface:l)", MIPRE }, { "a3@(0,d2:l:2)@(0xfeedface:l)", MIPRE }, { "a3@(0,d2:l:4)@(0xfeedface:l)", MIPRE }, { "a3@(0,d2:l:8)@(0xfeedface:l)", MIPRE }, { "a3@(0,a5:w:1)@(0xfeedface:l)", MIPRE }, { "a3@(0,a5:w:2)@(0xfeedface:l)", MIPRE }, { "a3@(0,a5:w:4)@(0xfeedface:l)", MIPRE }, { "a3@(0,a5:w:8)@(0xfeedface:l)", MIPRE }, { "a3@(0,a5:l:1)@(0xfeedface:l)", MIPRE }, { "a3@(0,a5:l:2)@(0xfeedface:l)", MIPRE }, { "a3@(0,a5:l:4)@(0xfeedface:l)", MIPRE }, { "a3@(0,a5:l:8)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,d2:w:1)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,d2:w:2)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,d2:w:4)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,d2:w:8)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,d2:l:1)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,d2:l:2)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,d2:l:4)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,d2:l:8)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,a5:w:1)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,a5:w:2)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,a5:w:4)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,a5:w:8)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,a5:l:1)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,a5:l:2)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,a5:l:4)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234:w,a5:l:8)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:1)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:2)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:4)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,d2:w:8)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:1)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:2)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:4)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,d2:l:8)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:1)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:2)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:4)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,a5:w:8)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,a5:l:1)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,a5:l:2)@(0xfeedface:l)", MIPRE }, { "a3@(0x1234abcd:l,a5:l:4)@(0xfeedface:l)", MIPRE }, #endif ALL_OPERANDS { "a3@(0x1234abcd:l,a5:l:8)@(0xfeedface:l)", MIPRE }, #ifdef ALL_OPERANDS { "@(0)@(0xfeedface:l)", MIPRE }, { "@(0,d2:w:1)@(0xfeedface:l)", MIPRE }, { "@(0,d2:w:2)@(0xfeedface:l)", MIPRE }, { "@(0,d2:w:4)@(0xfeedface:l)", MIPRE }, { "@(0,d2:w:8)@(0xfeedface:l)", MIPRE }, { "@(0,d2:l:1)@(0xfeedface:l)", MIPRE }, { "@(0,d2:l:2)@(0xfeedface:l)", MIPRE }, { "@(0,d2:l:4)@(0xfeedface:l)", MIPRE }, { "@(0,d2:l:8)@(0xfeedface:l)", MIPRE }, { "@(0,a5:w:1)@(0xfeedface:l)", MIPRE }, { "@(0,a5:w:2)@(0xfeedface:l)", MIPRE }, { "@(0,a5:w:4)@(0xfeedface:l)", MIPRE }, { "@(0,a5:w:8)@(0xfeedface:l)", MIPRE }, { "@(0,a5:l:1)@(0xfeedface:l)", MIPRE }, { "@(0,a5:l:2)@(0xfeedface:l)", MIPRE }, { "@(0,a5:l:4)@(0xfeedface:l)", MIPRE }, { "@(0,a5:l:8)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,d2:w:1)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,d2:w:2)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,d2:w:4)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,d2:w:8)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,d2:l:1)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,d2:l:2)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,d2:l:4)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,d2:l:8)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,a5:w:1)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,a5:w:2)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,a5:w:4)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,a5:w:8)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,a5:l:1)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,a5:l:2)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,a5:l:4)@(0xfeedface:l)", MIPRE }, { "@(0x1234:w,a5:l:8)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,d2:w:1)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,d2:w:2)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,d2:w:4)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,d2:w:8)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,d2:l:1)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,d2:l:2)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,d2:l:4)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,d2:l:8)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,a5:w:1)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,a5:w:2)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,a5:w:4)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,a5:w:8)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,a5:l:1)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,a5:l:2)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,a5:l:4)@(0xfeedface:l)", MIPRE }, { "@(0x1234abcd:l,a5:l:8)@(0xfeedface:l)", MIPRE }, #endif ALL_OPERANDS /* An@(bd)@(od,Xn) "Memory Indirect with Postindexed" ([bd,An],Xn,od) uses Full Format Extension Word(s) */ #ifdef ALL_OPERANDS { "a3@(0)@(0)", MIPOST }, { "a3@(0)@(0,d2:w:1)", MIPOST }, { "a3@(0)@(0,d2:w:2)", MIPOST }, { "a3@(0)@(0,d2:w:4)", MIPOST }, { "a3@(0)@(0,d2:w:8)", MIPOST }, { "a3@(0)@(0,d2:l:1)", MIPOST }, { "a3@(0)@(0,d2:l:2)", MIPOST }, { "a3@(0)@(0,d2:l:4)", MIPOST }, { "a3@(0)@(0,d2:l:8)", MIPOST }, { "a3@(0)@(0,a5:w:1)", MIPOST }, { "a3@(0)@(0,a5:w:2)", MIPOST }, { "a3@(0)@(0,a5:w:4)", MIPOST }, { "a3@(0)@(0,a5:w:8)", MIPOST }, { "a3@(0)@(0,a5:l:1)", MIPOST }, { "a3@(0)@(0,a5:l:2)", MIPOST }, { "a3@(0)@(0,a5:l:4)", MIPOST }, { "a3@(0)@(0,a5:l:8)", MIPOST }, { "a3@(0x1234:w)@(0,d2:w:1)", MIPOST }, { "a3@(0x1234:w)@(0,d2:w:2)", MIPOST }, { "a3@(0x1234:w)@(0,d2:w:4)", MIPOST }, { "a3@(0x1234:w)@(0,d2:w:8)", MIPOST }, { "a3@(0x1234:w)@(0,d2:l:1)", MIPOST }, { "a3@(0x1234:w)@(0,d2:l:2)", MIPOST }, { "a3@(0x1234:w)@(0,d2:l:4)", MIPOST }, { "a3@(0x1234:w)@(0,d2:l:8)", MIPOST }, { "a3@(0x1234:w)@(0,a5:w:1)", MIPOST }, { "a3@(0x1234:w)@(0,a5:w:2)", MIPOST }, { "a3@(0x1234:w)@(0,a5:w:4)", MIPOST }, { "a3@(0x1234:w)@(0,a5:w:8)", MIPOST }, { "a3@(0x1234:w)@(0,a5:l:1)", MIPOST }, { "a3@(0x1234:w)@(0,a5:l:2)", MIPOST }, { "a3@(0x1234:w)@(0,a5:l:4)", MIPOST }, { "a3@(0x1234:w)@(0,a5:l:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0,d2:w:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0,d2:w:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0,d2:w:4)", MIPOST }, { "a3@(0x1234abcd:l)@(0,d2:w:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0,d2:l:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0,d2:l:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0,d2:l:4)", MIPOST }, { "a3@(0x1234abcd:l)@(0,d2:l:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0,a5:w:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0,a5:w:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0,a5:w:4)", MIPOST }, { "a3@(0x1234abcd:l)@(0,a5:w:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0,a5:l:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0,a5:l:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0,a5:l:4)", MIPOST }, { "a3@(0x1234abcd:l)@(0,a5:l:8)", MIPOST }, { "@(0)@(0)", MIPOST }, { "@(0)@(0,d2:w:1)", MIPOST }, { "@(0)@(0,d2:w:2)", MIPOST }, { "@(0)@(0,d2:w:4)", MIPOST }, { "@(0)@(0,d2:w:8)", MIPOST }, { "@(0)@(0,d2:l:1)", MIPOST }, { "@(0)@(0,d2:l:2)", MIPOST }, { "@(0)@(0,d2:l:4)", MIPOST }, { "@(0)@(0,d2:l:8)", MIPOST }, { "@(0)@(0,a5:w:1)", MIPOST }, { "@(0)@(0,a5:w:2)", MIPOST }, { "@(0)@(0,a5:w:4)", MIPOST }, { "@(0)@(0,a5:w:8)", MIPOST }, { "@(0)@(0,a5:l:1)", MIPOST }, { "@(0)@(0,a5:l:2)", MIPOST }, { "@(0)@(0,a5:l:4)", MIPOST }, { "@(0)@(0,a5:l:8)", MIPOST }, { "@(0x1234:w)@(0,d2:w:1)", MIPOST }, { "@(0x1234:w)@(0,d2:w:2)", MIPOST }, { "@(0x1234:w)@(0,d2:w:4)", MIPOST }, { "@(0x1234:w)@(0,d2:w:8)", MIPOST }, { "@(0x1234:w)@(0,d2:l:1)", MIPOST }, { "@(0x1234:w)@(0,d2:l:2)", MIPOST }, { "@(0x1234:w)@(0,d2:l:4)", MIPOST }, { "@(0x1234:w)@(0,d2:l:8)", MIPOST }, { "@(0x1234:w)@(0,a5:w:1)", MIPOST }, { "@(0x1234:w)@(0,a5:w:2)", MIPOST }, { "@(0x1234:w)@(0,a5:w:4)", MIPOST }, { "@(0x1234:w)@(0,a5:w:8)", MIPOST }, { "@(0x1234:w)@(0,a5:l:1)", MIPOST }, { "@(0x1234:w)@(0,a5:l:2)", MIPOST }, { "@(0x1234:w)@(0,a5:l:4)", MIPOST }, { "@(0x1234:w)@(0,a5:l:8)", MIPOST }, { "@(0x1234abcd:l)@(0,d2:w:1)", MIPOST }, { "@(0x1234abcd:l)@(0,d2:w:2)", MIPOST }, { "@(0x1234abcd:l)@(0,d2:w:4)", MIPOST }, { "@(0x1234abcd:l)@(0,d2:w:8)", MIPOST }, { "@(0x1234abcd:l)@(0,d2:l:1)", MIPOST }, { "@(0x1234abcd:l)@(0,d2:l:2)", MIPOST }, { "@(0x1234abcd:l)@(0,d2:l:4)", MIPOST }, { "@(0x1234abcd:l)@(0,d2:l:8)", MIPOST }, { "@(0x1234abcd:l)@(0,a5:w:1)", MIPOST }, { "@(0x1234abcd:l)@(0,a5:w:2)", MIPOST }, { "@(0x1234abcd:l)@(0,a5:w:4)", MIPOST }, { "@(0x1234abcd:l)@(0,a5:w:8)", MIPOST }, { "@(0x1234abcd:l)@(0,a5:l:1)", MIPOST }, { "@(0x1234abcd:l)@(0,a5:l:2)", MIPOST }, { "@(0x1234abcd:l)@(0,a5:l:4)", MIPOST }, { "@(0x1234abcd:l)@(0,a5:l:8)", MIPOST }, { "a3@(0)@(0xfeed:w)", MIPOST }, { "a3@(0)@(0xfeed:w,d2:w:1)", MIPOST }, { "a3@(0)@(0xfeed:w,d2:w:2)", MIPOST }, { "a3@(0)@(0xfeed:w,d2:w:4)", MIPOST }, { "a3@(0)@(0xfeed:w,d2:w:8)", MIPOST }, { "a3@(0)@(0xfeed:w,d2:l:1)", MIPOST }, { "a3@(0)@(0xfeed:w,d2:l:2)", MIPOST }, { "a3@(0)@(0xfeed:w,d2:l:4)", MIPOST }, { "a3@(0)@(0xfeed:w,d2:l:8)", MIPOST }, { "a3@(0)@(0xfeed:w,a5:w:1)", MIPOST }, { "a3@(0)@(0xfeed:w,a5:w:2)", MIPOST }, { "a3@(0)@(0xfeed:w,a5:w:4)", MIPOST }, { "a3@(0)@(0xfeed:w,a5:w:8)", MIPOST }, { "a3@(0)@(0xfeed:w,a5:l:1)", MIPOST }, { "a3@(0)@(0xfeed:w,a5:l:2)", MIPOST }, { "a3@(0)@(0xfeed:w,a5:l:4)", MIPOST }, { "a3@(0)@(0xfeed:w,a5:l:8)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,d2:w:1)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,d2:w:2)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,d2:w:4)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,d2:w:8)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,d2:l:1)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,d2:l:2)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,d2:l:4)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,d2:l:8)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,a5:w:1)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,a5:w:2)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,a5:w:4)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,a5:w:8)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,a5:l:1)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,a5:l:2)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,a5:l:4)", MIPOST }, { "a3@(0x1234:w)@(0xfeed:w,a5:l:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,d2:w:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,d2:w:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,d2:w:4)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,d2:w:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,d2:l:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,d2:l:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,d2:l:4)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,d2:l:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,a5:w:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,a5:w:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,a5:w:4)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,a5:w:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,a5:l:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,a5:l:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,a5:l:4)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeed:w,a5:l:8)", MIPOST }, { "@(0)@(0xfeed:w)", MIPOST }, { "@(0)@(0xfeed:w,d2:w:1)", MIPOST }, { "@(0)@(0xfeed:w,d2:w:2)", MIPOST }, { "@(0)@(0xfeed:w,d2:w:4)", MIPOST }, { "@(0)@(0xfeed:w,d2:w:8)", MIPOST }, { "@(0)@(0xfeed:w,d2:l:1)", MIPOST }, { "@(0)@(0xfeed:w,d2:l:2)", MIPOST }, { "@(0)@(0xfeed:w,d2:l:4)", MIPOST }, { "@(0)@(0xfeed:w,d2:l:8)", MIPOST }, { "@(0)@(0xfeed:w,a5:w:1)", MIPOST }, { "@(0)@(0xfeed:w,a5:w:2)", MIPOST }, { "@(0)@(0xfeed:w,a5:w:4)", MIPOST }, { "@(0)@(0xfeed:w,a5:w:8)", MIPOST }, { "@(0)@(0xfeed:w,a5:l:1)", MIPOST }, { "@(0)@(0xfeed:w,a5:l:2)", MIPOST }, { "@(0)@(0xfeed:w,a5:l:4)", MIPOST }, { "@(0)@(0xfeed:w,a5:l:8)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,d2:w:1)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,d2:w:2)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,d2:w:4)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,d2:w:8)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,d2:l:1)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,d2:l:2)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,d2:l:4)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,d2:l:8)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,a5:w:1)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,a5:w:2)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,a5:w:4)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,a5:w:8)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,a5:l:1)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,a5:l:2)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,a5:l:4)", MIPOST }, { "@(0x1234:w)@(0xfeed:w,a5:l:8)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,d2:w:1)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,d2:w:2)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,d2:w:4)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,d2:w:8)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,d2:l:1)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,d2:l:2)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,d2:l:4)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,d2:l:8)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,a5:w:1)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,a5:w:2)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,a5:w:4)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,a5:w:8)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,a5:l:1)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,a5:l:2)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,a5:l:4)", MIPOST }, { "@(0x1234abcd:l)@(0xfeed:w,a5:l:8)", MIPOST }, { "a3@(0)@(0xfeedface:l)", MIPOST }, { "a3@(0)@(0xfeedface:l,d2:w:1)", MIPOST }, { "a3@(0)@(0xfeedface:l,d2:w:2)", MIPOST }, { "a3@(0)@(0xfeedface:l,d2:w:4)", MIPOST }, { "a3@(0)@(0xfeedface:l,d2:w:8)", MIPOST }, { "a3@(0)@(0xfeedface:l,d2:l:1)", MIPOST }, { "a3@(0)@(0xfeedface:l,d2:l:2)", MIPOST }, { "a3@(0)@(0xfeedface:l,d2:l:4)", MIPOST }, { "a3@(0)@(0xfeedface:l,d2:l:8)", MIPOST }, { "a3@(0)@(0xfeedface:l,a5:w:1)", MIPOST }, { "a3@(0)@(0xfeedface:l,a5:w:2)", MIPOST }, { "a3@(0)@(0xfeedface:l,a5:w:4)", MIPOST }, { "a3@(0)@(0xfeedface:l,a5:w:8)", MIPOST }, { "a3@(0)@(0xfeedface:l,a5:l:1)", MIPOST }, { "a3@(0)@(0xfeedface:l,a5:l:2)", MIPOST }, { "a3@(0)@(0xfeedface:l,a5:l:4)", MIPOST }, { "a3@(0)@(0xfeedface:l,a5:l:8)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,d2:w:1)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,d2:w:2)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,d2:w:4)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,d2:w:8)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,d2:l:1)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,d2:l:2)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,d2:l:4)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,d2:l:8)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,a5:w:1)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,a5:w:2)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,a5:w:4)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,a5:w:8)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,a5:l:1)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,a5:l:2)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,a5:l:4)", MIPOST }, { "a3@(0x1234:w)@(0xfeedface:l,a5:l:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,d2:w:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,d2:w:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,d2:w:4)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,d2:w:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,d2:l:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,d2:l:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,d2:l:4)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,d2:l:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,a5:w:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,a5:w:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,a5:w:4)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,a5:w:8)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,a5:l:1)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,a5:l:2)", MIPOST }, { "a3@(0x1234abcd:l)@(0xfeedface:l,a5:l:4)", MIPOST }, #endif ALL_OPERANDS { "a3@(0x1234abcd:l)@(0xfeedface:l,a5:l:8)", MIPOST }, #ifdef ALL_OPERANDS { "@(0)@(0xfeedface:l)", MIPOST }, { "@(0)@(0xfeedface:l,d2:w:1)", MIPOST }, { "@(0)@(0xfeedface:l,d2:w:2)", MIPOST }, { "@(0)@(0xfeedface:l,d2:w:4)", MIPOST }, { "@(0)@(0xfeedface:l,d2:w:8)", MIPOST }, { "@(0)@(0xfeedface:l,d2:l:1)", MIPOST }, { "@(0)@(0xfeedface:l,d2:l:2)", MIPOST }, { "@(0)@(0xfeedface:l,d2:l:4)", MIPOST }, { "@(0)@(0xfeedface:l,d2:l:8)", MIPOST }, { "@(0)@(0xfeedface:l,a5:w:1)", MIPOST }, { "@(0)@(0xfeedface:l,a5:w:2)", MIPOST }, { "@(0)@(0xfeedface:l,a5:w:4)", MIPOST }, { "@(0)@(0xfeedface:l,a5:w:8)", MIPOST }, { "@(0)@(0xfeedface:l,a5:l:1)", MIPOST }, { "@(0)@(0xfeedface:l,a5:l:2)", MIPOST }, { "@(0)@(0xfeedface:l,a5:l:4)", MIPOST }, { "@(0)@(0xfeedface:l,a5:l:8)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,d2:w:1)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,d2:w:2)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,d2:w:4)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,d2:w:8)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,d2:l:1)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,d2:l:2)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,d2:l:4)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,d2:l:8)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,a5:w:1)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,a5:w:2)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,a5:w:4)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,a5:w:8)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,a5:l:1)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,a5:l:2)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,a5:l:4)", MIPOST }, { "@(0x1234:w)@(0xfeedface:l,a5:l:8)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,d2:w:1)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,d2:w:2)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,d2:w:4)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,d2:w:8)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,d2:l:1)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,d2:l:2)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,d2:l:4)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,d2:l:8)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,a5:w:1)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,a5:w:2)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,a5:w:4)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,a5:w:8)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,a5:l:1)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,a5:l:2)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,a5:l:4)", MIPOST }, { "@(0x1234abcd:l)@(0xfeedface:l,a5:l:8)", MIPOST }, #endif ALL_OPERANDS /* xxx:w "Absolute Short" (xxx).W */ { "0x1bad:w", ABSW }, /* xxx:l "Absolute Long" (xxx).L */ { "0xbad1add2:l", ABSL }, /* #data "Immediate" # */ { "#0x3", IMMED }, /* pc@(d16) "Program Counter Indirect with Displacement" (d16,PC) { "pc@(0x1234)", PCd16 }, /* pc@(d8,Xn) "Program Counter Indirect with Index (8-Bit Displacement)" uses Brief Format Extension Word (d8,PC,Xn) */ #ifdef ALL_OPERANDS { "pc@(0x12:b,d2:w:1)", PCd8Xn }, { "pc@(0x12:b,d2:w:2)", PCd8Xn }, { "pc@(0x12:b,d2:w:4)", PCd8Xn }, { "pc@(0x12:b,d2:w:8)", PCd8Xn }, { "pc@(0x12:b,d2:l:1)", PCd8Xn }, { "pc@(0x12:b,d2:l:2)", PCd8Xn }, { "pc@(0x12:b,d2:l:4)", PCd8Xn }, { "pc@(0x12:b,d2:l:8)", PCd8Xn }, { "pc@(0x12:b,a5:w:1)", PCd8Xn }, { "pc@(0x12:b,a5:w:2)", PCd8Xn }, { "pc@(0x12:b,a5:w:4)", PCd8Xn }, { "pc@(0x12:b,a5:w:8)", PCd8Xn }, { "pc@(0x12:b,a5:l:1)", PCd8Xn }, { "pc@(0x12:b,a5:l:2)", PCd8Xn }, { "pc@(0x12:b,a5:l:4)", PCd8Xn }, #endif ALL_OPERANDS { "pc@(0x12:b,a5:l:8)", PCd8Xn }, /* pc@(bd,Xn) "Program Counter Indirect with Index (Base Displacement)" uses Full Format Extension Word(s) (bd,PC,Xn) */ #ifdef ALL_OPERANDS /* the form of pc@(bd,Xn) with bd (base displacement) encoded as a null displacement will not be generated by the assembler because it will use the form pc(d8,Xn). { "pc@(0)", PCbdXn }, { "pc@(0,d2:w:1)", PCbdXn }, { "pc@(0,d2:w:2)", PCbdXn }, { "pc@(0,d2:w:4)", PCbdXn }, { "pc@(0,d2:w:8)", PCbdXn }, { "pc@(0,d2:l:1)", PCbdXn }, { "pc@(0,d2:l:2)", PCbdXn }, { "pc@(0,d2:l:4)", PCbdXn }, { "pc@(0,d2:l:8)", PCbdXn }, { "pc@(0,a5:w:1)", PCbdXn }, { "pc@(0,a5:w:2)", PCbdXn }, { "pc@(0,a5:w:4)", PCbdXn }, { "pc@(0,a5:w:8)", PCbdXn }, { "pc@(0,a5:l:1)", PCbdXn }, { "pc@(0,a5:l:2)", PCbdXn }, { "pc@(0,a5:l:4)", PCbdXn }, { "pc@(0,a5:l:8)", PCbdXn }, */ { "pc@(0x1234:w,d2:w:1)", PCbdXn }, { "pc@(0x1234:w,d2:w:2)", PCbdXn }, { "pc@(0x1234:w,d2:w:4)", PCbdXn }, { "pc@(0x1234:w,d2:w:8)", PCbdXn }, { "pc@(0x1234:w,d2:l:1)", PCbdXn }, { "pc@(0x1234:w,d2:l:2)", PCbdXn }, { "pc@(0x1234:w,d2:l:4)", PCbdXn }, { "pc@(0x1234:w,d2:l:8)", PCbdXn }, { "pc@(0x1234:w,a5:w:1)", PCbdXn }, { "pc@(0x1234:w,a5:w:2)", PCbdXn }, { "pc@(0x1234:w,a5:w:4)", PCbdXn }, { "pc@(0x1234:w,a5:w:8)", PCbdXn }, { "pc@(0x1234:w,a5:l:1)", PCbdXn }, { "pc@(0x1234:w,a5:l:2)", PCbdXn }, { "pc@(0x1234:w,a5:l:4)", PCbdXn }, { "pc@(0x1234:w,a5:l:8)", PCbdXn }, { "pc@(0x1234abcd:l,d2:w:1)", PCbdXn }, { "pc@(0x1234abcd:l,d2:w:2)", PCbdXn }, { "pc@(0x1234abcd:l,d2:w:4)", PCbdXn }, { "pc@(0x1234abcd:l,d2:w:8)", PCbdXn }, { "pc@(0x1234abcd:l,d2:l:1)", PCbdXn }, { "pc@(0x1234abcd:l,d2:l:2)", PCbdXn }, { "pc@(0x1234abcd:l,d2:l:4)", PCbdXn }, { "pc@(0x1234abcd:l,d2:l:8)", PCbdXn }, { "pc@(0x1234abcd:l,a5:w:1)", PCbdXn }, { "pc@(0x1234abcd:l,a5:w:2)", PCbdXn }, { "pc@(0x1234abcd:l,a5:w:4)", PCbdXn }, { "pc@(0x1234abcd:l,a5:w:8)", PCbdXn }, { "pc@(0x1234abcd:l,a5:l:1)", PCbdXn }, { "pc@(0x1234abcd:l,a5:l:2)", PCbdXn }, { "pc@(0x1234abcd:l,a5:l:4)", PCbdXn }, #endif ALL_OPERANDS { "pc@(0x1234abcd:l,a5:l:8)", PCbdXn }, #ifdef ALL_OPERANDS { "zpc@(0)", PCbdXn }, { "zpc@(0,d2:w:1)", PCbdXn }, { "zpc@(0,d2:w:2)", PCbdXn }, { "zpc@(0,d2:w:4)", PCbdXn }, { "zpc@(0,d2:w:8)", PCbdXn }, { "zpc@(0,d2:l:1)", PCbdXn }, { "zpc@(0,d2:l:2)", PCbdXn }, { "zpc@(0,d2:l:4)", PCbdXn }, { "zpc@(0,d2:l:8)", PCbdXn }, { "zpc@(0,a5:w:1)", PCbdXn }, { "zpc@(0,a5:w:2)", PCbdXn }, { "zpc@(0,a5:w:4)", PCbdXn }, { "zpc@(0,a5:w:8)", PCbdXn }, { "zpc@(0,a5:l:1)", PCbdXn }, { "zpc@(0,a5:l:2)", PCbdXn }, { "zpc@(0,a5:l:4)", PCbdXn }, { "zpc@(0,a5:l:8)", PCbdXn }, { "zpc@(0x1234:w,d2:w:1)", PCbdXn }, { "zpc@(0x1234:w,d2:w:2)", PCbdXn }, { "zpc@(0x1234:w,d2:w:4)", PCbdXn }, { "zpc@(0x1234:w,d2:w:8)", PCbdXn }, { "zpc@(0x1234:w,d2:l:1)", PCbdXn }, { "zpc@(0x1234:w,d2:l:2)", PCbdXn }, { "zpc@(0x1234:w,d2:l:4)", PCbdXn }, { "zpc@(0x1234:w,d2:l:8)", PCbdXn }, { "zpc@(0x1234:w,a5:w:1)", PCbdXn }, { "zpc@(0x1234:w,a5:w:2)", PCbdXn }, { "zpc@(0x1234:w,a5:w:4)", PCbdXn }, { "zpc@(0x1234:w,a5:w:8)", PCbdXn }, { "zpc@(0x1234:w,a5:l:1)", PCbdXn }, { "zpc@(0x1234:w,a5:l:2)", PCbdXn }, { "zpc@(0x1234:w,a5:l:4)", PCbdXn }, { "zpc@(0x1234:w,a5:l:8)", PCbdXn }, { "zpc@(0x1234abcd:l,d2:w:1)", PCbdXn }, { "zpc@(0x1234abcd:l,d2:w:2)", PCbdXn }, { "zpc@(0x1234abcd:l,d2:w:4)", PCbdXn }, { "zpc@(0x1234abcd:l,d2:w:8)", PCbdXn }, { "zpc@(0x1234abcd:l,d2:l:1)", PCbdXn }, { "zpc@(0x1234abcd:l,d2:l:2)", PCbdXn }, { "zpc@(0x1234abcd:l,d2:l:4)", PCbdXn }, { "zpc@(0x1234abcd:l,d2:l:8)", PCbdXn }, { "zpc@(0x1234abcd:l,a5:w:1)", PCbdXn }, { "zpc@(0x1234abcd:l,a5:w:2)", PCbdXn }, { "zpc@(0x1234abcd:l,a5:w:4)", PCbdXn }, { "zpc@(0x1234abcd:l,a5:w:8)", PCbdXn }, { "zpc@(0x1234abcd:l,a5:l:1)", PCbdXn }, { "zpc@(0x1234abcd:l,a5:l:2)", PCbdXn }, { "zpc@(0x1234abcd:l,a5:l:4)", PCbdXn }, #endif ALL_OPERANDS { "zpc@(0x1234abcd:l,a5:l:8)", PCbdXn }, /* pc@(bd,Xn)@(od) "Program Counter Memory Indirect with Preindexed" uses Full Format Extension Word(s) ([bd,PC,Xn],od) */ #ifdef ALL_OPERANDS { "pc@(0)@(0)", PCMIPRE }, { "pc@(0,d2:w:1)@(0)", PCMIPRE }, { "pc@(0,d2:w:2)@(0)", PCMIPRE }, { "pc@(0,d2:w:4)@(0)", PCMIPRE }, { "pc@(0,d2:w:8)@(0)", PCMIPRE }, { "pc@(0,d2:l:1)@(0)", PCMIPRE }, { "pc@(0,d2:l:2)@(0)", PCMIPRE }, { "pc@(0,d2:l:4)@(0)", PCMIPRE }, { "pc@(0,d2:l:8)@(0)", PCMIPRE }, { "pc@(0,a5:w:1)@(0)", PCMIPRE }, { "pc@(0,a5:w:2)@(0)", PCMIPRE }, { "pc@(0,a5:w:4)@(0)", PCMIPRE }, { "pc@(0,a5:w:8)@(0)", PCMIPRE }, { "pc@(0,a5:l:1)@(0)", PCMIPRE }, { "pc@(0,a5:l:2)@(0)", PCMIPRE }, { "pc@(0,a5:l:4)@(0)", PCMIPRE }, { "pc@(0,a5:l:8)@(0)", PCMIPRE }, { "pc@(0x1234:w,d2:w:1)@(0)", PCMIPRE }, { "pc@(0x1234:w,d2:w:2)@(0)", PCMIPRE }, { "pc@(0x1234:w,d2:w:4)@(0)", PCMIPRE }, { "pc@(0x1234:w,d2:w:8)@(0)", PCMIPRE }, { "pc@(0x1234:w,d2:l:1)@(0)", PCMIPRE }, { "pc@(0x1234:w,d2:l:2)@(0)", PCMIPRE }, { "pc@(0x1234:w,d2:l:4)@(0)", PCMIPRE }, { "pc@(0x1234:w,d2:l:8)@(0)", PCMIPRE }, { "pc@(0x1234:w,a5:w:1)@(0)", PCMIPRE }, { "pc@(0x1234:w,a5:w:2)@(0)", PCMIPRE }, { "pc@(0x1234:w,a5:w:4)@(0)", PCMIPRE }, { "pc@(0x1234:w,a5:w:8)@(0)", PCMIPRE }, { "pc@(0x1234:w,a5:l:1)@(0)", PCMIPRE }, { "pc@(0x1234:w,a5:l:2)@(0)", PCMIPRE }, { "pc@(0x1234:w,a5:l:4)@(0)", PCMIPRE }, { "pc@(0x1234:w,a5:l:8)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:1)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:2)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:4)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:8)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:1)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:2)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:4)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:8)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:1)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:2)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:4)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:8)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:l:1)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:l:2)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:l:4)@(0)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:l:8)@(0)", PCMIPRE }, { "zpc@(0)@(0)", PCMIPRE }, { "zpc@(0,d2:w:1)@(0)", PCMIPRE }, { "zpc@(0,d2:w:2)@(0)", PCMIPRE }, { "zpc@(0,d2:w:4)@(0)", PCMIPRE }, { "zpc@(0,d2:w:8)@(0)", PCMIPRE }, { "zpc@(0,d2:l:1)@(0)", PCMIPRE }, { "zpc@(0,d2:l:2)@(0)", PCMIPRE }, { "zpc@(0,d2:l:4)@(0)", PCMIPRE }, { "zpc@(0,d2:l:8)@(0)", PCMIPRE }, { "zpc@(0,a5:w:1)@(0)", PCMIPRE }, { "zpc@(0,a5:w:2)@(0)", PCMIPRE }, { "zpc@(0,a5:w:4)@(0)", PCMIPRE }, { "zpc@(0,a5:w:8)@(0)", PCMIPRE }, { "zpc@(0,a5:l:1)@(0)", PCMIPRE }, { "zpc@(0,a5:l:2)@(0)", PCMIPRE }, { "zpc@(0,a5:l:4)@(0)", PCMIPRE }, { "zpc@(0,a5:l:8)@(0)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:1)@(0)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:2)@(0)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:4)@(0)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:8)@(0)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:1)@(0)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:2)@(0)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:4)@(0)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:8)@(0)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:1)@(0)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:2)@(0)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:4)@(0)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:8)@(0)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:1)@(0)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:2)@(0)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:4)@(0)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:8)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:1)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:2)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:4)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:8)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:1)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:2)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:4)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:8)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:1)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:2)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:4)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:8)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:l:1)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:l:2)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:l:4)@(0)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:l:8)@(0)", PCMIPRE }, { "pc@(0)@(0xfeed:w)", PCMIPRE }, { "pc@(0,d2:w:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0,d2:w:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0,d2:w:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0,d2:w:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0,d2:l:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0,d2:l:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0,d2:l:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0,d2:l:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0,a5:w:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0,a5:w:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0,a5:w:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0,a5:w:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0,a5:l:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0,a5:l:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0,a5:l:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0,a5:l:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,d2:w:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,d2:w:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,d2:w:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,d2:w:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,d2:l:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,d2:l:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,d2:l:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,d2:l:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,a5:w:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,a5:w:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,a5:w:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,a5:w:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,a5:l:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,a5:l:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,a5:l:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234:w,a5:l:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:l:1)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:l:2)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:l:4)@(0xfeed:w)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:l:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,d2:w:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,d2:w:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,d2:w:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,d2:w:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,d2:l:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,d2:l:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,d2:l:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,d2:l:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,a5:w:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,a5:w:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,a5:w:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,a5:w:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,a5:l:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,a5:l:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,a5:l:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0,a5:l:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:8)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:l:1)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:l:2)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:l:4)@(0xfeed:w)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:l:8)@(0xfeed:w)", PCMIPRE }, { "pc@(0)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,d2:w:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,d2:w:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,d2:w:4)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,d2:w:8)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,d2:l:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,d2:l:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,d2:l:4)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,d2:l:8)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,a5:w:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,a5:w:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,a5:w:4)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,a5:w:8)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,a5:l:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,a5:l:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,a5:l:4)@(0xfeedface:l)", PCMIPRE }, { "pc@(0,a5:l:8)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,d2:w:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,d2:w:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,d2:w:4)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,d2:w:8)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,d2:l:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,d2:l:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,d2:l:4)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,d2:l:8)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,a5:w:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,a5:w:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,a5:w:4)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,a5:w:8)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,a5:l:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,a5:l:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,a5:l:4)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234:w,a5:l:8)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:4)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:w:8)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:4)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,d2:l:8)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:4)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:w:8)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:l:1)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:l:2)@(0xfeedface:l)", PCMIPRE }, { "pc@(0x1234abcd:l,a5:l:4)@(0xfeedface:l)", PCMIPRE }, #endif ALL_OPERANDS { "pc@(0x1234abcd:l,a5:l:8)@(0xfeedface:l)", PCMIPRE }, #ifdef ALL_OPERANDS { "zpc@(0)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,d2:w:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,d2:w:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,d2:w:4)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,d2:w:8)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,d2:l:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,d2:l:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,d2:l:4)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,d2:l:8)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,a5:w:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,a5:w:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,a5:w:4)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,a5:w:8)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,a5:l:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,a5:l:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,a5:l:4)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0,a5:l:8)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:4)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,d2:w:8)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:4)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,d2:l:8)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:4)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,a5:w:8)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:4)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234:w,a5:l:8)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:4)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:w:8)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:4)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,d2:l:8)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:4)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:w:8)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:l:1)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:l:2)@(0xfeedface:l)", PCMIPRE }, { "zpc@(0x1234abcd:l,a5:l:4)@(0xfeedface:l)", PCMIPRE }, #endif ALL_OPERANDS { "zpc@(0x1234abcd:l,a5:l:8)@(0xfeedface:l)", PCMIPRE }, /* pc@(bd)@(od,Xn) "Program Counter Memory Indirect with Postindexed" uses Full Format Extension Word(s) ([bd,PC],Xn,od) */ #ifdef ALL_OPERANDS { "pc@(0)@(0)", PCMIPOST }, { "pc@(0)@(0,d2:w:1)", PCMIPOST }, { "pc@(0)@(0,d2:w:2)", PCMIPOST }, { "pc@(0)@(0,d2:w:4)", PCMIPOST }, { "pc@(0)@(0,d2:w:8)", PCMIPOST }, { "pc@(0)@(0,d2:l:1)", PCMIPOST }, { "pc@(0)@(0,d2:l:2)", PCMIPOST }, { "pc@(0)@(0,d2:l:4)", PCMIPOST }, { "pc@(0)@(0,d2:l:8)", PCMIPOST }, { "pc@(0)@(0,a5:w:1)", PCMIPOST }, { "pc@(0)@(0,a5:w:2)", PCMIPOST }, { "pc@(0)@(0,a5:w:4)", PCMIPOST }, { "pc@(0)@(0,a5:w:8)", PCMIPOST }, { "pc@(0)@(0,a5:l:1)", PCMIPOST }, { "pc@(0)@(0,a5:l:2)", PCMIPOST }, { "pc@(0)@(0,a5:l:4)", PCMIPOST }, { "pc@(0)@(0,a5:l:8)", PCMIPOST }, { "pc@(0x1234:w)@(0,d2:w:1)", PCMIPOST }, { "pc@(0x1234:w)@(0,d2:w:2)", PCMIPOST }, { "pc@(0x1234:w)@(0,d2:w:4)", PCMIPOST }, { "pc@(0x1234:w)@(0,d2:w:8)", PCMIPOST }, { "pc@(0x1234:w)@(0,d2:l:1)", PCMIPOST }, { "pc@(0x1234:w)@(0,d2:l:2)", PCMIPOST }, { "pc@(0x1234:w)@(0,d2:l:4)", PCMIPOST }, { "pc@(0x1234:w)@(0,d2:l:8)", PCMIPOST }, { "pc@(0x1234:w)@(0,a5:w:1)", PCMIPOST }, { "pc@(0x1234:w)@(0,a5:w:2)", PCMIPOST }, { "pc@(0x1234:w)@(0,a5:w:4)", PCMIPOST }, { "pc@(0x1234:w)@(0,a5:w:8)", PCMIPOST }, { "pc@(0x1234:w)@(0,a5:l:1)", PCMIPOST }, { "pc@(0x1234:w)@(0,a5:l:2)", PCMIPOST }, { "pc@(0x1234:w)@(0,a5:l:4)", PCMIPOST }, { "pc@(0x1234:w)@(0,a5:l:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,d2:w:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,d2:w:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,d2:w:4)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,d2:w:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,d2:l:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,d2:l:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,d2:l:4)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,d2:l:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,a5:w:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,a5:w:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,a5:w:4)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,a5:w:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,a5:l:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,a5:l:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,a5:l:4)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0,a5:l:8)", PCMIPOST }, { "zpc@(0)@(0)", PCMIPOST }, { "zpc@(0)@(0,d2:w:1)", PCMIPOST }, { "zpc@(0)@(0,d2:w:2)", PCMIPOST }, { "zpc@(0)@(0,d2:w:4)", PCMIPOST }, { "zpc@(0)@(0,d2:w:8)", PCMIPOST }, { "zpc@(0)@(0,d2:l:1)", PCMIPOST }, { "zpc@(0)@(0,d2:l:2)", PCMIPOST }, { "zpc@(0)@(0,d2:l:4)", PCMIPOST }, { "zpc@(0)@(0,d2:l:8)", PCMIPOST }, { "zpc@(0)@(0,a5:w:1)", PCMIPOST }, { "zpc@(0)@(0,a5:w:2)", PCMIPOST }, { "zpc@(0)@(0,a5:w:4)", PCMIPOST }, { "zpc@(0)@(0,a5:w:8)", PCMIPOST }, { "zpc@(0)@(0,a5:l:1)", PCMIPOST }, { "zpc@(0)@(0,a5:l:2)", PCMIPOST }, { "zpc@(0)@(0,a5:l:4)", PCMIPOST }, { "zpc@(0)@(0,a5:l:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0,d2:w:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0,d2:w:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0,d2:w:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0,d2:w:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0,d2:l:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0,d2:l:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0,d2:l:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0,d2:l:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0,a5:w:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0,a5:w:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0,a5:w:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0,a5:w:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0,a5:l:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0,a5:l:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0,a5:l:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0,a5:l:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,d2:w:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,d2:w:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,d2:w:4)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,d2:w:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,d2:l:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,d2:l:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,d2:l:4)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,d2:l:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,a5:w:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,a5:w:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,a5:w:4)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,a5:w:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,a5:l:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,a5:l:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,a5:l:4)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0,a5:l:8)", PCMIPOST }, { "pc@(0)@(0xfeed:w)", PCMIPOST }, { "pc@(0)@(0xfeed:w,d2:w:1)", PCMIPOST }, { "pc@(0)@(0xfeed:w,d2:w:2)", PCMIPOST }, { "pc@(0)@(0xfeed:w,d2:w:4)", PCMIPOST }, { "pc@(0)@(0xfeed:w,d2:w:8)", PCMIPOST }, { "pc@(0)@(0xfeed:w,d2:l:1)", PCMIPOST }, { "pc@(0)@(0xfeed:w,d2:l:2)", PCMIPOST }, { "pc@(0)@(0xfeed:w,d2:l:4)", PCMIPOST }, { "pc@(0)@(0xfeed:w,d2:l:8)", PCMIPOST }, { "pc@(0)@(0xfeed:w,a5:w:1)", PCMIPOST }, { "pc@(0)@(0xfeed:w,a5:w:2)", PCMIPOST }, { "pc@(0)@(0xfeed:w,a5:w:4)", PCMIPOST }, { "pc@(0)@(0xfeed:w,a5:w:8)", PCMIPOST }, { "pc@(0)@(0xfeed:w,a5:l:1)", PCMIPOST }, { "pc@(0)@(0xfeed:w,a5:l:2)", PCMIPOST }, { "pc@(0)@(0xfeed:w,a5:l:4)", PCMIPOST }, { "pc@(0)@(0xfeed:w,a5:l:8)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,d2:w:1)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,d2:w:2)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,d2:w:4)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,d2:w:8)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,d2:l:1)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,d2:l:2)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,d2:l:4)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,d2:l:8)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,a5:w:1)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,a5:w:2)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,a5:w:4)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,a5:w:8)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,a5:l:1)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,a5:l:2)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,a5:l:4)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeed:w,a5:l:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,d2:w:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,d2:w:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,d2:w:4)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,d2:w:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,d2:l:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,d2:l:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,d2:l:4)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,d2:l:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,a5:w:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,a5:w:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,a5:w:4)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,a5:w:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,a5:l:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,a5:l:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,a5:l:4)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeed:w,a5:l:8)", PCMIPOST }, { "zpc@(0)@(0xfeed:w)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,d2:w:1)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,d2:w:2)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,d2:w:4)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,d2:w:8)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,d2:l:1)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,d2:l:2)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,d2:l:4)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,d2:l:8)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,a5:w:1)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,a5:w:2)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,a5:w:4)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,a5:w:8)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,a5:l:1)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,a5:l:2)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,a5:l:4)", PCMIPOST }, { "zpc@(0)@(0xfeed:w,a5:l:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,d2:w:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,d2:w:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,d2:w:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,d2:w:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,d2:l:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,d2:l:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,d2:l:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,d2:l:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,a5:w:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,a5:w:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,a5:w:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,a5:w:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,a5:l:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,a5:l:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,a5:l:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeed:w,a5:l:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,d2:w:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,d2:w:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,d2:w:4)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,d2:w:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,d2:l:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,d2:l:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,d2:l:4)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,d2:l:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,a5:w:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,a5:w:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,a5:w:4)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,a5:w:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,a5:l:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,a5:l:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,a5:l:4)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeed:w,a5:l:8)", PCMIPOST }, { "pc@(0)@(0xfeedface:l)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,d2:w:1)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,d2:w:2)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,d2:w:4)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,d2:w:8)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,d2:l:1)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,d2:l:2)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,d2:l:4)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,d2:l:8)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,a5:w:1)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,a5:w:2)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,a5:w:4)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,a5:w:8)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,a5:l:1)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,a5:l:2)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,a5:l:4)", PCMIPOST }, { "pc@(0)@(0xfeedface:l,a5:l:8)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,d2:w:1)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,d2:w:2)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,d2:w:4)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,d2:w:8)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,d2:l:1)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,d2:l:2)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,d2:l:4)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,d2:l:8)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,a5:w:1)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,a5:w:2)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,a5:w:4)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,a5:w:8)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,a5:l:1)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,a5:l:2)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,a5:l:4)", PCMIPOST }, { "pc@(0x1234:w)@(0xfeedface:l,a5:l:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,d2:w:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,d2:w:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,d2:w:4)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,d2:w:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,d2:l:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,d2:l:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,d2:l:4)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,d2:l:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,a5:w:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,a5:w:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,a5:w:4)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,a5:w:8)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,a5:l:1)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,a5:l:2)", PCMIPOST }, { "pc@(0x1234abcd:l)@(0xfeedface:l,a5:l:4)", PCMIPOST }, #endif ALL_OPERANDS { "pc@(0x1234abcd:l)@(0xfeedface:l,a5:l:8)", PCMIPOST }, #ifdef ALL_OPERANDS { "zpc@(0)@(0xfeedface:l)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,d2:w:1)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,d2:w:2)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,d2:w:4)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,d2:w:8)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,d2:l:1)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,d2:l:2)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,d2:l:4)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,d2:l:8)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,a5:w:1)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,a5:w:2)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,a5:w:4)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,a5:w:8)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,a5:l:1)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,a5:l:2)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,a5:l:4)", PCMIPOST }, { "zpc@(0)@(0xfeedface:l,a5:l:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,d2:w:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,d2:w:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,d2:w:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,d2:w:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,d2:l:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,d2:l:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,d2:l:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,d2:l:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,a5:w:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,a5:w:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,a5:w:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,a5:w:8)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,a5:l:1)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,a5:l:2)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,a5:l:4)", PCMIPOST }, { "zpc@(0x1234:w)@(0xfeedface:l,a5:l:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,d2:w:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,d2:w:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,d2:w:4)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,d2:w:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,d2:l:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,d2:l:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,d2:l:4)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,d2:l:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,a5:w:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,a5:w:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,a5:w:4)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,a5:w:8)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,a5:l:1)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,a5:l:2)", PCMIPOST }, { "zpc@(0x1234abcd:l)@(0xfeedface:l,a5:l:4)", PCMIPOST }, #endif ALL_OPERANDS { "zpc@(0x1234abcd:l)@(0xfeedface:l,a5:l:8)", PCMIPOST }, /* These are used by the movec instruction */ { "sfc", MOVEC_REG }, { "dfc", MOVEC_REG }, { "cacr", MOVEC_REG }, { "usp", MOVEC_REG }, { "vbr", MOVEC_REG }, { "caar", MOVEC_REG }, { "msp", MOVEC_REG }, { "isp", MOVEC_REG }, { "tc", MOVEC_REG }, { "itt0", MOVEC_REG }, { "itt1", MOVEC_REG }, { "dtt0", MOVEC_REG }, { "dtt1", MOVEC_REG }, { "mmusr", MOVEC_REG }, { "urp", MOVEC_REG }, { "srp", MOVEC_REG }, /* These are used by special case operand types */ { "special 1", SPECIAL_1 }, { "special 2", SPECIAL_2 }, { "special 3", SPECIAL_3 }, { 0, 0 } }; /* bs = An, PC, ZPC or nothing (not present) bdsize = null (0), word, long displacement Xn = An, Dn or nothing (not present) (followed by :scale = 1 (assumed), 2, 4, 8) IS = 0 (index register not suppressed, present) "bs@(bd:bdsize,Xn)", "No Memory Indirection" "bs@(bd:bdsize,Xn)@", "Indirect Preindexed with Null Displacement" "bs@(bd:bdsize,Xn)@(od:w)", "Indirect Preindexed with Word Displacement" "bs@(bd:bdsize,Xn)@(od:l)", "Indirect Preindexed with Long Displacement" "bs@(bd:bdsize)@(Xn)", "Indirect Postindexed with Null Displacement" "bs@(bd:bdsize)@(od:w,Xn)", "Indirect Postindexed with Word Displacement" "bs@(bd:bdsize)@(od:l,Xn)", "Indirect Postindexed with Long Displacement" IS = 1 (index register suppressed, not present) "bs@(bd:bdsize)", "No Memory Indirection" "bs@(bd:bdsize)@", "Memory Indirect with Null Displacement" "bs@(bd:bdsize)@(od:w)", "Memory Indirect with Word Displacement" "bs@(bd:bdsize)@(od:l)", "Memory Indirect with Long Displacement" */ #if 1 #include "m68k-opcode.h" #else struct m68k_opcode { char *name; unsigned long opcode; unsigned long match; char *args; char *cpus; }; #define one(x) ((x) << 16) struct m68k_opcode m68k_opcodes[] = { {"abcd", one(0140400), one(0170770), "DsDd"}, {"addal", one(0150700), one(0170700), "*lAd"}, }; int numopcodes=sizeof(m68k_opcodes)/sizeof(m68k_opcodes[0]); #endif long types[128]; /* initialized to zero */ static void print_op( struct operand *op, char *arg, char end_char); void main( int argc, char *argv[], char *envp[]) { struct m68k_opcode *opcode; char *args; struct operand *op1, *op2, *op3, *op4, *op5, *op6; /* Kinds of operands: */ /* D data register only. Stored as 3 bits. */ types['D'] = DREG; /* A address register only. Stored as 3 bits. */ types['A'] = AREG; /* R either kind of register. Stored as 4 bits. */ types['R'] = DREG | AREG; /* F floating point coprocessor register only. Stored as 3 bits. */ types['F'] = SPECIAL_1; /* O an offset (or width): immediate data 0-31 or data register. Stored as 6 bits in special format for BF... insns. */ types['O'] = SPECIAL_1 | DREG; /* + autoincrement only. Stored as 3 bits (number of the address register). */ types['+'] = AINC; /* - autodecrement only. Stored as 3 bits (number of the address register). */ types['-'] = ADEC; /* Q quick immediate data. Stored as 3 bits. This matches an immediate operand only when value is in range 1 .. 8. */ types['Q'] = SPECIAL_1; /* M moveq immediate data. Stored as 8 bits. This matches an immediate operand only when value is in range -128..127 */ types['M'] = SPECIAL_1; /* T trap vector immediate data. Stored as 4 bits. */ types['T'] = SPECIAL_1; /* k K-factor for fmove.p instruction. Stored as a 7-bit constant or a three bit register offset, depending on the field type. */ types['k'] = SPECIAL_1 | SPECIAL_2; /* # immediate data. Stored in special places (b, w or l) which say how many bits to store. */ types['#'] = SPECIAL_1; /* ^ immediate data for floating point instructions. Special places are offset by 2 bytes from '#'... */ types['^'] = SPECIAL_1; /* B pc-relative address, converted to an offset that is treated as immediate data. */ types['B'] = SPECIAL_1; /* d displacement and register. Stores the register as 3 bits and stores the displacement in the entire second word. */ types['d'] = SPECIAL_1; /* C the CCR. No need to store it; this is just for filtering validity. */ types['C'] = SPECIAL_1; /* S the SR. No need to store, just as with CCR. types['S'] = SPECIAL_1; /* U the USP. No need to store, just as with CCR. types['U'] = SPECIAL_1; /* I Coprocessor ID. Not printed if 1. The Coprocessor ID is always extracted from the 'd' field of word one, which means that an extended coprocessor opcode can be skipped using the 'i' place, if needed. */ types['I'] = SPECIAL_1; /* s System Control register for the floating point coprocessor. */ types['s'] = SPECIAL_1 | SPECIAL_2 | SPECIAL_3; /* S List of system control registers for floating point coprocessor.*/ types['S'] = SPECIAL_1; /* J Misc register for movec instruction, stored in 'j' format. */ types['J'] = MOVEC_REG; /* L Register list of the type d0-d7/a0-a7 etc. Can also hold fp0-fp7, as well. */ types['L'] = SPECIAL_1; /* l Register list like L, but with all the bits reversed. Used for going the other way. . . */ types['l'] = SPECIAL_1; /* 0 Address register indirect only */ types['0'] = AINDR; /* * all (modes 0-6,7.*) */ types['*'] = DREG | AREG | AINDR | AINC | ADEC | Ad16 | Ad8Xn | AbdXn | MIPRE | MIPOST | ABSW | ABSL | IMMED | PCd16 | PCd8Xn | PCbdXn | PCMIPRE | PCMIPOST; /* ~ alterable memory (modes 2-6,7.0,7.1)(not 0,1,7.~) */ types['~'] = AINDR | AINC | ADEC | Ad16 | Ad8Xn | AbdXn | MIPRE | MIPOST | ABSW | ABSL; /* % alterable (modes 0-6,7.0,7.1)(not 7.~) */ types['%'] = DREG | AREG | AINDR | AINC | ADEC | Ad16 | Ad8Xn | AbdXn | MIPRE | MIPOST | ABSW | ABSL; /* ; data (modes 0,2-6,7.*)(not 1) */ types[';'] = DREG | AINDR | AINC | ADEC | Ad16 | Ad8Xn | AbdXn | MIPRE | MIPOST | ABSW | ABSL | IMMED | PCd16 | PCd8Xn | PCbdXn | PCMIPRE | PCMIPOST; /* @ data, but not immediate (modes 0,2-6,7.? ? ?)(not 1,7.4) */ types['@'] = DREG | AINDR | AINC | ADEC | Ad16 | Ad8Xn | AbdXn | MIPRE | MIPOST | ABSW | ABSL | PCd16 | PCd8Xn | PCbdXn | PCMIPRE | PCMIPOST; /* ! control (modes 2,5,6,7.*-)(not 0,1,3,4,7.4) */ types['!'] = AINDR | Ad16 | Ad8Xn | AbdXn | MIPRE | MIPOST | ABSW | ABSL | PCd16 | PCd8Xn | PCbdXn | PCMIPRE | PCMIPOST; /* & alterable control (modes 2,5,6,7.0,7.1)(not 0,1,7.? ? ?) */ types['&'] = AINDR | Ad16 | Ad8Xn | AbdXn | MIPRE | MIPOST | ABSW | ABSL; /* $ alterable data (modes 0,2-6,7.0,7.1)(not 1,7.~) */ types['$'] = DREG | AINDR | AINC | ADEC | Ad16 | Ad8Xn | AbdXn | MIPRE | MIPOST | ABSW | ABSL; /* ? alterable control, or data register (modes 0,2,5,6,7.0,7.1) (not 1,3,4,7.~) */ types['?'] = DREG | AINDR | Ad16 | Ad8Xn | AbdXn | MIPRE | MIPOST | ABSW | ABSL; /* / control, or data register (modes 0,2,5,6,7.0,7.1,7.2,7.3) (not 1,3,4,7.4) */ types['/'] = DREG | AINDR | Ad16 | Ad8Xn | AbdXn | MIPRE | MIPOST | ABSW | ABSL | PCd16 | PCd8Xn | PCbdXn | PCMIPRE | PCMIPOST; /* f function code register (sfc or dfc) */ types['f'] = SPECIAL_1 | SPECIAL_2; /* a 030 mmu registers srp, crp or tc */ types['a'] = SPECIAL_1 | SPECIAL_2 | SPECIAL_3; /* b 030 mmu register mmusr */ types['b'] = SPECIAL_1; /* c 040 cache indicators ic, dc or bc */ types['c'] = SPECIAL_1 | SPECIAL_2 | SPECIAL_3; /* e 030 mmu registers tt0 or tt1 */ types['e'] = SPECIAL_1 | SPECIAL_2; for(opcode = (struct m68k_opcode *)m68k_opcodes; opcode != endop; opcode++){ args = opcode->args; if(args[0] == '\0'){ printf("\t%s\n", opcode->name); continue; } for(op1 = ops; op1->type; op1++){ if((types[(int)args[0]] & op1->type) == 0) continue; if(args[2] == '\0'){ printf("\t%s\t", opcode->name); print_op(op1, &(args[0]), '\n'); continue; } for(op2 = ops; op2->type; op2++){ if((types[(int)args[2]] & op2->type) == 0) continue; if(args[4] == '\0'){ printf("\t%s\t", opcode->name); print_op(op1, &(args[0]), ','); print_op(op2, &(args[2]), '\n'); continue; } for(op3 = ops; op3->type; op3++){ if((types[(int)args[4]] & op3->type) == 0) continue; if(args[6] == '\0'){ printf("\t%s\t", opcode->name); print_op(op1, &(args[0]), ','); print_op(op2, &(args[2]), ','); print_op(op3, &(args[4]), '\n'); continue; } for(op4 = ops; op4->type; op4++){ if((types[(int)args[6]] & op4->type) == 0) continue; if(args[8] == '\0'){ printf("\t%s\t", opcode->name); print_op(op1, &(args[0]), ','); print_op(op2, &(args[2]), ','); print_op(op3, &(args[4]), ','); print_op(op4, &(args[6]), '\n'); continue; } for(op5 = ops; op5->type; op5++){ if((types[(int)args[8]] & op5->type) == 0) continue; if(args[10] == '\0'){ printf("\t%s\t", opcode->name); print_op(op1, &(args[0]), ','); print_op(op2, &(args[2]), ','); print_op(op3, &(args[4]), ','); print_op(op4, &(args[6]), ','); print_op(op5, &(args[8]), '\n'); continue; } for(op6 = ops; op6->type; op6++){ if((types[(int)args[10]] & op6->type) == 0) continue; if(args[12] == '\0'){ printf("\t%s\t", opcode->name); print_op(op1, &(args[0]), ','); print_op(op2, &(args[2]), ','); print_op(op3, &(args[4]), ','); print_op(op4, &(args[6]), ','); print_op(op5, &(args[8]), ','); print_op(op6, &(args[10]), '\n'); continue; } printf("# more than 6 operands %s %s\n", opcode->name, args); printf(".abort\n"); exit(1); } } } } } } } } static void print_op( struct operand *op, char *arg, char end_char) { switch(*arg){ case 'F': /* F floating point coprocessor register only. Stored as 3 bits. */ printf("fp7"); break; case 'O': /* O an offset (or width): immediate data 0-31 or data register. Stored as 6 bits in special format for BF... insns. */ if(op->type == DREG) printf("%s", op->string); else printf("#0x13"); break; case 'Q': /* Q quick immediate data. Stored as 3 bits. This matches an immediate operand only when value is in range 1 .. 8. */ printf("#0x7"); break; case 'M': /* M moveq immediate data. Stored as 8 bits. This matches an immediate operand only when value is in range -128..127 */ printf("#0x7e"); break; case 'T': /* T trap vector immediate data. Stored as 4 bits. */ printf("#0xe"); break; case 'k': /* k K-factor for fmove.p instruction. Stored as a 7-bit constant or a three bit register offset, depending on the field type. */ if(op->type == SPECIAL_1) printf("{d4}"); else printf("{#0x3f}"); break; case '#': /* # immediate data. Stored in special places (b, w or l) which say how many bits to store. */ if(arg[1] == 'b') printf("#0x81"); else if(arg[1] == 'w' || arg[1] == 'z') printf("#0x8001"); else if(arg[1] == 'l') printf("#0x80000001"); /* Used with the fmovecr (7 bits) */ else if(arg[1] == 'C') printf("#0x7f"); /* Used with the fmovemx (8 bits) */ else if(arg[1] == '3') printf("#0xff"); /* Used with the fmoveml (3 bits) */ else if(arg[1] == '8') printf("#0x3"); /* Used with the movec (12 bits) */ else if(arg[1] == 'j') printf("#0x801"); /* vbr register # */ else printf("#???"); break; case '^': /* ^ immediate data for floating point instructions. Special places are offset by 2 bytes from '#'... */ printf("#0x3"); break; case 'B': /* B pc-relative address, converted to an offset that is treated as immediate data. */ if(arg[1] == 'w') printf("0x7ace"); else printf("0x1badface"); break; case 'd': /* d displacement and register. Stores the register as 3 bits and stores the displacement in the entire second word. */ /* This is used for the movep instruction "movep Dx,(d,Ay) where the displacement d is 16 bits */ printf("(0x4321,a6)"); break; case 'C': /* C the CCR. No need to store it; this is just for filtering validity. */ printf("ccr"); break; case 'S': /* S the SR. No need to store, just as with CCR. */ printf("sr"); break; case 'U': /* U the USP. No need to store, just as with CCR. */ printf("usp"); break; case 'I': /* I Coprocessor ID. Not printed if 1. The Coprocessor ID is always extracted from the 'd' field of word one, which means that an extended coprocessor opcode can be skipped using the 'i' place, if needed. */ break; case 's': /* s System Control register for the floating point coprocessor. */ if(op->type == SPECIAL_1) printf("fpi"); else if(op->type == SPECIAL_2) printf("fpc"); else printf("fps"); break; #if 0 case 'S': /* S List of system control registers for floating point coprocessor.*/ printf("fpc/fps/fpi"); break; #endif 0 case 'J': /* J Misc register for movec instruction, stored in 'j' format. */ printf("%s", op->string); break; case 'f': /* f function code register (sfc or dfc) */ if(op->type == SPECIAL_1) printf("sfc"); else printf("dfc"); break; case 'a': /* a 030 mmu registers srp, crp or tc */ if(op->type == SPECIAL_1) printf("srp"); else if(op->type == SPECIAL_2) printf("crp"); else printf("tc"); break; case 'b': /* b 030 mmu register mmusr */ printf("mmusr"); break; case 'c': /* c 040 cache indicators ic, dc or bc */ if(op->type == SPECIAL_1) printf("ic"); else if(op->type == SPECIAL_2) printf("dc"); else printf("bc"); break; case 'e': /* e 030 mmu registers tt0 or tt1 */ if(op->type == SPECIAL_1) printf("tt0"); else printf("tt1"); break; case 'L': case 'l': /* L Register list of the type d0-d7/a0-a7 etc. Can also hold fp0-fp7, as well. */ /* l Register list like L, but with all the bits reversed. Used for going the other way. . . */ if(arg[1] == 'w') printf("a0/a1/a2/a3/a4/a5/a6/sp/d0/d1/d2/d3/d4/d5/d6/d7"); else if(arg[1] == '3') printf("fp0/fp1/fp2/fp3/fp4/fp5/fp6/fp7"); else if(arg[1] == '8') printf("fpc/fps/fpi"); else printf("???%c", arg[0]); break; default: printf("%s", op->string); break; } if((arg[2] != 'k' && arg[0] != 'I') || (arg[0] == 'I' && arg[2] == '\0')) printf("%c", end_char); }