" " Begin include file ...... argmul.incl.alm " rewrittten 2/75 THVV nss " last modified 3/12/76 by Noel I. Morris " ARGMUL is called to convert an external-form address typed by " the operator into the internal format. " The operator may specify one of the following (where is " any legitimate argument string to argbos): " [ONLY | ENTIRE | FOR | TO ] "calling sequence: " (set up arguments in "arg") " (make x0 be arg no of first one) " tsx2 argmul " tra error " if successful, argmul will type out a message of the form " ( ) TO " the quantities dvt, first, and last will be set. argmul: stx2 am.x2 "save return loc stx1 am.x2+1 and x1 tsx2 argbos Scans arg list for one address. arg am.dvt (output) arg am.prnum tra am.err stca am.size,03 Save sector size. stq am.limit Save sector limit. tsx2 bosmul Convert to Multics address. arg am.dvt tra am.err1 sta am.first Save returned Multics address. sta am.last lda am.limit Get address limit. tsx2 bosmul Convert to Multics address. arg am.dvt arg am.err1 sta am.limit Save converted limit. lda arg,0 Get extent keyword. eax1 1,0 Save X0 in X1. eax7 0 Initialize index for search. rpt am.tabl/2,2,tze Search table. cmpa am.tab,7 .. eax0 0,1 Restore X0. ttf -1,7 Dispatch through table. tra am.err2 If not found, error. am.only: tra am.done Already have limit. am.entire:lda am.limit Get last record number. sta am.last That's the limit. tra am.done .. am.for: lda am.prnum Original request in A. sba 1,dl Minus 1. tra *+2 Compute and save limit. am.to: lda 0,dl Clear A. ada arg,0 Add it up. tmi am.err1 Must be positive. eax0 1,0 Step to next arg. ldq am.size Get sector size. cmpq 2,dl Multics or BOS? tmi am.glsec If 1, BOS sector. cmpa am.limit Make sure it's legal. tpnz am.err1 tra am.setl am.glsec: als 12 Shift to sector address position. tsx2 bosmul Convert to Multics address. arg am.dvt tra am.err1 am.setl: sta am.last And save it. am.done: lda am.last Get end point. cmpa am.first Compare against starting point. tmi am.err1 Must be greater or equal. lda am.dvt Make pretty comment arl 18 stba am.drv,04 arl 9 stca am.chn,01 arl 6 adla =h a sta am.iom lxl7 am.dvt anx7 =o17,du lda fs_dev.dev_type_names-1,7 sta am.type lxl7 am.dvt anx7 =o777760,du tze am.bulk If zero, must be bulk store. lda com|DISK_cd.sub,7 sta am.sub tsx2 erpt "tell what goes on acc "^a ^d (^a ^g ^o) ^d. to ^d." arg am.sub arg am.drv arg am.type arg am.iom arg am.chn arg am.first arg am.last tra am.x2 Now return. am.bulk: tsx2 erpt acc "BULK ^d. to ^d." arg am.first arg am.last am.x2: eax2 * Normal exit eax1 * tra 1,2 Wins " am.err1: tsx2 erpt acc "Improper device address." tra am.err am.err2: tsx2 erpt acc "'^g' must be 'entire', 'only', 'to', or 'for'." arg arg-1,0 am.err: ldx2 am.x2 Loses ldx1 am.x2+1 tra 0,2 " am.tab: bci 'entire' tra am.entire bci ' only' tra am.only bci ' to' tra am.to bci ' for' tra am.for equ am.tabl,*-am.tab am.drv: bss ,1 am.sub: bss ,1 am.type: bss ,1 am.chn: bss ,1 am.iom: bss ,1 am.first: zero am.last: zero am.dvt: zero am.limit: zero am.prnum: zero am.size: zero " End of include file ...... argmul.incl.alm " " " ----------------------------------------------------------- " " " " 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 " "