|
|
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: 3840 (0xf00)
Types: TextFile
Names: »cghcauto1«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt.
└─⟦0364f57e3⟧
└─⟦this⟧ »cghcauto1«
(hcauto=slang list.no xref.no
)
s. a50,b20,i25,c10 w.
;;
;; SIMPLE loader for HC8000
;
;
;;
; 0
; 2
; 4
; 6
0,r.256 ; room for one segment
k=8 ;
a0 ; 8: start addr
c10 = 8.15<1
c6 = 16
a0: al w3 a20 ; system table addr
gp w3 c10 ; to inf reg
ri c6 ; start
a6: ri c6 ; start again.
;;
;
;; enabled user process
;
a1:
b. d10 w.
d0:
rl. w3 d1. ; load dummy loop counter.
al w3 x3+1 ; dummy loop counter
rs. w3 d1. ; save w3.
ls w3 16 ;
ls w3 -8 ;
gp w3 64 ; show dummy loop counter.
jl. d0. ; continue in d0.
d1: 0 ; dummy loop counter.
e. ; enabled user process.
;;
;
i10: 0 ;
a2: ;; interupt entry
rs. w2 i10. ;
gp w2 64 ; save and show interupt no.
sn w2 16 ; if interupt = 16 then
jl. a5. ; goto start loaded program
sn w2 18 ; if interupt = 18 then
jl. a4. ; goto load program.
ri c6 ; else return from interupt.
a4: ;; monitor mode start
di w2 (c4) ; start input
rs w2 i21 ; save number of halfwords
ri c6 ; return from interupt.
a5:
gg w3 66 ; wait for manuel start.
al w3 a50 ;
jl x3+6 ; goto monitor
;
;
;
a10:0 ; autoload buffer
i21:0,a50, 0, 27 ;
c4: 1<23 +i21<3 +2.001 ;
;1 system table: monitor mode
b0 ; -5 monitor call service addr
b6 ; -3 interrupt service addr
1<23+ 0 ; -1 status interrupt limit
a20=k-13 ;
a30 ; +1 register dump addr
b1 ; +3 exception service addr
b2 ; +5 escape service addr
;;
;1 system table: user mode
b3 ; -5 monitor call service addr
a2 ; -3 interrupt - -
1<23 + 6 ; -1 status < 12 + interrupt limit
a40 ; +1 register dump addr
b4 ; +3 exception service addr
b5 ; +5 escape service addr
;;
;1 monitor register dump start
a30:0 ; w0
0 ; w1
0 ; w2
0 ; w3
1<23 + 0 ; status
a6 ; ic
0 ; cause
0 ; sb
0 ; cpa
0 ; base
8 ; lower write limit
1<16 ; upper write limit
0<12 + 0 ; interrupt limits
;;
; 1 user register dump start
a40:0 ; w0
0 ; w1
0 ; w2
0 ; w3
1<23 + 0 ; status
a1 ; ic
0 ; cause
0 ; sb
0 ; cpa
0 ; base
8 ; lower write limit
1<16 ; upper write limit
6<12 + 24 ; interrupt limits
;;
b0: am -1
b1: am -1
b2: am -1
b3: am -1
b4: am -1
b5: am -1
b6: al w1 -1
gp w1 64
jl. 0
;
;
;
a50: ; start input addr for monitor
0,r.(:340-k:)>1;
e. ;
▶EOF◀