|
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: 6912 (0x1b00) Types: TextFile Names: »kkrhtst2t«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦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: <:terminal2:>,0,0 ; a12: 0 ; a13: 100000 ; a16: 0 ; <:cpu = 0<32>:> ; a17: 0,r.46 ; a15: 7,r.100 ; 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 w3 66 ; w3:=cur bz w0 x3+26 ; w0:=buf rs. w0 a12. ; al w1 x1+a18 ; next in buff al w2 x1+a19 ; last buff addr jl. w3 b0. ; convert rl w3 66 ; rl w0 x3+52 ; time quantum al w1 x1+a18 ; al w2 x1+a19 ; jl. w3 b0. ; rl w3 66 ; rl w0 x3+56 ; al w1 x1+a18 ; al w2 x1+a19 ; jl. w3 b0. ; rl w3 66 ; bz w0 x3-6 ; cpu mask al w1 x1+a18 ; al w2 x1+a19 ; jl. w3 b0. ; rl w3 66 ; bz w0 x3-5 ; al w1 x1+a18 ; al w2 x1+a19 jl. w3 b0. jl. w3 b4. ; jl. a30. ; ; ; b. i15,h5 w. ; b4: rs. w3 i3. ; 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. ; al. w3 a11. ; ds. w3 i7. ds. w1 i5. jd 1<11+16; write al. w1 a10. ; ds. w1 i9. ds. w3 i11. jd 1<11+18; al w0 2 ; jl. w3 b1. ; wait al. w1 a17. ; al. w2 a15.-2 ; al w0 0 ; h1: rs w0 x1 ; al w1 x1+2 ; sh w1 x2 ; jl. h1. ; al. w2 a30.-2 ; al w0 7 ; h2: rs w0 x1 ; al w1 x1+2 ; sh w1 x2 ; jl. h2. ; jl. (i3.) ; i3: 0 ; i4: 0 i5: 0 i6: 0 i7: 0 i8: 0 i9: 0 i10: 0 i11: 0 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. i10,h5 w. ; b2: ; 0,r.8 ; al. w1 i1. ; al. w2 i5. ; al. w3 i6. ; ds w3 x1+4 ; al. w3 a11. ; jd 1<11+16; al. w1 i7. ; jd 1<11+18; jl. 0 ; ; ; i1: 5<12,0,r.7 i5: <:<10>interrupt ****************************************** <10>:> i6: 0 ; i7: 0,r.8 e. ; ; 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◀