|
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: 5376 (0x1500) Types: TextFile Names: »kkrhtst1t«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦this⟧ »kkrhtst1t«
; time 2.0 (kkrhtst1=slang list.no xref.no; kkrhtst1) ; ; ; 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 :> 7<16+7<8+7 0 a17: 0 a15:48<16+48<8+10 a18=16 ; a19=14 ; ; a30: ; c. -1 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. ; z. jl. b4. ; ; ; b. i5,h5 w. ; b4: ; c. -1 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. ; z. 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 ; al. w2 a17.-1 ds. w2 a2. ; al. w1 a0. ; al. w3 a11. ; jd 1<11+16 ; write al. w1 a10. ; jd 1<11+18 ; al w0 5 ; jl. w3 b1. ; wait rl. w3 a15. ; rs. w3 a17.-2 ; 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 ; 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 ; rl. w1 b2.+12 ; w1:=cause al w0 0 al w3 10 wd w1 6 ; change cause to ascivalues al w1 x1+48 ls w1 8 wa w1 0 al w1 x1+48 ls w1 48 al w1 x1+10 rs. w1 a17.-2 jl. a30. ; continue e. ; ; ; b. i5,h5 w. ; b3: ; ds. w3 i0. ; al w1 x1+a18 ; al w2 x1+a19 ; jl. w3 b0. ; dl. w3 i0. ; jl x3 ; 0 ; i0: 0 ; e. ; e. ; g2=k ; g1: ; g0: 2 ; size 0,r.4 ; name s2 ; clock 0 ; file 0 ; block 3<12+0 ; contents g2 ; size d. ; p. <:fpnames:> ; p. <:insertproc:> ; ▶EOF◀