#include "l.h" #define X1 0 #define X2 0 #define X3 0 #define C 0xf200 Optab optab[] = /* as, fas, srcsp, dstsp, optype, opcode */ { { AXXX }, { AABCD, AXXX, X1, X2, X3, 0x4e71 }, { AADDB, AXXX, 2, 0, 3, 0xd000, 0x5000, 0, 0x0600 }, { AADDL, AXXX, 4, 0, 3, 0xd080, 0x5080, 0xd1c0, 0x0680 }, { AADDW, AXXX, 2, 0, 3, 0xd040, 0x5040, 0xd0c0, 0x0640 }, { AADDXB }, { AADDXL }, { AADDXW }, { AADJSP }, { AANDB, AXXX, 2, 0, 9, 0xc000, 0xc100, 0x0200 }, { AANDL, AXXX, 4, 0, 9, 0xc080, 0xc180, 0x0280 }, { AANDW, AXXX, 2, 0, 9, 0xc040, 0xc140, 0x0240 }, { AASLB, AXXX, 0, 2, 12, 0xe100 }, { AASLL, AXXX, 0, 4, 12, 0xe180 }, { AASLW, AXXX, 0, 2, 12, 0xe140 }, { AASRB, AXXX, 0, 2, 12, 0xe000 }, { AASRL, AXXX, 0, 4, 12, 0xe080 }, { AASRW, AXXX, 0, 2, 12, 0xe040 }, { ABCASE, AXXX, 0, 0, 33 }, { ABCC, AXXX, 0, 0, 1, 0x6400 }, { ABCHG, AXXX, 2, 2, 27, 0x0140, 0x0840 }, { ABCLR, AXXX, 2, 2, 27, 0x0180, 0x0880 }, { ABCS, AXXX, 0, 0, 1, 0x6500 }, { ABEQ, AXXX, 0, 0, 1, 0x6700 }, { ABFCHG, AXXX, 0, 0, 24, 0xeac0 }, { ABFCLR, AXXX, 0, 0, 24, 0xecc0 }, { ABFEXTS, AXXX, 0, 0, 24, 0xebc0 }, { ABFEXTU, AXXX, 0, 0, 24, 0xe9c0 }, { ABFFFO, AXXX, 0, 0, 24, 0xedc0 }, { ABFINS, AXXX, 0, 0, 24, 0xefc0 }, { ABFSET, AXXX, 0, 0, 24, 0xeec0 }, { ABFTST, AXXX, 0, 0, 24, 0xe8c0 }, { ABGE, AXXX, 0, 0, 1, 0x6c00 }, { ABGT, AXXX, 0, 0, 1, 0x6e00 }, { ABHI, AXXX, 0, 0, 1, 0x6200 }, { ABKPT }, { ABLE, AXXX, 0, 0, 1, 0x6f00 }, { ABLS, AXXX, 0, 0, 1, 0x6300 }, { ABLT, AXXX, 0, 0, 1, 0x6d00 }, { ABMI, AXXX, 0, 0, 1, 0x6b00 }, { ABNE, AXXX, 0, 0, 1, 0x6600 }, { ABPL, AXXX, 0, 0, 1, 0x6a00 }, { ABRA, AXXX, 0, 0, 1, 0x6000 }, { ABSET, AXXX, 2, 2, 27, 0x01c0, 0x08c0 }, { ABSR, AXXX, 0, 0, 1, 0x6100, 0x4eb8 }, { ABTST, AXXX, 2, 2, 27, 0x0100, 0x0800 }, { ABVC, AXXX, 0, 0, 1, 0x6800 }, { ABVS, AXXX, 0, 0, 1, 0x6900 }, { ACALLM }, { ACAS2B }, { ACAS2L }, { ACAS2W }, { ACASB }, { ACASEW, AXXX, 0, 0, 32, 0x4efb, 0 }, { ACASL }, { ACASW }, { ACHK2B, AXXX, 2, 0, 31, 0x00c0, 0x0800 }, { ACHK2L, AXXX, 4, 0, 31, 0x04c0, 0x0800 }, { ACHK2W, AXXX, 2, 0, 31, 0x02c0, 0x0800 }, { ACHKL, AXXX, 4, 4, 26, 0x4100 }, { ACHKW, AXXX, 2, 2, 26, 0x4180 }, { ACLRB, AXXX, 0, -2, 5, 0x4200 }, { ACLRL, AXXX, 0, -4, 5, 0x4280 }, { ACLRW, AXXX, 0, -2, 5, 0x4240 }, { ACMP2B, AXXX, 2, 0, 31, 0x00c0, 0x0000 }, { ACMP2L, AXXX, 4, 0, 31, 0x04c0, 0x0000 }, { ACMP2W, AXXX, 2, 0, 31, 0x02c0, 0x0000 }, { ACMPB, AXXX, 2, 2, 7, 0xb000, 0, 0x0c00, 0xb108 }, { ACMPL, AXXX, 4, 4, 7, 0xb080, 0xb100, 0x0c80, 0xb188 }, { ACMPW, AXXX, 2, 2, 7, 0xb040, 0xb080, 0x0c40, 0xb148 }, { ADATA }, { ADBCC, AXXX, 0, 0, 15, 0x54c8 }, { ADBCS, AXXX, 0, 0, 15, 0x55c8 }, { ADBEQ, AXXX, 0, 0, 15, 0x57c8 }, { ADBF, AXXX, 0, 0, 15, 0x51c8 }, { ADBGE, AXXX, 0, 0, 15, 0x5cc8 }, { ADBGT, AXXX, 0, 0, 15, 0x5ec8 }, { ADBHI, AXXX, 0, 0, 15, 0x52c8 }, { ADBLE, AXXX, 0, 0, 15, 0x5fc8 }, { ADBLS, AXXX, 0, 0, 15, 0x53c8 }, { ADBLT, AXXX, 0, 0, 15, 0x5dc8 }, { ADBMI, AXXX, 0, 0, 15, 0x5bc8 }, { ADBNE, AXXX, 0, 0, 15, 0x56c8 }, { ADBPL, AXXX, 0, 0, 15, 0x5ac8 }, { ADBT, AXXX, 0, 0, 15, 0x50c8 }, { ADBVC, AXXX, 0, 0, 15, 0x58c8 }, { ADBVS, AXXX, 0, 0, 15, 0x59c8 }, { ADIVSL, AXXX, 4, 0, 14, 0x4c40, 0x0800 }, { ADIVSW, AXXX, 2, 0, 13, 0x81c0 }, { ADIVUL, AXXX, 4, 0, 14, 0x4c40, 0x0000 }, { ADIVUW, AXXX, 2, 0, 13, 0x80c0 }, { AEND }, { AEORB, AXXX, 2, 0, 10, 0xb100, 0x0a00 }, { AEORL, AXXX, 4, 0, 10, 0xb180, 0x0a80 }, { AEORW, AXXX, 2, 0, 10, 0xb140, 0x0a40 }, { AEXG }, { AEXTBL, AXXX, 0, 0, 11, 0x49c0 }, { AEXTBW, AXXX, 0, 0, 11, 0x4880 }, { AEXTWL, AXXX, 0, 0, 11, 0x48c0 }, { AFABSB, AXXX, 2, 0, 17, C, 0x0018, 0x5818 }, { AFABSD, AFABSL, 8, 0, 17, C, 0x0018, 0x5418 }, { AFABSF, AFABSL, 4, 0, 17, C, 0x0018, 0x4418 }, { AFABSL, AXXX, 4, 0, 17, C, 0x0018, 0x4018 }, { AFABSW, AXXX, 2, 0, 17, C, 0x0018, 0x5018 }, { AFACOSB, AXXX, 2, 0, 17, C, 0x001c, 0x581c }, { AFACOSD, AFACOSL, 8, 0, 17, C, 0x001c, 0x541c }, { AFACOSF, AFACOSL, 4, 0, 17, C, 0x001c, 0x441c }, { AFACOSL, AXXX, 4, 0, 17, C, 0x001c, 0x401c }, { AFACOSW, AXXX, 2, 0, 17, C, 0x001c, 0x501c }, { AFADDB, AXXX, 2, 0, 17, C, 0x0022, 0x5822 }, { AFADDD, AFADDL, 8, 0, 17, C, 0x0022, 0x5422 }, { AFADDF, AFADDL, 4, 0, 17, C, 0x0022, 0x4422 }, { AFADDL, AXXX, 4, 0, 17, C, 0x0022, 0x4022 }, { AFADDW, AXXX, 2, 0, 17, C, 0x0022, 0x5022 }, { AFASINB, AXXX, 2, 0, 17, C, 0x000c, 0x580c }, { AFASIND, AFASINL, 8, 0, 17, C, 0x000c, 0x540c }, { AFASINF, AFASINL, 4, 0, 17, C, 0x000c, 0x440c }, { AFASINL, AXXX, 4, 0, 17, C, 0x000c, 0x400c }, { AFASINW, AXXX, 2, 0, 17, C, 0x000c, 0x500c }, { AFATANB, AXXX, 2, 0, 17, C, 0x000a, 0x580a }, { AFATAND, AFATANL, 8, 0, 17, C, 0x000a, 0x540a }, { AFATANF, AFATANL, 4, 0, 17, C, 0x000a, 0x440a }, { AFATANHB, AXXX, 2, 0, 17, C, 0x000d, 0x580d }, { AFATANHD, AFATANHL, 8, 0, 17, C, 0x000d, 0x540d }, { AFATANHF, AFATANHL, 4, 0, 17, C, 0x000d, 0x440d }, { AFATANHL, AXXX, 4, 0, 17, C, 0x000d, 0x400d }, { AFATANHW, AXXX, 2, 0, 17, C, 0x000d, 0x500d }, { AFATANL, AXXX, 4, 0, 17, C, 0x000a, 0x400a }, { AFATANW, AXXX, 2, 0, 17, C, 0x000a, 0x500a }, { AFBEQ, AXXX, 0, 0, 18, C+0x81 }, { AFBF, AXXX, 0, 0, 18, C+0x8f }, { AFBGE, AXXX, 0, 0, 18, C+0x93 }, { AFBGT, AXXX, 0, 0, 18, C+0x92 }, { AFBLE, AXXX, 0, 0, 18, C+0x95 }, { AFBLT, AXXX, 0, 0, 18, C+0x94 }, { AFBNE, AXXX, 0, 0, 18, C+0x8e }, { AFBT, AXXX, 0, 0, 18, C+0x80 }, { AFCMPB, AXXX, 0, 2, 22, C, 0x0038, 0x5838 }, { AFCMPD, AFCMPL, 0, 8, 22, C, 0x0038, 0x5438 }, { AFCMPF, AFCMPL, 0, 4, 22, C, 0x0038, 0x4438 }, { AFCMPL, AXXX, 0, 4, 22, C, 0x0038, 0x4038 }, { AFCMPW, AXXX, 0, 2, 22, C, 0x0038, 0x5038 }, { AFCOSB, AXXX, 2, 0, 17, C, 0x001d, 0x581d }, { AFCOSD, AFCOSL, 8, 0, 17, C, 0x001d, 0x541d }, { AFCOSF, AFCOSL, 4, 0, 17, C, 0x001d, 0x441d }, { AFCOSHB, AXXX, 2, 0, 17, C, 0x0019, 0x5819 }, { AFCOSHD, AFCOSHL, 8, 0, 17, C, 0x0019, 0x5419 }, { AFCOSHF, AFCOSHL, 4, 0, 17, C, 0x0019, 0x4419 }, { AFCOSHL, AXXX, 4, 0, 17, C, 0x0019, 0x4019 }, { AFCOSHW, AXXX, 2, 0, 17, C, 0x0019, 0x5019 }, { AFCOSL, AXXX, 4, 0, 17, C, 0x001d, 0x401d }, { AFCOSW, AXXX, 2, 0, 17, C, 0x001d, 0x501d }, { AFDBEQ, AXXX, 0, 0, 19, C+0x48, 0x01 }, { AFDBF, AXXX, 0, 0, 19, C+0x48, 0x0f }, { AFDBGE, AXXX, 0, 0, 19, C+0x48, 0x13 }, { AFDBGT, AXXX, 0, 0, 19, C+0x48, 0x12 }, { AFDBLE, AXXX, 0, 0, 19, C+0x48, 0x15 }, { AFDBLT, AXXX, 0, 0, 19, C+0x48, 0x14 }, { AFDBNE, AXXX, 0, 0, 19, C+0x48, 0x0e }, { AFDBT, AXXX, 0, 0, 19, C+0x48, 0x00 }, { AFDIVB, AXXX, 2, 0, 17, C, 0x0020, 0x5820 }, { AFDIVD, AFDIVL, 8, 0, 17, C, 0x0020, 0x5420 }, { AFDIVF, AFDIVL, 4, 0, 17, C, 0x0020, 0x4420 }, { AFDIVL, AXXX, 4, 0, 17, C, 0x0020, 0x4020 }, { AFDIVW, AXXX, 2, 0, 17, C, 0x0020, 0x5020 }, { AFETOXB, AXXX, 2, 0, 17, C, 0x0010, 0x5810 }, { AFETOXD, AFETOXL, 8, 0, 17, C, 0x0010, 0x5410 }, { AFETOXF, AFETOXL, 4, 0, 17, C, 0x0010, 0x4410 }, { AFETOXL, AXXX, 4, 0, 17, C, 0x0010, 0x4010 }, { AFETOXM1B, AXXX, 2, 0, 17, C, 0x0008, 0x5808 }, { AFETOXM1D, AFETOXM1L, 8, 0, 17, C, 0x0008, 0x5408 }, { AFETOXM1F, AFETOXM1L, 4, 0, 17, C, 0x0008, 0x4408 }, { AFETOXM1L, AXXX, 4, 0, 17, C, 0x0008, 0x4008 }, { AFETOXM1W, AXXX, 2, 0, 17, C, 0x0008, 0x5008 }, { AFETOXW, AXXX, 2, 0, 17, C, 0x0010, 0x5010 }, { AFGETEXPB, AXXX, 2, 0, 17, C, 0x001e, 0x581e }, { AFGETEXPD, AFGETEXPL, 8, 0, 17, C, 0x001e, 0x541e }, { AFGETEXPF, AFGETEXPL, 4, 0, 17, C, 0x001e, 0x441e }, { AFGETEXPL, AXXX, 4, 0, 17, C, 0x001e, 0x401e }, { AFGETEXPW, AXXX, 2, 0, 17, C, 0x001e, 0x501e }, { AFGETMANB, AXXX, 2, 0, 17, C, 0x001f, 0x581f }, { AFGETMAND, AFGETMANL, 8, 0, 17, C, 0x001f, 0x541f }, { AFGETMANF, AFGETMANL, 4, 0, 17, C, 0x001f, 0x441f }, { AFGETMANL, AXXX, 4, 0, 17, C, 0x001f, 0x401f }, { AFGETMANW, AXXX, 2, 0, 17, C, 0x001f, 0x501f }, { AFINTB, AXXX, 2, 0, 17, C, 0x0001, 0x5801 }, { AFINTD, AFINTL, 8, 0, 17, C, 0x0001, 0x5401 }, { AFINTF, AFINTL, 4, 0, 17, C, 0x0001, 0x4401 }, { AFINTL, AXXX, 4, 0, 17, C, 0x0001, 0x4001 }, { AFINTRZB, AXXX, 2, 0, 17, C, 0x0003, 0x5803 }, { AFINTRZD, AFINTRZL, 8, 0, 17, C, 0x0003, 0x5403 }, { AFINTRZF, AFINTRZL, 4, 0, 17, C, 0x0003, 0x4403 }, { AFINTRZL, AXXX, 4, 0, 17, C, 0x0003, 0x4003 }, { AFINTRZW, AXXX, 2, 0, 17, C, 0x0003, 0x5003 }, { AFINTW, AXXX, 2, 0, 17, C, 0x0001, 0x5001 }, { AFLOG10B, AXXX, 2, 0, 17, C, 0x0015, 0x5815 }, { AFLOG10D, AFLOG10L, 8, 0, 17, C, 0x0015, 0x5415 }, { AFLOG10F, AFLOG10L, 4, 0, 17, C, 0x0015, 0x4415 }, { AFLOG10L, AXXX, 4, 0, 17, C, 0x0015, 0x4015 }, { AFLOG10W, AXXX, 2, 0, 17, C, 0x0015, 0x5015 }, { AFLOG2B, AXXX, 2, 0, 17, C, 0x0016, 0x5816 }, { AFLOG2D, AFLOG2L, 8, 0, 17, C, 0x0016, 0x5416 }, { AFLOG2F, AFLOG2L, 4, 0, 17, C, 0x0016, 0x4416 }, { AFLOG2L, AXXX, 4, 0, 17, C, 0x0016, 0x4016 }, { AFLOG2W, AXXX, 2, 0, 17, C, 0x0016, 0x5016 }, { AFLOGNB, AXXX, 2, 0, 17, C, 0x0014, 0x5814 }, { AFLOGND, AFLOGNL, 8, 0, 17, C, 0x0014, 0x5414 }, { AFLOGNF, AFLOGNL, 4, 0, 17, C, 0x0014, 0x4414 }, { AFLOGNL, AXXX, 4, 0, 17, C, 0x0014, 0x4014 }, { AFLOGNP1B, AXXX, 2, 0, 17, C, 0x0006, 0x5806 }, { AFLOGNP1D, AFLOGNP1L, 8, 0, 17, C, 0x0006, 0x5406 }, { AFLOGNP1F, AFLOGNP1L, 4, 0, 17, C, 0x0006, 0x4406 }, { AFLOGNP1L, AXXX, 4, 0, 17, C, 0x0006, 0x4006 }, { AFLOGNP1W, AXXX, 2, 0, 17, C, 0x0006, 0x5006 }, { AFLOGNW, AXXX, 2, 0, 17, C, 0x0014, 0x5014 }, { AFMODB, AXXX, 2, 0, 17, C, 0x0021, 0x5821 }, { AFMODD, AFMODL, 8, 0, 17, C, 0x0021, 0x5421 }, { AFMODF, AFMODL, 4, 0, 17, C, 0x0021, 0x4421 }, { AFMODL, AXXX, 4, 0, 17, C, 0x0021, 0x4021 }, { AFMODW, AXXX, 2, 0, 17, C, 0x0021, 0x5021 }, { AFMOVEB, AXXX, 2, -2, 16, C, 0x0000, 0x7800, 0x5800 }, { AFMOVED, AFMOVEL, 8, -8, 16, C, 0x0000, 0x7400, 0x5400 }, { AFMOVEF, AFMOVEL, 4, -4, 16, C, 0x0000, 0x6400, 0x4400 }, { AFMOVEL, AXXX, 4, -4, 16, C, 0x0000, 0x6000, 0x4000 }, { AFMOVEM, AXXX, 2, 2, 28, C }, { AFMOVEMC, AXXX, 2, 2, 29, C }, { AFMOVEW, AXXX, 2, -2, 16, C, 0x0000, 0x7000, 0x5000 }, { AFMULB, AXXX, 2, 0, 17, C, 0x0023, 0x5823 }, { AFMULD, AFMULL, 8, 0, 17, C, 0x0023, 0x5423 }, { AFMULF, AFMULL, 4, 0, 17, C, 0x0023, 0x4423 }, { AFMULL, AXXX, 4, 0, 17, C, 0x0023, 0x4023 }, { AFMULW, AXXX, 2, 0, 17, C, 0x0023, 0x5023 }, { AFNEGB, AXXX, 2, 0, 21, C, 0x001a, 0x581a }, { AFNEGD, AFNEGL, 8, 0, 21, C, 0x001a, 0x541a }, { AFNEGF, AFNEGL, 4, 0, 21, C, 0x001a, 0x441a }, { AFNEGL, AXXX, 4, 0, 21, C, 0x001a, 0x401a }, { AFNEGW, AXXX, 2, 0, 21, C, 0x001a, 0x501a }, { AFREMB, AXXX, 2, 0, 17, C, 0x0025, 0x5825 }, { AFREMD, AFREML, 8, 0, 17, C, 0x0025, 0x5425 }, { AFREMF, AFREML, 4, 0, 17, C, 0x0025, 0x4425 }, { AFREML, AXXX, 4, 0, 17, C, 0x0025, 0x4025 }, { AFREMW, AXXX, 2, 0, 17, C, 0x0025, 0x5025 }, { AFRESTORE, AXXX, 0, 2, 5, C+0x0140 }, { AFSAVE, AXXX, 0, 2, 5, C+0x0100 }, { AFSCALEB, AXXX, 2, 0, 17, C, 0x0026, 0x5826 }, { AFSCALED, AFSCALEL, 8, 0, 17, C, 0x0026, 0x5426 }, { AFSCALEF, AFSCALEL, 4, 0, 17, C, 0x0026, 0x4426 }, { AFSCALEL, AXXX, 4, 0, 17, C, 0x0026, 0x4026 }, { AFSCALEW, AXXX, 2, 0, 17, C, 0x0026, 0x5026 }, { AFSEQ, AXXX, X1, X2, X3, 0xffff }, { AFSF, AXXX, 4, X2, X3, 0xffff }, { AFSGE, AXXX, X1, X2, X3, 0xffff }, { AFSGT, AXXX, X1, X2, X3, 0xffff }, { AFSINB, AXXX, 2, 0, 17, C, 0x000e, 0x580e }, { AFSIND, AFSINL, 8, 0, 17, C, 0x000e, 0x540e }, { AFSINF, AFSINL, 4, 0, 17, C, 0x000e, 0x440e }, { AFSINHB, AXXX, 2, 0, 17, C, 0x0002, 0x5802 }, { AFSINHD, AFSINHL, 8, 0, 17, C, 0x0002, 0x5402 }, { AFSINHF, AFSINHL, 4, 0, 17, C, 0x0002, 0x4402 }, { AFSINHL, AXXX, 4, 0, 17, C, 0x0002, 0x4002 }, { AFSINHW, AXXX, 2, 0, 17, C, 0x0002, 0x5002 }, { AFSINL, AXXX, 4, 0, 17, C, 0x000e, 0x400e }, { AFSINW, AXXX, 2, 0, 17, C, 0x000e, 0x500e }, { AFSLE, AXXX, X1, X2, X3, 0xffff }, { AFSLT, AXXX, X1, X2, X3, 0xffff }, { AFSNE, AXXX, X1, X2, X3, 0xffff }, { AFSQRTB, AXXX, 2, 0, 17, C, 0x0004, 0x5804 }, { AFSQRTD, AFSQRTL, 8, 0, 17, C, 0x0004, 0x5404 }, { AFSQRTF, AFSQRTL, 4, 0, 17, C, 0x0004, 0x4404 }, { AFSQRTL, AXXX, 4, 0, 17, C, 0x0004, 0x4004 }, { AFSQRTW, AXXX, 2, 0, 17, C, 0x0004, 0x5004 }, { AFST, AXXX, X1, X2, X3, 0xffff }, { AFSUBB, AXXX, 2, 0, 17, C, 0x0028, 0x5828 }, { AFSUBD, AFSUBL, 8, 0, 17, C, 0x0028, 0x5428 }, { AFSUBF, AFSUBL, 4, 0, 17, C, 0x0028, 0x4428 }, { AFSUBL, AXXX, 4, 0, 17, C, 0x0028, 0x4028 }, { AFSUBW, AXXX, 2, 0, 17, C, 0x0028, 0x5028 }, { AFTANB, AXXX, 2, 0, 17, C, 0x000f, 0x580f }, { AFTAND, AFTANL, 8, 0, 17, C, 0x000f, 0x540f }, { AFTANF, AFTANL, 4, 0, 17, C, 0x000f, 0x440f }, { AFTANHB, AXXX, 2, 0, 17, C, 0x0009, 0x5809 }, { AFTANHD, AFTANHL, 8, 0, 17, C, 0x0009, 0x5409 }, { AFTANHF, AFTANHL, 4, 0, 17, C, 0x0009, 0x4409 }, { AFTANHL, AXXX, 4, 0, 17, C, 0x0009, 0x4009 }, { AFTANHW, AXXX, 2, 0, 17, C, 0x0009, 0x5009 }, { AFTANL, AXXX, 4, 0, 17, C, 0x000f, 0x400f }, { AFTANW, AXXX, 2, 0, 17, C, 0x000f, 0x500f }, { AFTENTOXB, AXXX, 2, 0, 17, C, 0x0012, 0x5812 }, { AFTENTOXD, AFTENTOXL, 8, 0, 17, C, 0x0012, 0x5412 }, { AFTENTOXF, AFTENTOXL, 4, 0, 17, C, 0x0012, 0x4412 }, { AFTENTOXL, AXXX, 4, 0, 17, C, 0x0012, 0x4012 }, { AFTENTOXW, AXXX, 2, 0, 17, C, 0x0012, 0x5012 }, { AFTSTB, AXXX, 0, 2, 20, C, 0x003a, 0x583a }, { AFTSTD, AFTSTL, 0, 8, 20, C, 0x003a, 0x543a }, { AFTSTF, AFTSTL, 0, 4, 20, C, 0x003a, 0x443a }, { AFTSTL, AXXX, 0, 4, 20, C, 0x003a, 0x403a }, { AFTSTW, AXXX, 0, 2, 20, C, 0x003a, 0x503a }, { AFTWOTOXB, AXXX, 2, 0, 17, C, 0x0011, 0x5811 }, { AFTWOTOXD, AFTWOTOXL, 8, 0, 17, C, 0x0011, 0x5411 }, { AFTWOTOXF, AFTWOTOXL, 4, 0, 17, C, 0x0011, 0x4411 }, { AFTWOTOXL, AXXX, 4, 0, 17, C, 0x0011, 0x4011 }, { AFTWOTOXW, AXXX, 2, 0, 17, C, 0x0011, 0x5011 }, { AGLOBL }, { AGOK }, { AHISTORY }, { AILLEG, AXXX, 0, 0, 4, 0x4efc }, { AINSTR }, { AJMP, AXXX, 0, 0, 5, 0x4ec0 }, { AJSR, AXXX, 0, 0, 5, 0x4e80 }, { ALEA, AXXX, 0, 0, 6, 0x41c0 }, { ALINKL }, { ALINKW }, { ALOCATE }, { ALONG, AXXX, 0, 4, 23 }, { ALSLB, AXXX, 0, 2, 12, 0xe108 }, { ALSLL, AXXX, 0, 4, 12, 0xe188 }, { ALSLW, AXXX, 0, 2, 12, 0xe148 }, { ALSRB, AXXX, 0, 2, 12, 0xe008 }, { ALSRL, AXXX, 0, 4, 12, 0xe088 }, { ALSRW, AXXX, 0, 2, 12, 0xe048 }, { AMOVB, AXXX, 2, -2, 2, 0x1000, 0x7000 }, { AMOVEM, AXXX, 2, 2, 25, 0x48c0 }, { AMOVEPL }, { AMOVEPW }, { AMOVESB, AXXX, 2, -2, 34, 0xe00 }, { AMOVESL, AXXX, 4, -4, 34, 0xe80 }, { AMOVESW, AXXX, 2, -2, 34, 0xe40 }, { AMOVL, AXXX, 4, -4, 2, 0x2000, 0x7000 }, { AMOVW, AXXX, 2, -2, 2, 0x3000, 0x7000 }, { AMULSL, AXXX, 4, 0, 14, 0x4c00, 0x0800 }, { AMULSW, AXXX, 2, 0, 13, 0xc1c0 }, { AMULUL, AXXX, 4, 0, 14, 0x4c00, 0x0000 }, { AMULUW, AXXX, 2, 0, 13, 0xc0c0 }, { ANAME }, { ANBCD }, { ANEGB, AXXX, 0, 0, 5, 0x4400 }, { ANEGL, AXXX, 0, 0, 5, 0x4480 }, { ANEGW, AXXX, 0, 0, 5, 0x4440 }, { ANEGXB }, { ANEGXL }, { ANEGXW }, { ANOP }, { ANOTB, AXXX, 0, 0, 5, 0x4600 }, { ANOTL, AXXX, 0, 0, 5, 0x4680 }, { ANOTW, AXXX, 0, 0, 5, 0x4640 }, { AORB, AXXX, 2, 0, 9, 0x8000, 0x8100, 0x0000 }, { AORL, AXXX, 4, 0, 9, 0x8080, 0x8180, 0x0080 }, { AORW, AXXX, 2, 0, 9, 0x8040, 0x8140, 0x0040 }, { APACK }, { APEA, AXXX, 0, 0, 5, 0x4840 }, { ARESET }, { AROTLB, AXXX, 0, 2, 12, 0xe118 }, { AROTLL, AXXX, 0, 4, 12, 0xe198 }, { AROTLW, AXXX, 0, 2, 12, 0xe158 }, { AROTRB, AXXX, 0, 2, 12, 0xe018 }, { AROTRL, AXXX, 0, 4, 12, 0xe098 }, { AROTRW, AXXX, 0, 2, 12, 0xe058 }, { AROXLB }, { AROXLL }, { AROXLW }, { AROXRB }, { AROXRL }, { AROXRW }, { ARTD }, { ARTE, AXXX, 0, 0, 4, 0x4e73 }, { ARTM }, { ARTR }, { ARTS, AXXX, 0, 0, 4, 0x4e75 }, { ASBCD }, { ASCC }, { ASCS }, { ASEQ }, { ASF }, { ASGE }, { ASGT }, { ASHI }, { ASLE }, { ASLS }, { ASLT }, { ASMI }, { ASNE }, { ASPL }, { AST }, { ASTOP }, { ASUBB, AXXX, 2, 0, 3, 0x9000, 0x5100, 0, 0x0400 }, { ASUBL, AXXX, 4, 0, 3, 0x9080, 0x5180, 0x91c0, 0x0480 }, { ASUBW, AXXX, 2, 0, 3, 0x9040, 0x5140, 0x90c0, 0x0440 }, { ASUBXB }, { ASUBXL }, { ASUBXW }, { ASVC }, { ASVS }, { ASWAP, AXXX, 0, 0, 35, 0x4840 }, { ASYS, AXXX, 0, 2, 8, 0x4e40 }, { ATAS, AXXX, 0, 2, 5, 0x4ac0 }, { ATEXT }, { ATRAP, AXXX, 0, 0, 30, 0x4e40 }, { ATRAPCC, AXXX, 0, 0, 4, 0x54fc }, { ATRAPCS, AXXX, 0, 0, 4, 0x55fc }, { ATRAPEQ, AXXX, 0, 0, 4, 0x57fc }, { ATRAPF, AXXX, 0, 0, 4, 0x51fc }, { ATRAPGE, AXXX, 0, 0, 4, 0x5cfc }, { ATRAPGT, AXXX, 0, 0, 4, 0x5efc }, { ATRAPHI, AXXX, 0, 0, 4, 0x52fc }, { ATRAPLE, AXXX, 0, 0, 4, 0x5ffc }, { ATRAPLS, AXXX, 0, 0, 4, 0x53fc }, { ATRAPLT, AXXX, 0, 0, 4, 0x5dfc }, { ATRAPMI, AXXX, 0, 0, 4, 0x5bfc }, { ATRAPNE, AXXX, 0, 0, 4, 0x56fc }, { ATRAPPL, AXXX, 0, 0, 4, 0x5afc }, { ATRAPT, AXXX, 0, 0, 4, 0x50fc }, { ATRAPV, AXXX, 0, 0, 4, 0x4e76 }, { ATRAPVC, AXXX, 0, 0, 4, 0x58fc }, { ATRAPVS, AXXX, 0, 0, 4, 0x59fc }, { ATSTB, AXXX, 0, 2, 5, 0x4a00 }, { ATSTL, AXXX, 0, 4, 5, 0x4a80 }, { ATSTW, AXXX, 0, 2, 5, 0x4a40 }, { AUNLK }, { AUNPK }, { AWORD, AXXX, 0, 2, 23 }, { AXXX } }; char opmsize[] = { /* 0 */ 0, 2, 2, 2, 2, /* 5 */ 2, 2, 2, 4, 2, /* 10 */ 2, 2, 2, 2, 4, /* 15 */ 4, 4, 4, 4, 6, /* 20 */ 4, 4, 4, 0, 4, /* 25 */ 2, 2, 2, 2, 2, /* 30 */ 2, 4, 4, 0, 4, /* 35 */ 2, 0, 0, 0, 0, };