DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦eb9c004c4⟧ TextFile

    Length: 1536 (0x600)
    Types: TextFile
    Names: »readparamtx«

Derivation

└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ.  Detaljer om "HC8000" projekt.
    └─⟦0364f57e3⟧ 
        └─⟦80900d603⟧ »giprocfile« 
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
    └─⟦b2ec5d50f⟧ 
        └─⟦80900d603⟧ »giprocfile« 
            └─⟦this⟧ 

TextFile



;       read_param_tx         * page 1   27 09 77, 11.35;  

;  read_param
;  ************

if listing.yes
char 10 12 10

read_param=set 1 

read_param=algol 

external integer procedure read_param
_______________________________________
_                (a);  
array             a;  

comment
the procedure reads the parameters in the FP command
activating the program.

read_param:   kind of item stored in a
_    -1         <text>= (at first call and after wrap around)
_     0         end_of_parameter_list
_     1         <s><integer>
_     2         <s><text>
_     3         .<integer>
_     4         .<text>

a:           (return value, real array, length >=2).  
an integer is floated into the first element of a, a text item
is assigned into a(1:2).

the parameter list is scanned by means of system(4, q, a). 
at the end_of_parameter_list reading continues with the first
first parameter again. the program name is always skipped;  

begin
  own integer     q;  
  integer         i;  

  q := q + 1;  
  i := system(4, q, a);  

  if q<>1 or i <> (6 shift 12) + 10 then
  begin comment not first nor = sign;  
    if i <> 0 then
    read_param := (if i shift(-12)=8 then 2 else 0)
    _              +(if i extract 12=10 then 2 else 1)
    else
    read_param := q := 0;  
  end not first nor =sign
  else
  begin comment first and = sign;  
    system(4, 0, a);  
    read_param := -1;  
  end first and = sign;  

end read_param;  

end

if warning.yes
(mode 0.yes
message read_param not ok
lookup read_param)
▶EOF◀