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

⟦e78203ba1⟧ TextFile

    Length: 22272 (0x5700)
    Types: TextFile
    Names: »retfp3tx    «

Derivation

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

TextFile

mode list.yes

fp4tx=edit fp3tx
; rettelser til release 4.0
; 
; iso 95 = _ rettes tilbage til blind fra illegal
;
; alle store bogstaver gøres legale
;
; extend area i simple check sender parent message hvis claims exceeded
; med wait bit undtagen hvis fp mode bswait (1<10) er false
;
; connect output, docname = 0, 1, 2, 3 => permkey
;
; h53=18 i stedet for h53=16
; 
; fyldtegn for positivt fortegn i integer i list command i load ændres
;   til 0 i stedet for 127
;
; i connect input/connect output trunceres process kind før indsættelse i zone
;
; connect output : segm = 0 => der skal ikke creeres en fil hvis ingen er
;
; connect output, magtape, after setmode ignoreres svaret (ingen enable)
;
; block io, magtape wait transfer : position fra devicet overføres til zonen
;
; magtape check, reposition indtil 5 gange i tilfælde af position error
;   og erase and retry op til 15 gange


l./page ...1/,        r/86.08.22/89.01.25/
l./c43/, r/c43/c50/
l./m.file processor/, r/86.10.10/89.01.25/
l./m.fp text 1/,      r/86.12.12/89.01.25/

l./page ...2/,        r/86.08.27/88.04.24/
l./w2 =/, r/=  /= /, p1

l./page ...3b/,       r/82.12.09/88.05.19/
l./h52:/, r/3<12/4<12/
l1, i/

h53 = 18                 ; no of halfwords in available area in front of zone buffers
/, p-1

l./page ...4/, r/82.12.09/88.05.19/
l./h53=/, d

l./page ...6/,
l./m.fp permanent/,   r/85.03.26/89.01.25/

l./block io, page ...2/, r/rc 19.05.72    /fgs 1989.01.25/
l./e18:/, i/

e23:  1<7                ; word defect bit
/, p1

l./block io, page ...3/, r/86.12.12/89.01.25/
l./dl. w1  c24./, d./ld  w2  24/, i#
      dl. w1  c24.       ; magnetic tape status bits:
      ld  w2  -23        ;   if bytes transferred > 0 then
      se  w0   0         ;   begin
      wd  w2   0         ;      if number of characters * 2
      se  w1   0         ;      modulo bytes transferred <> 0
      lo. w3  e23.       ;      then status:=status or word defect bit;
      rl. w2  c1.        ;   end;
      sz. w3 (c44.)      ;   if status.tape mark sensed = 1 then
      jl.     e30.       ;     goto skip;
      wa  w0   6         ;   if hwds xferred <> 0 or status <> 0 then
      sn  w0   0         ;   begin <*update pos in zone by pos in answer*>
      jl.     e30.       ;     zone.file, block :=
      dl. w1  c28.       ;       answ.file, block;
      ds  w1  x2+h1+14   ;     end;
e30:  ld  w2   24        ;   index := 0 again;

#

l./character io, page ...2/, r/26.03.73/88.04.24/
l./h33:/, 
l1,             r!console!terminal/console and!
l1, r/or /   /, r/punch/punch            and/
l1, r/or /   /, r/printer/printer          and/
l1, r/or /   /

l./page ...4/, 
l./m.fp io system/, r/86.12.12/89.01.27/

l./resident, page ...1/, r/86.12.12/89.01.25/
;l./h40:/, r/fp/fp5/
l./h85:/, d, r/    /h85:/, i/

/
l./; am  0/, d, i/

/

l./resident, page ...4/, r/rc 11.04.72  /fgs 1989.01.26/
l./h82:/, l2, i/

c44:  1<16               ; tape mark sensed
/, p1

l./simple check, page ...1/, r/84.09.04/88.04.24/
l./e17:/, l1, i#

                         ; working locations:
                     
                         ; fnc area:
e42:  44<12+2.0000011<5+1; fnc<12+pattern<5+wait
      <:bs :>            ;   <:bs :>
      0, r.4             ;   docname of area process
      0                  ;            segments
      0                  ;   0        entries

e47:  0                  ; area process descr.

e48:  0, r.10            ; tail

\f



