|
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: 4608 (0x1200) Types: TextFile Names: »tinitboot«
└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system └─⟦6b41451d2⟧ └─⟦this⟧ »tinitboot«
,generates binitboot to revision 5 job bbl 2 600, perm mini 100 1, temp disc 5000 50, size 92000, time 6 0 mode list.yes ( binitboot = set 1 mini if ok.no finis platonenv = set bs dummyenv binitboot = pascal80 short.yes list.yes codelist.yes if ok.no finis pliblookup binitboot scope user binitboot finis ) process initboot; (*$5 1 0*) (*$5 2 0*) (*$6 11 0*) beginbody 100: ; the micro program has initialized the following registers ; at autoload: ; reg(0..7) := ffff; ; reg(10..2567):= ffff; ; regset(1).lm := ffff ; .ps := 0000 ; .pb := 00c0 ; .lu := ffff ; .sf := ffff ; .pr := ffff ; .ib := 00d0 ; .ic := 0002 ; b. c#,d#,auto,exit. c#0 = 2048 ; size of initboot stack c#1 = -2048 ; first of initboot stack c#10 = 28 ; ram bitmap index0 c#11 = 29 ; ram bitmap index1 c#12 = 174 ; first * 16 + last c#20 = 10 ; index of regset(1).pb c#21 = 12 ; index of regset(1).sf c#22 = 13 ; index of regset(1).pr c#30 = 3 ; displacement from exitlabel to top of initboot c#31 = 26 ; exception point displacement in descriptorsegment c#32 = 36 ; last_param_offset in descriptorsegment c#33 = 0 ; descriptorsegmentlength displacement c#34 = 22 ; entrypoint displacement in descriptorsegment ; global variables d#0 = -1 ; rambitmap : set of 0..15 d#1 = d#0+2 ; processbase : integer d#2 = d#1+2 ;top of global variables auto: ;auto_entry: ;init regset(1) stnhb c#0 ; init lu , last used rechw c#1 + 1 ; init sf , local frame revpw ; rechw c#21 ; crput ; rechw c#22 ; init pr , global frame crput ; renhb d#2+1 ; get room for global variables rechw c#20 ; get pb crget stvgw d#1 ; rechw c#10 ; get ram0 crram ; stvgb d#0 ; rechw c#11 ; get ram1 crram ; stvgb d#0 + 1 ; b. l#. rechw 16 ; compute max ram number l#0: reasd -1 ; module no := module no -1 revpw ; revgw d#0 ; rechw 2 ; settm ; jmzeq l#0 ; stvgf d#1 , c#12 ; e. revgw d#1 ; rechw c#20 ; crput ; stnhb d#2+1 ; pop nonsens global variables reaad exit ; reasd c#30+1 ; make address next even rechw -2 ; and ; revpd ; double tos revsw c#32 ; move lu to last param reasd -4 ; renpb ; revgd d#0 ; revpd ; stvgd chainhead ; chainhead := top of initbootcode ; this address is picked up by boot rechw -1 ; maxstack := -1 stvgw maxstack ; rechw 16384 ; revpw ; revpw ; stvgw semchain ; own.semchain:=nill; stvgw refchain ; stvgw shadowchain ; revpd ; revsd c#31 ; own.exceptionpoint := descriptor.exceptionpoint stvgd expoint ; revsd c#34 ; goto entrypoint jmppd ; exit: ;gf = lf and lu = last param offset by exit of this open routine e.; end bootinit entry: exit: exception: jmprw exception endbody;. ▶EOF◀