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

⟦f33cbb627⟧ TextFile

    Length: 9984 (0x2700)
    Types: TextFile
    Names: »retafrtst53 «

Derivation

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

TextFile

mode list.yes
algftnrtst6=edit algftnrtst5
; overflytning af extend area og parent message fra
;   check og check spec segmenterne til power fnc segmentet
;   IMC rettelser i start transfer og wait transfer
; fejlrapport 13336, 11483 : readbit = 0 virker ikke for arrays

l./;***************************/, 
d1, d./;************************/, i#

;************************************************************************
;*                                                                      *
;*            R C 4 0 0 0 / R C 8 0 0 0 / R C 9 0 0 0                   *
;*                                                                      *
;*                                                                      *
;*            C O M M O N  R U N T I M E  S Y S T E M                   *
;*                                                                      *
;*                           F O R                                      *
;*                                                                      *
;*            A L G O L      A N D      F O R T R A N                   *
;*                                                                      *
;*            J Z  A N D  F G S   1 9 8 3 . 0 6 . 0 6                   *
;*                                                                      *
;*            R E L E A S E  0.0  1 9 8 3 . 0 6 . 0 6                   *
;*                                                                      *
;*            R E L E A S E  1.0  1 9 8 3 . 0 9 . 0 1                   *
;*                                                                      *
;*            R E L E A S E  2.0  1 9 8 5 . 1 1 . 0 1                   *
;*                                                                      *
;*            R E L E A S E  3.0  1 9 8 6 . 0 5 . 0 1                   *
;*                                                                      *
;*            R E L E A S E  4.0  1 9 8 7 . 0 3 . 0 1                   *
;*                                                                      *
;*            R E L E A S E  5.0  1 9 8 7 . 1 0 . 0 1                   *
;*                                                                      *
;*            R E L E A S E  6.0  1 9 8 9 . 0 2 . 0 1                   *
;*                                                                      *
;************************************************************************
#, p-3

