DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦d96606fd3⟧ TextFile

    Length: 6912 (0x1b00)
    Types: TextFile
    Names: »kkrhtst2t«

Derivation

└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ.  Detaljer om "HC8000" projekt.
    └─⟦0364f57e3⟧ 
        └─⟦this⟧ »kkrhtst2t« 

TextFile

; 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◀