|
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: 6144 (0x1800) Types: TextFile Names: »kkrhtst2t«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦this⟧ »kkrhtst2t«
; time 2.0 (kkrhtst2=slang list.no xref.no; kkrhtst2) ; ; ; b. g2 w. ; s. a50,b20 w. ; a50:al w0 0 ; interrupt ask al. w3 b2. ; interrupt address jd 1<11+0 ; set interrupt al w0 2 ; jd 1<11+30 ; set cpu1 user bit ; ; jl. a30. ; a0: 5<12+0 ; output mesage a1: 0 ; first and a2: 0 ; last word a3: 0,r.6 ; ; a5: 3<12+0 ; input message a6: 0 ; first and a7: 0 ; last word a8: 0,r.6 ; a10:0,r.8 ; answer a11:<:terminal3:>,0,0; a16: 0 <:cpu = 0<10>:> a17:0,r.70 a15:7,r.200 ; a18=16 ; a19=14 ; ; a30: ; al. w1 a15.-a18; rl w0 66 ; al w1 x1+a18 ; next in buff al w2 x1+a19 ; last buff addr jl. w3 b0. ; convert rl w0 68 ; al w1 x1+a18 ; next in buff al w2 x1+a19 ; last buff addr jl. w3 b0. ; convert rl w0 70 ; al w1 x1+a18 ; next in buff al w2 x1+a19 ; last buff addr jl. w3 b0. ; convert rl w0 132 ; al w1 x1+a18 ; next in buff al w2 x1+a19 ; last buff addr jl. w3 b0. ; convert am (66) ; bz w0 -5 ; cpu mask al w1 x1+a18 ; al w2 x1+a19 ; jl. w3 b0. ; jl. b4. ; ; ; b. i5,h5 w. ; b4: ; al. w1 a15. ; al w2 x2+2 ; al w0 10 ; rs w0 x2 ; rs. w2 a16. ; al. w2 a17. ; h0: rl w0 x1 ; next digit ls w0 8 ; wa w0 x1+2 ; ls w0 8 ; wa w0 x1+4 ; rs w0 x2 ; al w1 x1+6 ; al w2 x2+2 ; sh. w1 (a16.) ; jl. h0. ; al. w1 a16.+2 ; rl w3 x1+4 ; ls w3 -8 ; ls w3 8 ; rl w0 66 ; se w0 (132) ; am -1 ; al w3 x3+49 ; rs w3 x1+4 ; ds. w2 a2. ; al. w1 a0. ; jl. w3 b6. al. w3 a11. ; jd 1<11+16 ; write jl. w3 b5. al. w1 a10. ; jd 1<11+18 ; al w0 5 ; jl. w3 b1. ; wait jl. a30. ; e. ; ; ; ; ;; convert and integer to digits ; call: ; w0= integer ; w1= first pos in buff ; w2= last pos ; w3= return ; return: w0,w3 undef. w1,w2 unchanged ; b. h10,i10 w. ; b0: rs. w3 i3. ; save return ds. w2 i2. ; al w3 32 ; h0: sh w2 x1 ; jl. h1. ; al w2 x2-2 ; count rs w3 x2 ; store <sp> jl. h0. ; h1: sh w0 -1 ; if integer<0 then al w3 45 ; set sign rs. w3 i1. ; rl. w2 i2. ; sh w0 -1 ; ac w0 (0) ; rl w1 0 ; w1:=integer h2: al w3 x1 ; al w1 0 ; h3: sh w3 9 ; jl. h4. ; al w1 x1+1 ; al w3 x3-10 ; jl. h3. ; h4: ; al w3 x3+48 ; rs w3 x2 ; al w2 x2-2 ; sl w1 1 ; if more digits then jl. h2. ; get next rl. w3 i1. ; else get sign rs w3 x2 ; dl. w2 i2. ; jl. (i3.) ; i0: 10 ; i1: 0 ; 0 ; i2: 0 ; i3: 0 ; e. ; ;; wait procedure ; call: w0=delay, w3=return ; return all reg unchanged b. i6,h5 w. ; b1: ; ds. w1 i1. ; ds. w3 i3. ; rs. w0 i5. ; delay al. w1 i4. ; al. w3 i6. ; jd 1<11+16 ; alw12000 ls w1 3 al w1 x1-1 sl w1 0 jl. -4 al. w1 a10. ; jd 1<11+18 ; dl. w1 i1. ; dl. w3 i3. ; jl x3 ; i0: 0 ; i1: 0 ; i2: 0 ; i3: 0 ; i4: 0 ; i5: 0,r.7 ; i6: <:clock:>,0,0,0 ; e. ; ; ; b. i5,h5 w. ; b2: ; 0,r.8 ; al. w1 a15.-a18; al w2 0 ; h0: rl. w0 x2+b2. ; jl. w3 b3. ; goto convert al w2 x2+2 ; sh w2 13 ; jl. h0. ; rl. w2 i2. ; jl. w3 b4. ; jl. a30. ; continue ; ; b3: ; ds. w3 i1. ; al w1 x1+a18 ; al w2 x1+a19 ; jl. w3 b0. ; rs. w2 i2. dl. w3 i1. ; jl x3 ; i0: 0 ; i1: 0 ; i2: 0 e. ; a44=1045 a45=4900 b. i10,h5 w. b6: ds. w1 i1. ds. w3 i3. dl. w3 i5. h0: dl w1 x2+2 ds. w1 x3+a40. al w2 x2+4 al w3 x3+4 sh w3 a44 jl. h0. dl. w1 i1. dl. w3 i3. jl x3 i0:0 i1:0 i2:0 i3:0 i4:a45 i5:2 e. ; ; b. i10,h5 w. b5: ds. w1 i1. ds. w3 i3. dl. w3 i5. h0: dl w1 x2+2 ds. w1 x3+a42. al w2 x2+4 al w3 x3+4 sh w3 a44 jl. h0. dl. w1 i1. dl. w3 i3. jl x3 i0:0 i1:0 i2:0 i3:0 i4:a45 i5:2 e. ; a40: 0,r.(:a44>1+10:) a41:0 a42:0,r.(:a44>1+10:) a43:0 ; e. ; g2=k ; g1: ; g0: (:g2+531:)>9 ; size 0,r.4 ; name s2 ; clock 0 ; file 0 ; block 3<12+0 ; contents g2 ; size d. ; p. <:fpnames:> ; p. <:insertproc:> ; ▶EOF◀