; fgs 1988.04.24          fileprocessor         simple check, page ...2...




#, p-12

l./simple check, page ...1a/, d./e47:/, i#

\f



; fgs 1988.04.24          fileprocessor         simple check, page ...3...


e32:  jd      1<11+8     ; reserve: reserve process;
      se  w0  0          ;   if not reserved
      jl.     e1.        ;   then goto give up;
      jl.     e10.       ;   goto repeat;
e31:  bl  w0  x2+6       ; rejected:
      sn  w0  5          ;   if operation = output
      jl.     e32.       ;   then goto reserve;
      bz  w0  x1+h1+1    ;   w0 := zone.kind;
      sn  w0  6          ;   if kind = disc process then
      jl.     e32.       ;     goto reserve;
      jl.     e1.        ;   goto give up;

e46:  al  w3  x1+h1+2    ; extend:
      jd      1<11+4     ;   process description;
      rs. w0  e47.       ;
      am     (0)         ;
      rl  w0  18         ;   old size := no of segments (area process);
      rl  w3  x2+10      ;
      ws  w3  x2+8       ;   new size :=
      al  w3  x3+2       ;     segment(share) +
      ls  w3  -9         ;     (last transfer-first transfer+2)//512;
      wa  w3  x2+12      ;
      sl  w0  x3         ;   if old size >= newsize then
      jl.     e10.       ;   goto repeat;
      al  w0  x3         ;
      al  w3  0          ;
      am.     (e47.)     ;   device:=area(10);
      rl  w2  10         ;   slice length:=device(26);
      sn  w2  0          ;   if deviceref=0 then
      jl.     e33.       ;   jump
      wd  w0  x2+26      ;   new size :=
      se  w3  0          ;     (new size // slice length
      ba. w0  1          ;     + if remainder = 0 then 0 else 1)
      wm  w0  x2+26      ;      * slice length;
e33:  rl  w2  0          ;   w2 := new size;

\f



; fgs 1988.04.24          fileprocessor         simple check, page ...4...


e14:  al  w3  x1+h1+2    ;
      al. w1     e48.    ;
      jd         1<11+42 ;   lookup entry(area);   
      rs  w2  x1         ;   size := new size;
      jd         1<11+44 ;   change entry;
      se  w0     6       ;     if claims exceeded then
      jl.        e35.    ;     begin <*extend area*>
      rl. w0     e42.+12 ;       
      se  w0     0       ;       if fnc area.segm <> 0 then
      jl.        e29.    ;         goto give up;
      rl. w1     h51.    ;       
      sz  w1     1<10    ;       if mode.bswait = false then
      jl.        e34.    ;       begin
      rl. w0     e42.    ;         fnc area.fnc :=
      ls  w0    -1       ;           fnc area.fnc -
      ls  w0     1       ;           wait bit;
      rs. w0     e42.    ;       end;
e34:  rl. w1     e47.    ;       claim :=     
      rl. w0     e48.    ;         new size - 
      ws  w0  x1+18      ;         old size ; 
      rs. w0     e42.+12 ;       fnc area.segm := claim;
      dl  w0  x1+22      ;       move
      ds. w0     e42.+6  ;         area process.docname
      dl  w0  x1+26      ;       to
      ds. w0     e42.+10 ;         fnc area.docname;
      al. w1     e42.    ;       w1 := addr first  half fnc area;
      al  w2  x1+8       ;       w2 := addr second half fnc area;
      jl. w3     h35.    ;       parent message special (w1=fnc area);
      dl. w2     c5.     ;       w1 := zone; 
      rl. w2     e48.    ;       w2 := new size;
      jl.        e14.    ;       goto change entry;
                         ;     end else
e35:  sn  w0     0       ;     if result <> 0 then
      jl.        e26.    ;     begin
e29:  al  w0     0       ;       fnc area.segm := 0; 
      rs. w0     e42.+12 ;       goto give up;       
      jl.        e1.     ;     end else              
                         ;
e26:  rs. w0     e42.+12 ;     begin
      dl. w2     c5.     ;       fnc area.segm := 0;
      dl. w0     c11.    ;       restore registers ;
      jl.        e10.    ;       goto repeat;
                         ;     end;
#, p-12

l./page ...2/, r/28.05.72/88.04.24/, r/...2/...5/
l./e26:/, r/e26:/    /, p1
l./m.fp simple check/, r/84.09.04/88.05.04/

