/* BEGIN INCLUDE FILE ... opcode_tag_table.incl.pl1 * ... created by R. L. Coppola 8/80. */ dcl (OP_ptr, TAG_ptr) ptr; /* pointers to op code and tag tables */ dcl LREG int static options (constant) bit (9) init ("000111011"b), NOP int static options (constant) bit (9) init ("000001001"b); dcl OP_table (128) int static options (constant) char (48) unal init ( /* opcode table */ "illop@illop@mme1 @illop@drl @illop@illop@illop@", /* 000 */ "mme2 @illop@mme3 @illop@illop@illop@mme4 @illop@", "illop@illop@nop @illop@puls1@illop@puls2@illop@", /* 010 */ "illop@illop@cioc @illop@illop@illop@illop@illop@", "adlx0Bmve Aadlx1Billop@adlx2Billop@adlx3Billop@", /* 020 */ "adlx4Bmvne Aadlx5Billop@adlx6Billop@adlx7Billop@", "illop@illop@illop@illop@ldqc Jillop@adl Billop@", /* 030 */ "ldac Jillop@adla Billop@adlq Billop@adlaqBillop@", "asx0 Jillop@asx1 Jillop@asx2 Jillop@asx3 Jillop@", /* 040 */ "asx4 Jillop@asx5 Jillop@asx6 Jillop@asx7 Jillop@", "adwp0Billop@adwp1Billop@adwp2Billop@adwp3Billop@", /* 050 */ "aos Jillop@asa Jillop@asq Jillop@sscr Billop@", "adx0 Bcsl Aadx1 Bcsr Aadx2 Billop@adx3 Billop@", /* 060 */ "adx4 Bsztl Aadx5 Bsztr Aadx6 Bcmpb Aadx7 Billop@", "illop@illop@awca Billop@awcq Billop@lreg Billop@", /* 070 */ "illop@illop@ada Billop@adq Billop@adaq Billop@", "cmpx0Bmlr Acmpx1Bmrl Acmpx2Billop@cmpx3Billop@", /* 100 */ "cmpx4Billop@cmpx5Billop@cmpx6Bcmpc Acmpx7Billop@", "illop@illop@cwl Billop@illop@illop@illop@illop@", /* 110 */ "illop@illop@cmpa Billop@cmpq Billop@cmpaqBillop@", "sblx0Bscd Asblx1Bscdr Asblx2Billop@sblx3Billop@", /* 120 */ "sblx4Bscm Asblx5Bscmr Asblx6Billop@sblx7Billop@", "illop@illop@illop@illop@illop@illop@illop@illop@", /* 130 */ "illop@illop@sbla Billop@sblq Billop@sblaqBillop@", "ssx0 Jillop@ssx1 Jillop@ssx2 Jillop@ssx3 Jillop@", /* 140 */ "ssx4 Jillop@ssx5 Jillop@ssx6 Jillop@ssx7 Jillop@", "adwp4Billop@adwp5Billop@adwp6Billop@adwp7Billop@", /* 150 */ "sdbr @sptr @ssa Jillop@ssq Jillop@illop@illop@", "sbx0 Bmvt Asbx1 Billop@sbx2 Billop@sbx3 Billop@", /* 160 */ "sbx4 Btct Asbx5 Btctr Asbx6 Billop@sbx7 Billop@", "illop@illop@swca Billop@swcq Billop@lpri @lptr @", /* 170 */ "illop@illop@sba Billop@sbq Billop@sbaq Billop@", "cnax0Billop@cnax1Billop@cnax2Bad2d Acnax3Bsb2d A", /* 200 */ "cnax4Billop@cnax5Billop@cnax6Bmp2d Acnax7Bdv2d A", "illop@illop@cmk Billop@absa Billop@epaq Billop@", /* 210 */ "sznc Jillop@cnaa Billop@cnaq Billop@cnaaqBillop@", "ldx0 Billop@ldx1 Billop@ldx2 Bad3d Aldx3 Bsb3d A", /* 220 */ "ldx4 Billop@ldx5 Billop@ldx6 Bmp3d Aldx7 Bdv3d A", "lbar @illop@rsw Billop@ldbr @lsdr @rmcm Billop@", /* 230 */ "szn Billop@lda Billop@ldq Billop@ldaq Billop@", "orsx0Jillop@orsx1Jillop@orsx2Jillop@orsx3Jillop@", /* 240 */ "orsx4Jillop@orsx5Jillop@orsx6Jillop@orsx7Jillop@", "spri0@spbp0@spbp1@spri1@spri2@spbp2@spbp3@spri3@", /* 250 */ "spri @ssdr @orsa Jillop@orsq Jillop@lsdp @lptp @", "orx0 Billop@orx1 Billop@orx2 Billop@orx3 Billop@", /* 260 */ "orx4 Billop@orx5 Billop@orx6 Billop@orx7 Billop@", "tsp0 `illop@tsp1 `illop@tsp2 `illop@tsp3 `illop@", /* 270 */ "illop@illop@ora Billop@orq Billop@oraq Billop@", "canx0Bmvn Acanx1Bbtd Acanx2Billop@canx3Bcmpn A", /* 300 */ "canx4Billop@canx5Bdtb Acanx6Billop@canx7Billop@", "eawp0@easp1@easp0@eawp1@eawp2@easp3@easp2@eawp3@", /* 310 */ "illop@illop@cana Billop@canq Billop@canaqBillop@", "lcx0 Billop@lcx1 Billop@lcx2 Billop@lcx3 Billop@", /* 320 */ "lcx4 Billop@lcx5 Billop@lcx6 Billop@lcx7 Billop@", "eawp4@easp5@easp4@eawp5@eawp6@easp7@easp6@eawp7@", /* 330 */ "illop@illop@lca Billop@lcq Billop@lcaq Billop@", "ansx0Jillop@ansx1Jillop@ansx2Jillop@ansx3Jillop@", /* 340 */ "ansx4Jillop@ansx5Jillop@ansx6Jillop@ansx7Jdvdr A", "epp0 @epbp0@epbp1@epp1 @epp2 @epbp2@epbp3@epp3 @", /* 350 */ "stac Jillop@ansa Jillop@ansq Jillop@stcd @illop@", "anx0 Billop@anx1 Billop@anx2 Billop@anx3 Billop@", /* 360 */ "anx4 Billop@anx5 Billop@anx6 Billop@anx7 Billop@", "epp4 @epbp4@epbp5@epp5 @epp6 @epbp6@epbp7@epp7 @", /* 370 */ "illop@illop@ana Billop@anq Billop@anaq Billop@", "illop@illop@mpf Billop@mpy Billop@illop@illop@", /* 400 */ "illop@illop@cmg Billop@illop@illop@illop@illop@", "illop@illop@lde Billop@illop@illop@rscr Billop@", /* 410 */ "illop@illop@ade Billop@illop@illop@illop@illop@", "illop@illop@ufm Billop@illop@illop@dufm Billop@", /* 420 */ "illop@illop@fcmg Billop@illop@illop@dfcmgBillop@", "fszn Billop@fld Billop@illop@illop@dfld Billop@", /* 430 */ "illop@illop@ufa Billop@illop@illop@dufa Billop@", "sxl0 Billop@sxl1 Billop@sxl2 Billop@sxl3 BsanA", /* 440 */ "sxl4 Billop@sxl5 Billop@sxl6 Billop@sxl7 Bspl A", "stz Billop@smic Billop@scpr Billop@illop@illop@", /* 430 */ "stt @illop@fst Billop@ste Billop@dfst Billop@", "illop@illop@fmp Billop@illop@illop@dfmp BlanA", /* 460 */ "illop@illop@illop@illop@illop@illop@illop@lpl A", "fstr Billop@frd Billop@dfstrBillop@dfrd Billop@", /* 470 */ "illop@illop@fad Billop@illop@illop@dfad Billop@", "rpl Pa9bd Aillop@a6bd Aillop@a4bd Aillop@abd A", /* 500 */ "illop@illop@bcd Billop@div Billop@dvf Bawd A", "illop@illop@illop@illop@illop@illop@fneg Billop@", /* 510 */ "illop@illop@fcmp Billop@illop@illop@dfcmpBillop@", "rpt Ps9bd Aillop@s6bd Aillop@s4bd Aillop@sbd A", /* 520 */ "illop@illop@fdi Billop@illop@illop@dfdi Bswd A", "illop@illop@neg Billop@cams @camp @negl Billop@", /* 530 */ "illop@illop@ufs Billop@illop@illop@dufs Billop@", "sprp0@ara0 Asprp1@ara1 Asprp2@ara2 Asprp3@ara3 A", /* 540 */ "sprp4@ara4 Asprp5@ara5 Asprp6@ara6 Asprp7@ara7 A", "sbar @illop@stba Billop@stbq Billop@smcm Billop@", /* 550 */ "stc1 @illop@illop@illop@illop@illop@ssdp @sptp @", "rpd Paar0 Aillop@aar1 Aillop@aar2 Aillop@aar3 A", /* 560 */ "illop@aar4 Afdv Baar5 Aillop@aar6 Adfdv Baar7 A", "illop@illop@illop@illop@illop@illop@fno Billop@", /* 570 */ "illop@illop@fsb Billop@illop@illop@dfsb Billop@", "tze dtrtn dtnz dtrtf dtnc dillop@trc dillop@", /* 600 */ "tmi dtmoz dtpl dtpnz dillop@ttn dttf dillop@", "rtcd `illop@illop@illop@illop@illop@rcu `illop@", /* 610 */ "teo dillop@teu dillop@dis @illop@tov dillop@", "eax0 Billop@eax1 Billop@eax2 Billop@eax3 Billop@", /* 620 */ "eax4 Billop@eax5 Billop@eax6 Billop@eax7 Billop@", "ret `illop@illop@illop@illop@illop@rccl Billop@", /* 630 */ "ldi @illop@eaa Billop@eaq Billop@ldt @illop@", "ersx0Jarn0 @ersx1Jarn1 @ersx2Jarn2 @ersx3Jarn3 @", /* 640 */ "ersx4Jarn4 @ersx5Jarn5 @ersx6Jarn6 @ersx7Jarn7 @", "spri4@spbp4@spbp5@spri5@spri6@spbp6@spbp7@spri7@", /* 650 */ "stacqJillop@ersa Jillop@ersq Jillop@scu @illop@", "erx0 Bnar0 @erx1 Bnar1 @erx2 Bnar2 @erx3 Bnar3 @", /* 660 */ "erx4 Bnar4 @erx5 Bnar5 @erx6 Bnar6 @erx7 Bnar7 @", "tsp4 `illop@tsp5 `illop@tsp6 `illop@tsp7 `illop@", /* 670 */ "lcpr @illop@era Billop@erq Billop@eraq Billop@", "tsx0 `illop@tsx1 `illop@tsx2 `illop@tsx3 `illop@", /* 700 */ "tsx4 `illop@tsx5 `illop@tsx6 `illop@tsx7 `illop@", "tra `illop@illop@illop@illop@illop@call6`illop@", /* 710 */ "illop@illop@tss `illop@xec @illop@xed @illop@", "lxl0 Billop@lxl1 Billop@lxl2 Billop@lxl3 Billop@", /* 720 */ "lxl4 Billop@lxl5 Billop@lxl6 Billop@lxl7 Billop@", "illop@illop@ars Billop@qrs Billop@lrs Billop@", /* 730 */ "illop@illop@als Billop@qls Billop@lls Billop@", "stx0 Bsar0 @stx1 Bsar1 @stx2 Bsar2 @stx3 Bsar3 @", /* 740 */ "stx4 Bsar4 @stx5 Bsar5 @stx6 Bsar6 @stx7 Bsar7 @", "stc2 @illop@stca Billop@stcq Billop@sreg Billop@", /* 750 */ "sti @sra @sta Billop@stq Bsptr @staq Billop@", "lprp0@lar0 @lprp1@lar1 @lprp2@lar2 @lprp3@lar3 @", /* 760 */ "lprp4@lar4 @lprp5@lar5 @lprp6@lar6 @lprp7@lar7 @", "illop@illop@arl Billop@qrl Billop@lrl Billop@", /* 770 */ "gtb Blra @alr Billop@qlr Billop@llr Billop@"); dcl SREG int static options (constant) bit (9) init ("111101011"b), STBA int static options (constant) bit (9) init ("101101001"b), STBQ int static options (constant) bit (9) init ("101101010"b), STCA int static options (constant) bit (9) init ("111101001"b), STCQ int static options (constant) bit (9) init ("111101010"b), XEC int static options (constant) bit (9) init ("111001110"b), XED int static options (constant) bit (9) init ("111001111"b); dcl TAG_table (8) char (40) int static options (constant)init ( /* tag table */ " au qu du ic al ql dl ", "x0 x1 x2 x3 x4 x5 x6 x7 ", "n* aau* aqu* aill ic* aal* aql* aill ", "x0* ax1* ax2* ax3* ax4* ax5* ax6* ax7* a", "fi itp ill its sd scr f2 f3 ", "ci i sc ad di dic aid idc a", "*n *au *qu ill *ic *al *ql ill ", "*x0 *x1 *x2 *x3 *x4 *x5 *x6 *x7 "); dcl 1 OP (1024) based (OP_ptr), 2 code char (5) unal, 2 pad bit (3) unal, 2 TR bit (1), 2 RPT bit (1), 2 ALT bit (1), 2 COND bit (1), 2 OUOP bit (1), 2 DUOP bit (1); dcl 1 TAG (64) based (TAG_ptr), 2 code char (4) unal, 2 pad bit (8) unal, 2 chain bit (1); */ ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group Bull including Bull HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell Bull Inc., Groupe Bull and Bull HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, Bull or Bull HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by Bull HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved */