|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 9984 (0x2700)
Types: TextFile
Names: »retafrtst53 «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
└─⟦75ff9bef3⟧
└─⟦this⟧ »retafrtst53 «
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◀