$title ('MP/M 1.1 Data Page') name datapg dseg ;datapg: ;do; ; ;/* ; Copyright (C) 1979,1980 ; Digital Research ; P.O. Box 579 ; Pacific Grove, CA 93950 ; ; Revised: ; 18 Jan 80 by Thomas Rolander ;*/ ;$include (proces.lit) ;$include (memmgr.lit) ; ; declare tod structure ( tod: public tod ; day address, ; hr byte, ; min byte, ; sec byte ) public ; initial (761,00H,00H,00H); dw 761 ; day db 0 ; hr db 0 ; min db 0 ; sec ; /* 01/31/80 00:00:00 */ ; ; declare datapg (1) byte public at (.tod); datapg equ tod public datapg ; ; declare initpd process$descriptor external; extrn initpd ; declare rlr address public initial(initpd); rlr: dw initpd public rlr ; ; declare dlr address public initial(0); dlr: dw 0 public dlr ; ; declare drl address public initial(0); drl: dw 0 public drl ; ; declare plr address public initial(0); plr: dw 0 public plr ; ; declare slr address public initial(0); slr: dw 0 public slr ; ; declare qlr address public initial(0); qlr: dw 0 public qlr ; ; declare thrdrt address public initial(0); thrdrt: dw initpd public thrdrt ; ; declare max$cns literally '16'; maxcns equ 16 ; ; declare nmb$cns byte public; nmbcns: ds 1 public nmbcns ; ; declare console$attached (max$cns) address public ; initial (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); ; declare cnsatt (1) address public at (.console$attached); cnsatt: public cnsatt dw 0,0,0,0 dw 0,0,0,0 dw 0,0,0,0 dw 0,0,0,0 ; ; declare console$queue (max$cns) address public ; initial (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); ; declare cnsque (1) address public at (.console$queue); cnsque: public cnsque dw 0,0,0,0 dw 0,0,0,0 dw 0,0,0,0 dw 0,0,0,0 ; ; declare max$flgs literally '32'; maxflgs equ 32 nmbflags: public nmbflags db maxflgs ; ; declare sys$flag (max$flgs) address public initial ( ; 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH, ; 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH, ; 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH, ; 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFFH); ; declare sysfla address public at (.sys$flag); sysfla: public sysfla dw 0ffffh,0ffffh,0ffffh,0ffffh dw 0ffffh,0ffffh,0ffffh,0ffffh dw 0ffffh,0ffffh,0ffffh,0ffffh dw 0ffffh,0ffffh,0ffffh,0ffffh dw 0ffffh,0ffffh,0ffffh,0ffffh dw 0ffffh,0ffffh,0ffffh,0ffffh dw 0ffffh,0ffffh,0ffffh,0ffffh dw 0ffffh,0ffffh,0ffffh,0ffffh ; ; declare max$usr$pr literally '8'; maxusrpr equ 8 ; ; declare nmb$segs byte public ; initial (max$usr$pr); nmbsegs: public nmbsegs db maxusrpr ; ; declare mem$seg$tbl (max$usr$pr) memory$descriptor public; msegtbl: public msegtbl db 0,0,0,0 db 0,0,0,0 db 0,0,0,0 db 0,0,0,0 db 0,0,0,0 db 0,0,0,0 db 0,0,0,0 db 0,0,0,0 ; declare memseg memory$descriptor public at (.mem$seg$tbl); memseg equ msegtbl public memseg ; ; declare pdtbl (max$usr$pr) process$descriptor public; pdtbl: public pdtbl ds 52 ds 52 ds 52 ds 52 ds 52 ds 52 ds 52 ds 52 ; ; ; *** Note: ; The user process stack table has been moved to the MPM ; module where it overlays the initialization code. ; ; declare stktbl (max$usr$pr) ; structure (loc (20) address) public; ;stktbl: ; public stktbl ; ;table of offsets ; ostod equ tod-datapg osrlr equ rlr-datapg osdlr equ dlr-datapg osdrl equ drl-datapg osplr equ plr-datapg osslr equ slr-datapg osqlr equ qlr-datapg osthrdrt equ thrdrt-datapg osnmbcns equ nmbcns-datapg oscnsatt equ cnsatt-datapg oscnsque equ cnsque-datapg osnmbflags equ nmbflags-datapg ossysfla equ sysfla-datapg osnmbsegs equ nmbsegs-datapg osmsegtbl equ msegtbl-datapg ospdtbl equ pdtbl-datapg ;osstktbl equ stktbl-datapg ;end datapg; end