|
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: 4608 (0x1200) Types: TextFile Names: »retafrtst85 «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code └─⟦75ff9bef3⟧ └─⟦this⟧ »retafrtst85 «
mode list.yes algftnrtst9=edit algftnrtst8 ; ; check : magtape : ; if hwds > 0 and ; status contains no special bits then ; z.pos := answ.pos; ; ; check spec : magtape : w1 contains used share instead of hwds xferred => ; short block out leads to parity repair ; ; check spec : magtape : parity repair : save position should be taken from the ; zone, not from the answer ; ; check spec : magtape : give up after parity repair should add 1 to the ; zones block count ; ; check spec : magtape : setmode op should carry the right mode instead of zero ; and spool count should be zeroed; ; ; tw check spec : moved from check spec to parent message segment ; ; l./ R E L E A S E 7.0 1 9 8 9 . 0 8 . 0 1 /, l1, i/ ;* * ;* R E L E A S E 7.1 1 9 8 9 . 1 2 . 0 1 * ;* * ;* R E L E A S E 7.2 1 9 9 0 . 1 0 . 0 1 * /, p-2 l./page ...2/, r/89.07.10/90.10.25/ l./e104=/, r/7<12/7<12/, r/0;/2;/ l./e105=/, r/89/90/, r/0801/1001/ l./page ...117/, r/89.04.19/89.11.30/ l./a32:/, l./sn w1 6/, d6, i/ am. (b3.) ; rl w2 +2 ; sn w2 0 ; if hwds = 0 and se w1 4 ; process kind = area then jl. a25. ; goto add stopbit jl. a27. ; else a25: sn w0 3 ; if less than wanted was input and se w1 6 ; process kind = disk sn w0 5 ; or less than wanted was output then a27: lo. w3 b27. ; status := status or stop bit; rl. w2 (b0.) ; w2 := saved zone address; / l./page ...118/, r/89.01.31/89.11.13/ l./a8:/, l./wa w0 6/, d1, i/ se w0 0 ; if hwds xferred > 0 and sz. w3 (b15.) ; no special bits in status then /, p-2 l./page ...120/, r/89.07.10/89.12.04/ l./a12:/, l./sz. w0 (b17.)/, d8, p-1 l./a14:/, r/a14:/a14: rl. w3 (b14.) ; /, r/ , error/, extend area/ l./page ...129/, r/89.08.17/89.11.13/ l./a26:/, d, i/ a26: am. (b34.) ; short block out or pos err empty xfer: rl w1 +2 ; se w1 0 ; if hwds xferred <> 0 then /, p-3 l./page ...130/, r/88.12.08/89.11.29/ l./al w0 14/, d, i/ zl w1 x2+h1+0 ; message := set mode: ls w1 13 ; w1.left := (z.mode extract 11) < 13; al w0 28 ; w0.right := 14 < 1; ld w1 11 ; w0 := (w0, w1) < 11; <*14 < 12 + mode*> rs. w1 b1. ; spoolcount := 0; /, p-4 l./jl. a16./, r/a16/a19/ l./page ...133/, r/83.05.27/89.11.13/ l./a16:/, l1, r/ /a19: / l./page ...134/, r/89.03.09/90.03.14/ l./a13:/, i/ a10: rl w0 x2+h1+14 ; give up after parity retry: ba. w0 1 ; zone.block count := rs w0 x2+h1+14 ; zone.block count + 1; jl. a1. ; goto give up; /, p-3 l./a13:/, l./jl. a1./, r/a1. /a10./, r/goto/ goto/, r/give up/give up after parity retry/ l./am. (b34.)/, d8, i/ rl w0 x2+h1+14 ; save position := blockcount := rs. w0 b4. ; zone.block count; sl w0 1 ; if blockcount >= 1 then bs. w0 1 ; blockcount := blockcount - 1; rs w0 x2+h1+14 ; zone.block count := blockcount; /, p-2 l./page ...135/, r/89.01.31/89.11.13/ l./c40=/, d7 l./<:check spec:>/, r/spec:>/spec<0><3>:>/ l1, r/segment/segment, rs proc/ l./page ...142/, r/89.04.19/89.11.13/ l./b25:/, i/ b17: 1<21 ; test timer /, p-1 l./page ...144b/, r/89.04.19/89.11.13/ l./page ...145/, i/ c40=k-b10 ; tw: rl. w3 (b5.) ; so. w0 (b17.) ; if not timer then jl x3+c35 ; goto check special segment.repeat transfer rl w1 x2+h0+4 ; w1:=used share bl w0 x1+6 ; rl. w3 (b6.) ; sn w0 5 ; if operation = output then jl x3+c24 ; goto check segment.give up else jl x3+c25 ; goto check segment.return; /, p-10 l./m.jz/, r/89.08.17/90.10.25/ f end ▶EOF◀