l./connect in, page ...4/, r/84.09.05/88.08.09/
l./ds  w0  x1+h1+2/, i/
      sz  w3   1         ;       <*if kind odd then
      al  w3  x3-1       ;           truncate kind*>
/, p-2

l./connect in, page ...5/, r/rc 08.08.73 /fgs 1988.08.09/
l./e36:/, r/e36: /;e36:/
l./a27:/, r/a27: /a27:/

l./connect in, page ...6/, r/rc 1976.02.02 /fgs 1988.08.09/
l./c. -g1/, r/-g1/-1-g1/
l./w. 0, r. g1/, d, i/

c. -1+g1
w. 0, r.g1 ; fill segment
z.
/, p-2

l./m.fp connect input/, r/86.12.12/88.08.09/

l./connect output, page ...1/, r/82.11.29/88.05.01/
l./c4:/, r/<1/<2/, r/<drum or disc>/permkey/
l./preferably on drum (if w0/, d1, i/
; connect output will create an area on the disc with the most
; resources of the particular permkey.
/, p-2
l./negaive/, r/negaive/negative/
l./greatest temporary/, d1, i/
; device with the greatest claims of the particular permkey) decreased
; by the absolute value of segments.
/, p-2

l./page ...2/, r/82.11./88.05.01/
l2, r/b9, e49 /b20, e49/

l./page ...3/, r/rc/fgs/, r/78.09.27/88.05.01/
l./convension/, r/convension/convention/

l./page ...4/, r/82.11.82/88.09.07/
l./sz  w3  1/, d5, i/
      al  w1  3         ;   lookup area (0) := 0;
      la  w1  6         ;   lookup area (1) := w0.permkey;
      ds. w1  h54.+2    ; 
      al  w0  x1        ;   key := permkey;
      as  w3 -2         ;   wanted := w0.segments > 2;
      sn  w3  0         ;   if wanted = 0 then
      jl.     b9.       ;     goto unknown;
/, p-5
l./as  w3  -1/, r/  -1/ -2 /
l1, d1

l./page ...5/, r/83.07.28/88.09.07/
l./jl. w2  a4./, d, i#


      rx  w0  6         ;   swop (claim, wanted);
      jl. w2  a4.       ;   convert to slices (claim);
      rx  w0  6         ;   swop (claim, wanted);
      jl. w2  a4.       ;   convert to slices (wanted);
#, p1
l./a13:/, d./jl.     h70.+2/, i/

a13:  rs. w2  c9.       ; descriptor found:
      rl. w3  h41.      ;   save file descriptor in c9;
      al  w3  x3+1      ;   segment (fp) := segment (fp) + 1;
      jl.     h70.+4    ;   call segment 2 (connect output);
/, p-5

; *********
;l./a13:/, r/rl  w0  x2/          /
;l./bz  w1  1/, d./al  w0  x1/, 
;r/;   w0 := kind > 1;/; call connect2:/
;***********

l./page ...7/, d./page ...7b/, i#

\f



; fgs 1988.05.01        fileprocessor        connect output, page ...7...
; segment 1


; procedure get claims (key, filedescriptor);
;
;                          call:             return:
;
; w0                       key               claim
; w1                       link              link
; w2                       -                 unchanged
; w3                       -                 unchanged
; 
; filedescriptor.docname   entry.docname or  docname of disc
;                          0, ..., 3         with claims
;
; The procedure finds the disc with the largest claims for the
; given key and returns the claims in w0 and the docname of the
; disc in filedescriptor.docname.
; If docname given in filedescriptor.docname is 0, all discs are
; searched for the one with the greatest claims of that particular
; permkey. The search goes on backwards from last disc to first disc
; or drum.
; If, however, the docname given is a document name for a disc
; included in the bs system, the procedure returns the claims
; for the given key for that disc.
;

a8:   ds. w3  h10.+4    ; get claims: (fp exception routine dump area used)
      rs. w1  h10.+0    ;   save (w2, w3); save return;
      zl  w2  64        ;
      sl  w2  9         ;   if monitor release > 8 then
      am      1         ;     key := key * 4       else
      ls  w0  1         ;     key := key * 2          ;
      hs. w0  b2.       ;

      al  w0 -2         ; 
      sh  w2  8         ;   if monitor <= 8 then
      hs. w0  b12.      ;     decr := -2;

      rl  w0  92        ;   w0 := first drum;
      rl  w1  96        ;   last device :=
      al  w1  x1-2      ;     top discs - 2;
      rs. w0  b1.       ;   first device := first drum;

