|
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: 2304 (0x900) Types: TextFile Names: »wrk002213 «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code └─⟦75ff9bef3⟧ └─⟦this⟧ »wrk002213 «
mode list.yes printsegs=algol rts.algftnrts7 survey.yes begin integer segtab_base, last_segtab, top_prog_segtab, no_of_segs, no_of_prog; integer field if2, if32, if34. if506, if508, if510, if512; zone zdump (128, 1, stderror); long array fpparam (1:2); if2 := 2 ; if32 := 32; if34 := 34; if506 := 506; if518 := 508; if510 := 510; if512 := 512; if system (4, 1, fpparam) <> 4 shift 12 + 10 then movestring (fpparam, 1, <:image:>); open (zdump, 4, fpparam, 0); setposition (zdump, 0, 1604 // 512); inrec6 (zdump, 1604 mod 512); inrec6 (zdump, 1638 - 1604); segtab_base := zdump.if2 ; last_segtab := zdump.if32; top_prog_segtab := zdump.if34; no_of_segs := (top_prog_segtab - segtab_base) // 2; no_of_prog := (last_segtab + 2 - segtab_base) // 2; begin integer array segtab (1:no_of_segs); setposition (zdump, segtab_base // 512); inrec6 (zdump, segtab_base mod 512); inrec6 (zdump, no_of_segs * 2); tofrom (segtab, zdump, no_of_segs * 2); for i := 1 step 1 until no_of_segs do begin if segtab (i) > 0 then begin <*active segment*> setposition (zdump, segtab (i) // 512); inrec6 (zdump, segtab (i) mod 512); inrec6 (zdump, 512); seg_type := zdump.if512 extract 3; write (out, "nl", 1, <:segm no. :>, <<d>, i, case (seg_type + 1) of ( <:code proc:>, <:ext proc:>, <:program :>, <:rs proc:>), "sp", 2); if segtype = 1 or segtype = 2 then write (out, <:line :> ▶EOF◀