" Macros for creating IOM control words. They require that make_data_macros " have already been included. Formats: " " make_pcw PCW_name, " Command, " Channel, " Device, " {record,multirecord,character,nondata}, " {proceed,terminate,marker}, " [ChanData,] " [Extension,] " [mask,] " " make_ddcw DDCW_name, " Address, " Tally, " {iotd,iotp,iontp}, " [{char,word},] " [CharOffset] " " make_idcw IDCW_name, " Command, " Device, " {record,multirecord,character,nondata}, " {proceed,terminate,marker}, " [ChanData,] " [Extension,] " [mask,] " " make_tdcw TDCW_name, " Address, " [([restrict,][extend,][relative])] " " " ------------------------------------------------------------ macro make_pcw maclist off,save &>6,&K&[ ife foo,foo warn (make_pcw: At least six arguments are required.) maclist restore ifend_exit " give up on this one &] assign_by_keyword make_pcw.chan_cmd,(&5),make_pcw, (Channel command must be one of record, nondata, multirecord, or character, not &5), (record,0),(rec,0),(nondata,2),(multirecord,6),(character,8),(char,8) assign_by_keyword make_pcw.chan_ctrl,(&6),make_pcw, (Channel control must be one of terminate, proceed, or marker, not &6), (terminate,0),(proceed,2),(marker,3) assign_by_keyword make_pcw.mask,(&9),make_pcw, (Mask must be either mask, or omitted, not &9.), ((),0),(mask,1) set make_pcw.command,&2 set make_pcw.channel,&3 set make_pcw.device,&4 set make_pcw.chan_data,(&7) set make_pcw.extension,(&8) " Now, generate it maclist on even &1: maclist object vfd_mac 6/make_pcw.command, 6/make_pcw.device, 6/make_pcw.extension, 3/7, 1/make_pcw.mask, 2/make_pcw.chan_ctrl, 6/make_pcw.chan_cmd, 6/make_pcw.chan_data vfd_mac 3/0, 6/make_pcw.channel, 27/0 maclist restore &end " ------------------------------------------------------------ macro make_idcw maclist off,save &>5,&K&[ ife foo,foo warn (make_idcw: At least five arguments are required.) maclist restore ifend_exit " give up on this one &] assign_by_keyword make_pcw.chan_cmd,(&4),make_idcw, (Channel command must be one of record, nondata, multirecord, or character, not &4), (record,0),(rec,0),(nondata,2),(multirecord,6),(character,8),(char,8) assign_by_keyword make_pcw.chan_ctrl,(&5),make_idcw, (Channel control must be one of terminate, proceed, or marker, not &5), (terminate,0),(proceed,2),(marker,3) assign_by_keyword make_pcw.mask,(&8),make_idcw, (Mask must be either mask, or omitted, not &8.), ((),0),(mask,1) set make_pcw.command,&2 set make_pcw.device,&3 set make_pcw.chan_data,(&6) set make_pcw.extension,(&7) " Now, generate it maclist on &1: maclist object vfd_mac 6/make_pcw.command, 6/make_pcw.device, 6/make_pcw.extension, o3/7, 1/make_pcw.mask, 2/make_pcw.chan_ctrl, 6/make_pcw.chan_cmd, 6/make_pcw.chan_data maclist restore &end " ------------------------------------------------------------ macro make_ddcw maclist off,save &>4,&K&[ ife foo,foo warn (make_ddcw: At least four arguments are required.) maclist restore ifend_exit " give up on this one &] assign_by_keyword make_ddcw.op_type,&4,make_ddcw, (Operation type must be one of iotd, iotp, or iontp, not &4.), (iotd,0),(iotp,1),(iontp,3) assign_by_keyword make_ddcw.tally_type,(&5),make_ddcw, (Tally type must be either word, character, or omitted, not &5.), ((),0),(word,0),(character,1),(char,1) set make_ddcw.address,&2 set make_ddcw.tally,&3 set make_ddcw.char_offset,(&6) " Now, generate it maclist on &1: maclist object vfd_mac 18/make_ddcw.address, 3/make_ddcw.char_offset, 1/make_ddcw.tally_type, 2/make_ddcw.op_type, 12/make_ddcw.tally maclist restore &end " ------------------------------------------------------------ macro make_tdcw maclist off,save &>2,&K&[ ife foo,foo warn (make_tdcw: At least two arguments are required.) maclist restore ifend_exit " give up on this one &] set make_tdcw.address,&2 set make_tdcw.bits,0 &(3 make_tdcw.get_bits &i &) " Now, generate it maclist on &1: maclist object vfd_mac 18/make_tdcw.address, 4/0, 2/2, 9/0, 3/make_tdcw.bits maclist restore &end " " " ----------------------------------------------------------- " " " " 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 " "