\f



; fgs 1988.05.01        fileprocessor        connect output, page ...7a...
; segment 1


      rl. w2  h54.+2    ;   w2 := first word of docname;
      sh  w2  3         ;   if docname (1) <> (0, 1, 2, 3) then
      jl.     a12.      ;   begin <*docname specified*>

      al. w3  h54.+2    ; 
      jd      1<11 + 4  ;     w0 := proc descr addr (docname);
      sn  w0  0         ;     if process exists then
      jl.     a12.      ;     begin
      am     (0)        ;       w0 :=
      rl  w0  24        ;       chaintable addr (docname);
      
a25:  rl  w2  x1        ; loop: w2 := device.chaintable address;
      sn  w2 (0)        ;       if device.chaintable address <>
      jl.     a39.      ;          doc   .chaintable address then
                        ;       begin
      al  w1  x1-2      ;         device := device -2;
      jl.     a25.      ;         goto loop;
                        ;       end;

a39:  rs. w1  b1.       ;       first device := last device := device found;
                        ;     end process exists;
                        ;   end docname specified;
a12:  al  w0  0         ;
      rs. w0  h10.+8    ;   max slices := 0;

a9:   rl  w2  x1        ; next device:
      rl. w3  h16.      ;   w2 := device.chaintable address;
      wa  w3  x2-36     ;   w3 := device.key zero claims;
      rs. w3  h10.+12   ;   save  device.key zero claims;
      al  w0  2047      ;   min slices :=
      jl. w2  a3.       ;     convert to segments (
      rs. w0  h10.+10   ;     + infinity);
      
b2 = k + 1              ;   key * (if mon rel < 9 then 2 else 4);
      al  w3  x3+0      ;   w3 := device.slice claims.key

\f




; fgs 1988.05.01        fileprocessor        connect output, page ...7b...
; segment 1



a10:  zl  w0  64        ; next key:
      sl  w0  9         ;   if monitor release <= 8 then
      jl.     a36.      ;   begin <*halfwords*>
      rl  w0  6         ;     device key :=
      ws. w0  h10.+12   ;      (device.key  claims  -
      ls  w0 -1         ;       device.key0 claims) > 1;
      zl  w2  x3        ;     w2 := entry claims;
      sh  w0  1         ;     if device key <= 2 then
      al  w2  1         ;       w2 := 1;
      zl  w0  x3+1      ;     w0 := slice claims;
      jl.     a37.      ;   end else
a36:  rl  w0  6         ;   begin
      ws. w0  h10.+12   ;     device key :=
      ls  w0 -2         ;      (device key claims - device.key0 claims) > 2;
      rl  w2  x3        ;     w2 := entry claims;
      sh  w0  1         ;     if device key <= 2 then
      al  w2  1         ;       w2 := 1;
      rl  w0  x3+2      ;     w0 := slice claims;
a37:                    ;   end;
      sh  w2  0         ;   if entry claim = 0 then
      al  w0  0         ;     slice claim := 0;
      jl. w2  a3.       ;   convert to segments (slice claim);
      sh. w0 (h10.+10)  ;   if slice claim <= min slices then
      rs. w0  h10.+10   ;     min slices := slice claim;
b12=k+1                 ; decr:
a29:  al  w3  x3-4      ;   decrease sliceclaim key address by decr;
      sl. w3 (h10.+12)  ;     
      jl.     a10.      ;
                        ;   if claim key addr >= claim key 0 address then
                        ;     goto next key;
      rl  w2  x1        ;   device := chaintable;
      rl. w0  h10.+10   ;   
      sl. w0 (h10.+8)   ;   if min slices >= max slices then
      jl.     a11.      ;
      jl.     a38.      ;   begin
a11:  rs. w0  h10.+8    ;     max slices   := min slices;
      rs. w2  h10.+14   ;     best device  := device;
      rl  w0  x2-8      ;     slice length := slice length (device);
      rs. w0  h10.+6    ;   end;

