summaryrefslogtreecommitdiff
path: root/sys/src/cmd/1l/optab.c
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 15:46:40 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 15:46:40 +0300
commite5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch)
treed8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/cmd/1l/optab.c
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/cmd/1l/optab.c')
-rwxr-xr-xsys/src/cmd/1l/optab.c444
1 files changed, 444 insertions, 0 deletions
diff --git a/sys/src/cmd/1l/optab.c b/sys/src/cmd/1l/optab.c
new file mode 100755
index 000000000..2109b478a
--- /dev/null
+++ b/sys/src/cmd/1l/optab.c
@@ -0,0 +1,444 @@
+#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 },
+ { 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 },
+ { ABFCLR },
+ { ABFEXTS },
+ { ABFEXTU },
+ { ABFFFO },
+ { ABFINS },
+ { ABFSET },
+ { ABFTST },
+ { 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, 0x4ec0 },
+ { ABSET, AXXX, 2, 2, 27, 0x01c0, 0x08c0 },
+ { ABSR, AXXX, 0, 0, 1, 0x6100, 0x4e80 },
+ { 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 },
+ { ACASL },
+ { ACASW },
+ { ACHK2B },
+ { ACHK2L },
+ { ACHK2W },
+ { 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 },
+ { ACMP2L },
+ { ACMP2W },
+ { 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 },
+ { 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 },
+ { AMOVESL },
+ { AMOVESW, },
+ { 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 },
+ { ATRAPCS },
+ { ATRAPEQ },
+ { ATRAPF },
+ { ATRAPGE },
+ { ATRAPGT },
+ { ATRAPHI },
+ { ATRAPLE },
+ { ATRAPLS },
+ { ATRAPLT },
+ { ATRAPMI },
+ { ATRAPNE },
+ { ATRAPPL },
+ { ATRAPT },
+ { ATRAPV },
+ { ATRAPVC },
+ { ATRAPVS },
+ { 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 mmsize[] =
+{
+ /* 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,
+};