l./page ...1/, r/83.05.27/88.03.01/
l./power function: a**x/, r/**x/**x , extend area and parent message/

l./page ...2/, r/87.09.10/88.03.01/
l./e103=/, d2, i/

e103=           2;                        rts version 
e104=   6<12+   0; rts release      <12 + rts subrelease
e105=1989<12+0201; rts release year <12 + rts release date
/, p-3
l./d115,/, r/j14,/j20,/

l./page ...3/, r/87.06.22/88.03.01/
l./14 power func/, d, i/
; j15:  14 power func.      , j16= -1<22 + j15<1
/, p-1

l./page ...30/, r/83.05.27/88.04.15/
l./rl  w3  x3+g29/, r/g29/g32/
l1, r/sh  w3  0     /so  w3     1<0/, r/dest <=0/mode.readbit = 0/

l./page ...59/, r/83.05.27/88.03.01/
l./; used by block segment/, r/segment,/segment (check), and/,
r/and give up segment/(check spec)/
l./d106:/, r/, also used for lookup and change entry//
l1, d1

l./page ...112/, r/83.05.27/88.03.01/
l./b5:/, r/error/check spec/
l1, r/give_up_/algol check /
l./b6:/, i/
b14: j16                ; power fnc segment : extend area
/, p-1
l./b29:/, i/
b28: 2047               ; mask for extract 11 in op.mode
/, p1

l./page ...115/, r/83.05.27/88.12.09/
l./rs  w0  x1+12/, r/bs./bs and imc/
l./rl  w3  x1+10/, i/
     zl  w3  x2+h1+1    ;
     sn  w3     20      ;   if zone.kind <> imc then
     jl.        a0.     ;   begin
/
l./segment count/, r/seg/  seg/
l2, r/+ (/  + (/
l./al  w3  x2+h1+2/, i#
     jl.        a4.     ;   end else
a0:  zl  w3  x2+h1+0    ;   begin <*imc*>
     la. w3     b28.    ;     share.mode :=
     hs  w3  x1+7       ;       zone.mode extract 11;
     zl  w0  x1+6       ;     <*lead, trail, hdr*>
     sn  w0     5       ;     if share.op = send and
     so  w3     2.10    ;        mode.hdr = 2   then
     jl.        a4.     ;       share.header := 
     rl  w3  x2+h1+14   ;         zone.block count;
     rs  w3  x1+14      ; 
a4:                     ;   end;

\f



; jz.fgs 1988.03.01               algol/fortran runtime system               page ...115a...



#

l./page ...117/, r/83.05.27/88.03.01/
l./ld  w1     70/, d, i/
     al  w0     0       ; 
/
l1, r/w1/w0/
l./am.       (b3.)/, d1, i/
     rs  w0  x1+0       ;     answer.status        :=
     rs  w0  x1+2       ;     answer.halfs xferred :=
     rs  w0  x1+4       ;     answer.chars xferred := 0;
                        ;   end;
/, p-4
l./bz. w1  x1+b21./, i#

\f



; jz.fgs 1988.03.01               algol/fortran runtime system               page ...117a...



     se  w1     20      ;   if zone.kind = imc then
     jl.        a30.    ;   begin
     am.       (b3.)    ;     zone.file count :=
     rl  w1         +4  ;       answer.chars xferred;
     rs  w1  x2+h1+12   ; 
     rl  w1  x2+h0+4    ;     share := zone.used share;
     zl  w0  x1+6       ;     op    := share.operation;
     zl  w1  x1+7       ;     hdr   := share.mode.hdr ;
     sn  w0     3       ;     if op  = receive and
     so  w1     2.10    ;        hdr = 2      then
     jl.        a29.    ;     zone.block count :=
     am.       (b3.)    ;       answer.header;
     rl  w1         +8  ; 
     rs  w1  x2+h1+14   ;     w1 := zone.kind;
a29: zl  w1  x2+h1+1    ;   end;
#
l./bz. w1  x1+b21./, r/     /a30: /

l./page ...120/, r/83.05.27/88.03.01/
l./a13:/, l./bz  w1  x1+6 /, l2, i/

     rl. w3 (b14.)      ;    goto power fnc segment,
     jl      x3+c47     ;      extend area;
/, p-2

l1, d./; extend area:/, d./a9=/, 
i/

c42=k-b10                ; return from end of doc, power func segment:
     rl. w3    (b5.)     ;   w3 := error segment;

/
l2, r/;/ ;/

l./page ...122/, d

l./page ...123/, r/83.05.27/88.03.01/
l./; 20 tape/, r/printer/printer, plotter/
l4, i/

; 22 imc, pl
     2.1111 11111111 111011111101; hard: all except stopped and normal answer
     2.0000 00000000 000100000000; special: stopped
/, p-3

l./page ...124/, r/83.05.27/88.03.01/
l./a7-/, r/a7-b10 /a7 -b10/
l6, r/a15-b10 / a15-b10/
l3, i/
;    20<12+ a15-b10     ; pl , substituted by imc, pl
;    4<12 + a7 -b10     ; imc, special action is give up
     24<12+ a15-b10     ; imc , shared with pl
/, p-2

l./page ...125/, r/87.02.05/88.03.01/
l./b0:/, r/-1<22+j2<1/j6        /, r/block/check/
l1, r/f17-d0/j16   /, r/parent process addr/power fnc segment, parent message/
l./b3:/, r/parent message/position/, r/built up here/area/, r/answer/answer area/
l1, d
l./page ...127/, r/83.05.27/88.03.01/
l./a3:/, l1, i/
     zl  w3  x2+h1+1    ; 
/, p-1
l./ac  w0    (0)/, i/
     sn  w3     20      ;   if zone.kind <> imc then
     jl.        a20.    ;   begin
/
l./wa  w0  x1+22/, r/w0:=/  w0:=/
l1, r/segm/  segm/
l1, r/+ w0/  + w0/
l1, r/only/  only/
l1, i/
a20:                    ;   end;
/, p-1
l./a4:/, l./al. w1    b3.+2/, r/+2/  /

l./page ...135/, r/83.05.27/88.03.01/
l./d36=/, i/

a9:  rs. w3     b3.     ; parent message: save return;
     rl. w3    (b18.)   ;   goto power fnc segment,
     jl      x3+c55     ;     parent message;

c49=k-b10               ; return from parent message:
     jl.       (b3.)    ;   return;

/, p-5
l./d36=/, d./jl.       (b15.+6)/

l./page ...137/, r/83.05.27/88.03.01/
l./; calculation of power/, d./g6:/, i/

; calculation of power function: a**x and
; end of doc     from check           and
; parent message from check spec


j15 = (:k-c20:)    >9; define segment number
j16 =  -1<22  + j15<1; -      absword

b. a30, b30, g10  w. ; 
 
b10:  b11            ; rel of last absword
b0:   d12-d0         ; uv
b5:   j5             ; check spec segment
b6:   j6             ; check      segment
b8:   d30-d0         ; saved (sref,w3)
b12:  d21-d0         ; general alarm
b13:  d37-d0         ; overflows
b18:  f17-d0         ; parent process address

b11 = k - 2 - b10    ; define rel of last absword

b1: g0: 0            ; working locations:  equivalenced with:
b3: g1: 0, 0         ; for power           b3   : parent message  area and
    g2: 0, 0         ; functions                  answer          area and
    g3: 0, 0         ;                            tail for extend area
    g4: 0, 0         ;
    g5: 0            ;                     b3+16: parent process name  and
    g6: 0, r.4       ;                            name table address

b15:    0, r.4       ; saved registers in parent message

/, p-20

l./page ...142/, r/83.05.27/88.03.01/
l./a14:/, l./end **/, l1

s 1, d./page ...120/, d./a13:/, d./bz  w1  x1+/
i#
\f



; jz.fgs 1988.03.01               algol/fortran runtime system               page ...142a...



c47=k-b10               ; end of doc: 
#, p1
l./bz/, i/
     rl. w3    (b6.)    ;   w3 := check segment;
/, p1
l./jl.     a9./, d, i/
     jl      x3+c42     ;     begin
/, p1
l./jl. a6./, r/a6. /a26./
l1, r/;/                        ;/
l1, d
l./(b3.)/, d1, i/
     al. w1     b3.      ;   w1 := addr tail area;
/, p-1
l./jl. a7./, r/a7. /a27./
l./a6:/, r/a6: /a26:/
l1, r/end ;//
l1, i/

a27: rl. w3    (b6.)    ;   goto check segment,
     jl      x3+c24     ;     give up;
/, p-2

l./a9 = k/, d./page ...135/, d./a10:/, d./jl.     a2./, i#
\f



; jz.fgs 1988.03.01               algol/fortran runtime system               page ...142b...



#, l./d36=/, i/

c55=k-b10               ; parent message:
     jl. w3     a29.    ; goto parent message;
     rl. w3    (b5.)    ; return to check spec segment;
     jl      x3+c49     ;

/, p-4
l./a9:/, i/


/, l./a9:/, r/a9: /a29:/
l./page ...136/, d

l./b35:/, d./page ...142/, d./a14:/, d./i. e./

l./page ...147/, r/83.05.27/88.03.01/
l./m.jz/, r/87.09.10/88.04.15/

f 

end
▶EOF◀