a38:  al  w1  x1-2      ;   device := device - 2;
      sl. w1 (b1.)      ;   if device <> first device then
      jl.     a9.       ;     goto next device;

\f



; fgs 1988.05.01        fileprocessor        connect output, page ...7c...
; segment 1


      rl. w2  h10.+14   ;   get best device;
      dl  w0  x2-16     ;   move
      ds. w0  h54.+4    ;     chaintable.docname
      dl  w0  x2-12     ;   to
      ds. w0  h54.+8    ;     filedescriptor.docname;

      rl. w0  h10.+8    ;   w0 := max slices in segments;
      dl. w3  h10.+4    ;   restore (w2, w3);
      jl.    (h10.)     ;   return;

\f



; fgs 1988.05.01        fileprocessor        connect output, page ...7d...
; segment 1


; procedure convert to segments (slices);
;
;          call :                   return :
;
; w0     : slices                   slices * slicelength
; w1     : name table entry         unchanged
; w2     : link                     address chaintable
; w3     : device.slice claims.key  unchanged


b. b3                   ; begin block
w.

a3:   rs. w2  b2.       ;   save return;
      rl  w2  x1        ;   w2 := chain table entry;
      rs. w3  b3.       ;   save w3;
      wm  w0  x2-8      ;   slices := slices * slicelength;
      rl. w3  b3.       ;   restore w3;
      jl.    (b2.)      ;   return;

b2:   0                 ;   saved return
b3:   0                 ;   saved w3;

i.
e.                      ; end block


\f



; fgs 1988.05.01        fileprocessor        connect output, page ...7e...
#

l./page ...7c/, r/82.12.03/88.05.01/, r/7c/7f/

l./m.fp connect out 1/, r/85.03.07/89.02.02/

l./page ...8/, r/82.11.29/88.09.07/
l./e0:/, i/

; c4 : irrelevant    
; c7 : zone addr or 0
; c9 : file descr addr
; c11: link
/, p-4

l./rl. w1  c4./, d, i/
      rl  w0  x2        ;   w2 := addr file descr; w0 := file descr.kind;
      zl  w1  1         ;   kind := file descr.kind >
      ls  w1 -1         ;     1;
      sl  w1  e16       ;   if kind > max kind then
      jl.     a27.      ;     goto convention error;
      rs. w1  c4.       ;   save kind;
/, p-7

l./page ...9/, r/86.12.12/89.02.02/
l./a19:/, l-1, d./<:enable/

l./page ...10/, r/86.12.12/89.02.02/
l./; mount ring:/, d./jl.     a22./, d

l./connect output, page ...11/, r/82.11.29/88.09.07/
l./ds  w0  x1+h1+2/, i/
      sz  w3  1         ;        <*if kind odd then
      al  w3  x3-1      ;            truncate kind*>
/, p-2

l./page ...12/, r/82.11.29/88.05.01/
l./m.fp connect out/, r/86.12.12/89.02.02/

l./magtape check, page ...1/, r/84.09.04/88.12.09/
l./e2:/, r/+1<6/ /

l./e35:/, l1, i/
e31: <:<25><0><0>:>     ; 
/, p-1

l./magtape check, page ...1a/, r/rc 23.05.72/fgs 1989.01.25/
l./e22:/, l./jl.     e17./, r/e17./e23./, r/give up/parity/
l./e20:/, 
l./sz  w0  1<6/, i/
      sn  w3  8          ;   if operation = move then
      jl.     e15.       ;     goto check position;
/, p-2
l./jl.     e23./, r/e23./e29./, r/parity/prepare reposition;/, p-1 
l./e15:/, d./dl. w0  c11./, i#

e15:  al  w2  x3         ; check position:
      dl. w0  c28.       ;   
      se  w2  8          ;   if operation <> move then
      ds  w0  x1+h1+14   ;     zone.file, block := answer.file, block;
      sn  w3 (x1+h1+12)  ;   if answer.file count  <> zone.filecount
      se  w0 (x1+h1+14)  ;   or answer.block count <> zone.blockcount then
      jl.     e33.       ;     goto add position error bit;
      rl. w2  c5.        ;   w2 := share;
#
l./sn  w3  3  ;  if operation <> input/, r/sn/se/
l./so. w0 (e4.)/, d
l./al  w0  25/, d1, i/
                         ;   zone.first address := <:<25><0><0>:>;
      rl. w0  e31.       ;   top transferred := first addr + 2;
