1 
  2 /*     BEGIN INCLUDE FILE ... opcode_tag_table.incl.pl1
  3    *      ... created by R. L. Coppola 8/80. */
  4 
  5 dcl (OP_ptr, TAG_ptr) ptr;                                  /* pointers to op code and tag tables */
  6 
  7 dcl  LREG int static options (constant) bit (9) init ("000111011"b),
  8      NOP int static options (constant) bit (9) init ("000001001"b);
  9 
 10 dcl  OP_table (128) int static options (constant) char (48) unal init (         /* opcode table */
 11      "illop@illop@mme1 @illop@drl  @illop@illop@illop@",    /* 000 */
 12      "mme2 @illop@mme3 @illop@illop@illop@mme4 @illop@",
 13      "illop@illop@nop  @illop@puls1@illop@puls2@illop@",    /* 010 */
 14      "illop@illop@cioc @illop@illop@illop@illop@illop@",
 15      "adlx0Bmve  Aadlx1Billop@adlx2Billop@adlx3Billop@",    /* 020 */
 16      "adlx4Bmvne Aadlx5Billop@adlx6Billop@adlx7Billop@",
 17      "illop@illop@illop@illop@ldqc Jillop@adl  Billop@",    /* 030 */
 18      "ldac Jillop@adla Billop@adlq Billop@adlaqBillop@",
 19      "asx0 Jillop@asx1 Jillop@asx2 Jillop@asx3 Jillop@",    /* 040 */
 20      "asx4 Jillop@asx5 Jillop@asx6 Jillop@asx7 Jillop@",
 21      "adwp0Billop@adwp1Billop@adwp2Billop@adwp3Billop@",    /* 050 */
 22      "aos  Jillop@asa  Jillop@asq  Jillop@sscr Billop@",
 23      "adx0 Bcsl  Aadx1 Bcsr  Aadx2 Billop@adx3 Billop@",    /* 060 */
 24      "adx4 Bsztl Aadx5 Bsztr Aadx6 Bcmpb Aadx7 Billop@",
 25      "illop@illop@awca Billop@awcq Billop@lreg Billop@",    /* 070 */
 26      "illop@illop@ada  Billop@adq  Billop@adaq Billop@",
 27      "cmpx0Bmlr  Acmpx1Bmrl  Acmpx2Billop@cmpx3Billop@",    /* 100 */
 28      "cmpx4Billop@cmpx5Billop@cmpx6Bcmpc Acmpx7Billop@",
 29      "illop@illop@cwl  Billop@illop@illop@illop@illop@",    /* 110 */
 30      "illop@illop@cmpa Billop@cmpq Billop@cmpaqBillop@",
 31      "sblx0Bscd  Asblx1Bscdr Asblx2Billop@sblx3Billop@",    /* 120 */
 32      "sblx4Bscm  Asblx5Bscmr Asblx6Billop@sblx7Billop@",
 33      "illop@illop@illop@illop@illop@illop@illop@illop@",    /* 130 */
 34      "illop@illop@sbla Billop@sblq Billop@sblaqBillop@",
 35      "ssx0 Jillop@ssx1 Jillop@ssx2 Jillop@ssx3 Jillop@",    /* 140 */
 36      "ssx4 Jillop@ssx5 Jillop@ssx6 Jillop@ssx7 Jillop@",
 37      "adwp4Billop@adwp5Billop@adwp6Billop@adwp7Billop@",    /* 150 */
 38      "sdbr @sptr @ssa  Jillop@ssq  Jillop@illop@illop@",
 39      "sbx0 Bmvt  Asbx1 Billop@sbx2 Billop@sbx3 Billop@",    /* 160 */
 40      "sbx4 Btct  Asbx5 Btctr Asbx6 Billop@sbx7 Billop@",
 41      "illop@illop@swca Billop@swcq Billop@lpri @lptr @",    /* 170 */
 42      "illop@illop@sba  Billop@sbq  Billop@sbaq Billop@",
 43      "cnax0Billop@cnax1Billop@cnax2Bad2d Acnax3Bsb2d A",    /* 200 */
 44      "cnax4Billop@cnax5Billop@cnax6Bmp2d Acnax7Bdv2d A",
 45      "illop@illop@cmk  Billop@absa Billop@epaq Billop@",    /* 210 */
 46      "sznc Jillop@cnaa Billop@cnaq Billop@cnaaqBillop@",
 47      "ldx0 Billop@ldx1 Billop@ldx2 Bad3d Aldx3 Bsb3d A",    /* 220 */
 48      "ldx4 Billop@ldx5 Billop@ldx6 Bmp3d Aldx7 Bdv3d A",
 49      "lbar @illop@rsw  Billop@ldbr @lsdr @rmcm Billop@",    /* 230 */
 50      "szn  Billop@lda  Billop@ldq  Billop@ldaq Billop@",
 51      "orsx0Jillop@orsx1Jillop@orsx2Jillop@orsx3Jillop@",    /* 240 */
 52      "orsx4Jillop@orsx5Jillop@orsx6Jillop@orsx7Jillop@",
 53      "spri0@spbp0@spbp1@spri1@spri2@spbp2@spbp3@spri3@",    /* 250 */
 54      "spri @ssdr @orsa Jillop@orsq Jillop@lsdp @lptp @",
 55      "orx0 Billop@orx1 Billop@orx2 Billop@orx3 Billop@",    /* 260 */
 56      "orx4 Billop@orx5 Billop@orx6 Billop@orx7 Billop@",
 57      "tsp0 `illop@tsp1 `illop@tsp2 `illop@tsp3 `illop@",    /* 270 */
 58      "illop@illop@ora  Billop@orq  Billop@oraq Billop@",
 59      "canx0Bmvn  Acanx1Bbtd  Acanx2Billop@canx3Bcmpn A",    /* 300 */
 60      "canx4Billop@canx5Bdtb  Acanx6Billop@canx7Billop@",
 61      "eawp0@easp1@easp0@eawp1@eawp2@easp3@easp2@eawp3@",    /* 310 */
 62      "illop@illop@cana Billop@canq Billop@canaqBillop@",
 63      "lcx0 Billop@lcx1 Billop@lcx2 Billop@lcx3 Billop@",    /* 320 */
 64      "lcx4 Billop@lcx5 Billop@lcx6 Billop@lcx7 Billop@",
 65      "eawp4@easp5@easp4@eawp5@eawp6@easp7@easp6@eawp7@",    /* 330 */
 66      "illop@illop@lca  Billop@lcq  Billop@lcaq Billop@",
 67      "ansx0Jillop@ansx1Jillop@ansx2Jillop@ansx3Jillop@",    /* 340 */
 68      "ansx4Jillop@ansx5Jillop@ansx6Jillop@ansx7Jdvdr A",
 69      "epp0 @epbp0@epbp1@epp1 @epp2 @epbp2@epbp3@epp3 @",    /* 350 */
 70      "stac Jillop@ansa Jillop@ansq Jillop@stcd @illop@",
 71      "anx0 Billop@anx1 Billop@anx2 Billop@anx3 Billop@",    /* 360 */
 72      "anx4 Billop@anx5 Billop@anx6 Billop@anx7 Billop@",
 73      "epp4 @epbp4@epbp5@epp5 @epp6 @epbp6@epbp7@epp7 @",    /* 370 */
 74      "illop@illop@ana  Billop@anq  Billop@anaq Billop@",
 75      "illop@illop@mpf  Billop@mpy  Billop@illop@illop@",    /* 400 */
 76      "illop@illop@cmg  Billop@illop@illop@illop@illop@",
 77      "illop@illop@lde  Billop@illop@illop@rscr Billop@",    /* 410 */
 78      "illop@illop@ade  Billop@illop@illop@illop@illop@",
 79      "illop@illop@ufm  Billop@illop@illop@dufm Billop@",    /* 420 */
 80      "illop@illop@fcmg Billop@illop@illop@dfcmgBillop@",
 81      "fszn Billop@fld  Billop@illop@illop@dfld Billop@",    /* 430 */
 82      "illop@illop@ufa  Billop@illop@illop@dufa Billop@",
 83      "sxl0 Billop@sxl1 Billop@sxl2 Billop@sxl3 BsanA",      /* 440 */
 84      "sxl4 Billop@sxl5 Billop@sxl6 Billop@sxl7 Bspl  A",
 85      "stz  Billop@smic Billop@scpr Billop@illop@illop@",    /* 430 */
 86      "stt  @illop@fst  Billop@ste  Billop@dfst Billop@",
 87      "illop@illop@fmp  Billop@illop@illop@dfmp BlanA",      /* 460 */
 88      "illop@illop@illop@illop@illop@illop@illop@lpl  A",
 89      "fstr Billop@frd  Billop@dfstrBillop@dfrd Billop@",    /* 470 */
 90      "illop@illop@fad  Billop@illop@illop@dfad Billop@",
 91      "rpl  Pa9bd Aillop@a6bd Aillop@a4bd Aillop@abd  A",    /* 500 */
 92      "illop@illop@bcd  Billop@div  Billop@dvf  Bawd  A",
 93      "illop@illop@illop@illop@illop@illop@fneg Billop@",    /* 510 */
 94      "illop@illop@fcmp Billop@illop@illop@dfcmpBillop@",
 95      "rpt  Ps9bd Aillop@s6bd Aillop@s4bd Aillop@sbd  A",    /* 520 */
 96      "illop@illop@fdi  Billop@illop@illop@dfdi Bswd  A",
 97      "illop@illop@neg  Billop@cams @camp @negl Billop@",    /* 530 */
 98      "illop@illop@ufs  Billop@illop@illop@dufs Billop@",
 99      "sprp0@ara0 Asprp1@ara1 Asprp2@ara2 Asprp3@ara3 A",    /* 540 */
100      "sprp4@ara4 Asprp5@ara5 Asprp6@ara6 Asprp7@ara7 A",
101      "sbar @illop@stba Billop@stbq Billop@smcm Billop@",    /* 550 */
102      "stc1 @illop@illop@illop@illop@illop@ssdp @sptp @",
103      "rpd  Paar0 Aillop@aar1 Aillop@aar2 Aillop@aar3 A",    /* 560 */
104      "illop@aar4 Afdv  Baar5 Aillop@aar6 Adfdv Baar7 A",
105      "illop@illop@illop@illop@illop@illop@fno  Billop@",    /* 570 */
106      "illop@illop@fsb  Billop@illop@illop@dfsb Billop@",
107      "tze  dtrtn dtnz  dtrtf dtnc  dillop@trc  dillop@",    /* 600 */
108      "tmi  dtmoz dtpl  dtpnz dillop@ttn  dttf  dillop@",
109      "rtcd `illop@illop@illop@illop@illop@rcu  `illop@",    /* 610 */
110      "teo  dillop@teu  dillop@dis  @illop@tov  dillop@",
111      "eax0 Billop@eax1 Billop@eax2 Billop@eax3 Billop@",    /* 620 */
112      "eax4 Billop@eax5 Billop@eax6 Billop@eax7 Billop@",
113      "ret  `illop@illop@illop@illop@illop@rccl Billop@",    /* 630 */
114      "ldi  @illop@eaa  Billop@eaq  Billop@ldt  @illop@",
115      "ersx0Jarn0 @ersx1Jarn1 @ersx2Jarn2 @ersx3Jarn3 @",    /* 640 */
116      "ersx4Jarn4 @ersx5Jarn5 @ersx6Jarn6 @ersx7Jarn7 @",
117      "spri4@spbp4@spbp5@spri5@spri6@spbp6@spbp7@spri7@",    /* 650 */
118      "stacqJillop@ersa Jillop@ersq Jillop@scu  @illop@",
119      "erx0 Bnar0 @erx1 Bnar1 @erx2 Bnar2 @erx3 Bnar3 @",    /* 660 */
120      "erx4 Bnar4 @erx5 Bnar5 @erx6 Bnar6 @erx7 Bnar7 @",
121      "tsp4 `illop@tsp5 `illop@tsp6 `illop@tsp7 `illop@",    /* 670 */
122      "lcpr @illop@era  Billop@erq  Billop@eraq Billop@",
123      "tsx0 `illop@tsx1 `illop@tsx2 `illop@tsx3 `illop@",    /* 700 */
124      "tsx4 `illop@tsx5 `illop@tsx6 `illop@tsx7 `illop@",
125      "tra  `illop@illop@illop@illop@illop@call6`illop@",    /* 710 */
126      "illop@illop@tss  `illop@xec  @illop@xed  @illop@",
127      "lxl0 Billop@lxl1 Billop@lxl2 Billop@lxl3 Billop@",    /* 720 */
128      "lxl4 Billop@lxl5 Billop@lxl6 Billop@lxl7 Billop@",
129      "illop@illop@ars  Billop@qrs  Billop@lrs  Billop@",    /* 730 */
130      "illop@illop@als  Billop@qls  Billop@lls  Billop@",
131      "stx0 Bsar0 @stx1 Bsar1 @stx2 Bsar2 @stx3 Bsar3 @",    /* 740 */
132      "stx4 Bsar4 @stx5 Bsar5 @stx6 Bsar6 @stx7 Bsar7 @",
133      "stc2 @illop@stca Billop@stcq Billop@sreg Billop@",    /* 750 */
134      "sti  @sra  @sta  Billop@stq  Bsptr @staq Billop@",
135      "lprp0@lar0 @lprp1@lar1 @lprp2@lar2 @lprp3@lar3 @",    /* 760 */
136      "lprp4@lar4 @lprp5@lar5 @lprp6@lar6 @lprp7@lar7 @",
137      "illop@illop@arl  Billop@qrl  Billop@lrl  Billop@",    /* 770 */
138      "gtb  Blra  @alr  Billop@qlr  Billop@llr  Billop@");
139 
140 dcl  SREG int static options (constant) bit (9) init ("111101011"b),
141      STBA int static options (constant) bit (9) init ("101101001"b),
142      STBQ int static options (constant) bit (9) init ("101101010"b),
143      STCA int static options (constant) bit (9) init ("111101001"b),
144      STCQ int static options (constant) bit (9) init ("111101010"b),
145      XEC int static options (constant) bit (9) init ("111001110"b),
146      XED int static options (constant) bit (9) init ("111001111"b);
147 
148 dcl  TAG_table (8) char (40) int static options (constant)init (                          /* tag table */
149      "     au   qu   du   ic   al   ql   dl   ",
150      "x0   x1   x2   x3   x4   x5   x6   x7   ",
151      "n*  aau* aqu* aill  ic* aal* aql* aill  ",
152      "x0* ax1* ax2* ax3* ax4* ax5* ax6* ax7* a",
153      "fi   itp  ill  its  sd   scr  f2   f3   ",
154      "ci   i    sc   ad   di   dic aid   idc a",
155      "*n   *au  *qu  ill  *ic  *al  *ql  ill  ",
156      "*x0  *x1  *x2  *x3  *x4  *x5  *x6  *x7  ");
157 
158 
159 dcl 1 OP (1024) based (OP_ptr),
160     2 code char (5) unal,
161     2 pad bit (3) unal,
162     2 TR bit (1),
163     2 RPT bit (1),
164     2 ALT bit (1),
165     2 COND bit (1),
166     2 OUOP bit (1),
167     2 DUOP bit (1);
168 
169 dcl 1 TAG (64) based (TAG_ptr),
170     2 code char (4) unal,
171     2 pad bit (8) unal,
172     2 chain bit (1);
173 
174