" *********************************************************** " * * " * Copyright, (C) Honeywell Information Systems Inc., 1982 * " * * " *********************************************************** "runcom print name to print file "runcom run name to start executing name "runcom skip name to skip through macro file, execution starts when go is typed " Modified 9/17/75 by Noel I. Morris " ****************************************************** " * * " * * " * Copyright (c) 1972 by Massachusetts Institute of * " * Technology and Honeywell Information Systems, Inc. * " * * " * * " ****************************************************** include bosequ " stx2 x2 eax0 0,2 tsx2 init_io tsx2 ttyinit arg ttyrequest stc1 nlraw,* quiet and tty commands aren't recognized lda com|quietsw save quiet switch setting sta qtemp lcq 1,dl make a line mark stq pagectl .. lxl7 mem|0,0 get address of command line stx7 lineloc and save orsx7 linedesc set descriptor to command line ldx0 mem|0,0 get loc of args stx0 argloc save it lda mem|1,0 first arg ldq mem|2,0 probably name stq name eax7 0 search command list rpt ncom/2,2,tze cmpa coml,7 ttf -1,7* sta name command not found, use as name ldx0 argloc but adjust argument pointer first eax0 -1,0 .. stx0 argloc .. run: lda name get name again tsx2 runcom_setup init common to read from macro file tra x2 mlr (pr,id),(pr) copy the command line arg linedesc desc6a com|macroline,84 ldx0 argloc get location of args eax7 0 start counter argloop: lda mem|2*(arglen+1)+2,0 get argument descriptor ana =o077777777777 remove segment tag sbla lineloc subtract location of line adla com*32768+macroline,du relocate to copied line sta com|macroargs,7 and save eax0 1,0 step to next arg eax7 1,7 count args cmpx7 10,du for 10 args tmi argloop .. tra x2 and exit ttyrequest: stz com|macroloc clear this, in case of exit by request button x2: eax2 * stz nlraw,* lda qtemp sta com|quietsw restore quiet switch lca =1,dl tra mem|1,2 return to bos qtemp: oct 0 " coml: bci " load" tra load bci " print" tra print bci " punch" tra punchout bci " run" tra run bci " skip" tra skip equ ncom,*-coml " load: "here to load a macro file stc1 com|quietsw tsx2 make_runcom_file build runcom file image tra get_runcom_line subroutine to get each line tra x2 lda name get name of file tsx2 store_runcom_file store completed file tra x2 tra x2 that's all get_runcom_line: stx2 grlx2 save X2 tsx2 nextline get next line of input grlx2: eax2 * restore X2 lda arg check for "runcom end" on card cmpa =hruncom .. tnz 1,2 .. lda arg+1 .. cmpa =h end .. tnz 1,2 if not end, take normal return tra 0,2 otherwise, EOF return " print: lda name name in A tsx2 runcom_setup setup to read from macro file tra x2 stz com|quietsw make sure they will be printed tsx2 nextline pull each line lda line until null line cmpa =h " tnz *-3 tra x2 punchout: lda name name in A tsx2 runcom_setup setup to read macro tra x2 stc1 com|quietsw turn off printing lda =hruncom sta line lda =h load " sta line+1 lda name name of runcom sta line+2 lda =h " blank out rest of line eax2 14-3-1 sta line+3,2 eax2 -1,2 tpl *-2 tsx2 punch punch out runcom load card next_punch: tsx2 nextline grab next line lda line check for null line cmpa =h " tze end_punch stop at end of runcom tsx2 punch punch it out tra next_punch keep punching end_punch: lda =hruncom sta line lda =h end " sta line+1 tsx2 punch punch out runcom end card lda =h " blank out card sta line sta line+1 tsx2 punch eject blank card tsx2 punch and another tra x2 all finished " skip: stc2 com|skipsw set skip switch tra run join common code " name: oct 0 macro file name mloc: oct 0 first loc of macro file lineloc: bss ,1 location of command line linedesc: desc6a mem|0,84 descriptor to copy command line argloc: bss ,1 location of first arg to runcom include runcom_util include bos_tv include bos_common 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 " "