/, p-1
l./e33:/, l./jl.     e23./, r/e23./e29./, r/parity/prepare reposition/, p-1

l./magtape check, page ...2/, r/84.09.04/89.01.31/
l./sz. w0 (e2.)/, r/ , overrun or position/or overrun/, i/
      se  w3  0          ;   if operation = sense
      sl  w3  8          ;   or operation = move , out tapemark or setmode then
      jl.     e29.       ;     goto prepare reposition;
/, l1, p-4
;l./e0:/, r/no transport:/no transport: <*stopped or position error empty trans;fer*>/, i/
;      rl. w1  c22.       ; 
;      sz  w0  1<6        ;   if position error and
;      sh  w1  0          ;      halfs xferred > 0 then
;      jl.     e0.        ;
;      jl.     e17.       ;     goto give_up;
;/, l1, p-6
l./e21:/, d1, i/

e21:  sz  w3  2.111      ; mount tape:
      jl.     e30.       ;   if sense or move then
      jl.     e16.       ;     goto return;
e30:                     ;     <*the position is completed at next transfer*>
/, p-4

l./magtape check, page ...3/, r/84.09.04/88.12.09/
l./e27:/, i/

e29:  al  w1  0          ; prepare reposition:
      rs. w1  e35.       ;   reposition count := 0;
/, l1, p-2

l./magtape check, page ...4/, r/86.12.12/89.01.31/
l./sl  w3   5/, r/sl  w3   5/sl  w3  15/, r/=5/=15/
l./jl.     e27./, r/e27./e29./, r/repos/prepare repos/
l./jl.     e27./, r/e27./e29./, r/repos/prepare repos/

l./magtape check, page ...5/, 
l./m.fp magtape check/, r/86.12.12/89.01.31/

l./init,page ...1/, r/86.12.12/88.05.04/
l./e48, b12/, r/b12/b20/
l./init, page ...4/, r/86.12.12/88.05.02/
l./e4:/, r/1<1/1<2/
l1, r/device := drum;/permkey := 0;/
l./am.    (b8.)/, d2, i/
      am.    (b8.)       ;
      se  w1  x1         ;   if first init then
      jl.     e19.       ;   begin
;     al. w3  b13.       ;     
;     jd      1<11+4     ;       addr of process (<:s:>);
;     rl. w1  h17.       ;   
;     sn  w0  x1         ;     if addr of parent process = addr of <:s:> then
;     am      1<10       ;       add bswait to fp mode bits;
      al  w2  1<9        ;     mode.initmess :=
      lo. w2  h51.       ;       yes;
      rs. w2  h51.       ;   
      jl.     e16.       ;   end else
e19:                     ;   begin <*not first*>
/, p-9

l./comment do not check/, r/com/      com/
l./curr out./, r/cur/   cur/

l./if mode 14.no/, r/if/   if/
l1, r/begin/   begin mode initmess.yes/

l./e17:/, r/end/  end/

l2, r/close/  close/
l1, r/prep/  prep/
l1, r/;     skipped:/;   end not first;/

l1, r/comm/  comm/, p-4
l./b12:/, l1, i/
b13:  <:s:>, 0, r.3      ; name of ancestor <:s:>
/, p-2
l./m.fp init   /, r/86.12.12/89.01.12/


l./commands, page ***15***/, r/86.08.22/88.04.24/
l./; 65:/, g5/+10/+ 2/, r/0<5+ 2/0<5+10/, p-5

l./; 95:/, r/0<5+10/     0/, r/<95>/  _ /

l./page ***16***/, r/86.09.01/88.04.24/
l./i10:/, r/m. /
m./, r/top of command reading/fp comm. reading/, r/86.09.03/88.04.24/

l./, load, page 3/, r/rc 86.10.10   /fgs 1988.07.21/
l./1<23+ 127<12 + 1/, r/127/  0/

l./page 3a/, l./m.fp/, r/86.10.10/88.07.21/

l./end program, page ...4/, r/86.09.01/88.05.02/
l./1<1+1/, r/1<1+1/1<2  /
l./m.fp end program and/, r/86.12.12/88.05.02/, r/and device status/ /

f

end
▶EOF◀