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

⟦8f7a89b8b⟧ TextFile

    Length: 4608 (0x1200)
    Types: TextFile
    Names: »job3tx      «

Derivation

└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
    └─⟦75ff9bef3⟧ 
        └─⟦this⟧ »job3tx      « 

TextFile

\f


;   rc 26.10.70   fp utility  job            page 1

;   job copies current input over on a work area. when end medium
;   is met current input is unstacked,stacked and the work area is
;   connected as current input.

b. g3 w.             ;  insertproc block
d.
p.<:fpnames:>
l.
s.  a5,b8,c3 w.      ;  program segment
k= h55
b0:    100,0,r.9     ;  100 segments , 9 tail words
b1:        0,r.4     ;  name of work area
b2:        0,r.4     ;  stack chain for current output
b3:        768       ;  number of charecters on one segment
b4:        0         ;  saved alarm
b5: <:*** job create area result = <0>:>
b6: <:*** job connect out result = <0>:>
b7: <:*** job change area result = <0>:>
b8: <:*** job connect in  result = <0>:>
a0:  g2=a0-b0        ; entry:
c. h57<2 ; if system 2 then
    al. w1  b0.      ;  w1:= tail address;
    al. w3  b1.      ;  w3:= name address;
    jd      1<11+40  ;  create area;
    se  w0  0        ;  if w0<>0 then 
    jl.     c0.      ;  goto area alarm;
    al. w1  h21.     ;  w1:= add of current out;
    al. w2  b2.      ;  w2:= stack chain address;
    jl. w3  h29.     ;  stack zone;
    al. w2  b1.      ;  w2:= add of name;
    al  w0  1<1+1    ;  default: connect one segment on disc;
    jl. w3  h28.     ;  connect output;
    se  w0  0        ;  if w0<>0 then
    jl.     c1.      ;  goto connect out alarm;
    al  w0  0        ;  w0:= 0;
a1:                  ; rep:
    jl. w3  h25.-2   ;  inchar from current in;
    sn  w2  25       ;  if end medium then
    jl.     a2.      ;  goto finish;
    jl. w3  h26.-2   ;  outchar on current out;
    ba. w0  1        ;  w0:=w0+1;
    jl.     a1.      ;  goto rep;
a2:                  ; finish:
    jl. w3  h34.-2   ;  close up on current out;
    al  w3  0        ;  
    wd. w0  b3.      ;  w0:=( w3w0//768 ) + 1 ;
    ba. w0  1        ; 
    rs. w0  b0.      ;  area length:= w0;
    al. w1  b0.      ;  w1:= add of tail;
    al. w3  b1.      ;  w3:=name address;
    jd      1<11+44  ;  change entry;
    se  w0  0        ;  if w0<>0 then
    jl.     c2.      ;  goto change area alarm;
    jl. w3  h79.-4   ;  terminate current in;
    jl. w3  h30.-4   ;  unstack current in;
    jl. w3  h29.-4   ;  stack current in;
    al. w2  b1.      ;  w2:= add of area name;
    jl. w3  h27.-2   ;  connect current in;
    se  w0  0        ;  if w0<>0 then
    jl.     c3.      ;  goto connect in alarm;
    al  w2  1        ;  
    rs  w2  x1+h2    ;  give up(current in):=1; (i-bit)
    \f


;   rc 26.10.70   fp utility  job            page ...2...

;   normaly w0 is zero on entry to this page but on alarm jumps
;   to a c-name w0 containes the alarm cause to be printed;

c0: am      b5-b6    ; area alarm:
c1: am      b6-b7    ; connect out alarm:
c2: am      b7-b8    ; change area alarm:
c3: al. w2  b8.      ; connect in alarm:
    rs. w2  b4.      ;  b4:=saved text add;
    jl. w3  h79.-2   ;  terminate current out;
    al. w2  b2.      ;  w2:= stack chain;
    jl. w3  h30.     ;  unstack zone;
    sn  w0  0        ;  if alarm cause=0 then
    jl.     a4.      ;  goto normal exit;
    rx. w0  b4.      ;  w0:=text add; b4:=alarm cause;
    jl. w3  h31.-2   ;  outtext on current output;
    rl. w0  b4.      ;  w0:= alarm cause;
    al. w3  a3.      ;  
    jl. w3  h32.-2   ;  out integer on current out;
a3: 1<23+32<12+4     ;  layout
    al  w2  10       ;
    jl. w3  h26.-2   ;  write new line on current out;
    am      1        ;  ok:= false;
z.
a4: al  w2  0        ; normal exit:   ok:= true;
    jl. w3  h7.      ;  goto end program;
a5: g3=a5-b0         ;  g3:= length of code;
i.e.                 ;  end of segment , names.
m.rc 07.02.74 fp utility, job


;   tail part:
g0:g1:               ; first and last tail;
             1       ;  one segment
             0,r.4   ;  doc.name
             s2      ; date
             0,0     ;  file, block
h.           2,g2    ;  program,entry
w.i.         g3      ;  length
d.
p.<:insertproc:>
l.

\f

▶EOF◀