mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-24 08:54:17 +00:00
111 lines
3.8 KiB
Plaintext
111 lines
3.8 KiB
Plaintext
;*****************************************************
|
||
;*
|
||
;* Process Descriptor - with the UDA associated
|
||
;* with the PD, describes the current
|
||
;* state of a Process under MP/M-86
|
||
;*
|
||
;* +-----+-----+-----+-----+-----+-----+-----+-----+
|
||
;* 00| link | thread |stat |prior| flag |
|
||
;* +-----+-----+-----+-----+-----+-----+-----+-----+
|
||
;* 08| Name |
|
||
;* +-----+-----+-----+-----+-----+-----+-----+-----+
|
||
;* 10| uda | dsk | user| ldsk|luser| mem |
|
||
;* +-----+-----+-----+-----+-----+-----+-----+-----+
|
||
;* 18| dvract | wait | org | net | parent |
|
||
;* +-----+-----+-----+-----+-----+-----+-----+-----+
|
||
;* 20| cns |abort| cin |cout | lst | sf3 | sf4 | sf5 |
|
||
;* +-----+-----+-----+-----+-----+-----+-----+-----+
|
||
;* 28| reserved | pret | scratch |
|
||
;* +-----+-----+-----+-----+-----+-----+-----+-----+
|
||
;*
|
||
;* link - Used for placement into System Lists
|
||
;* thread - link field for Thread List
|
||
;* stat - Current Process activity
|
||
;* prior - priority
|
||
;* flag - process state flags
|
||
;* name - name of process
|
||
;* uda - Segment Adress of User Data Area
|
||
;* dsk - Current default disk
|
||
;* user - Current default user number
|
||
;* ldsk - Disk program loaded from
|
||
;* luser - User number loaded from
|
||
;* mem - pointer to MD list of memory owned
|
||
;* by this process
|
||
;* dvract - bit map of currently active drives
|
||
;* wait - parameter field while on System Lists
|
||
;* org - Network node that originated this process
|
||
;* net - Network node running this process
|
||
;* parent - process that created this process
|
||
;* cns - controlling console
|
||
;* abort - abort code
|
||
;* cin - standard file #0 (console input)
|
||
;* cout - standard file #1 (console output)
|
||
;* lst - standard file #2 (list output)
|
||
;* sf3 - standard file #3
|
||
;* sf4 - standard file #4
|
||
;* sf5 - standard file #5
|
||
;* reserved- not currently used
|
||
;* pret - return code at termination
|
||
;* scratch - scratch word
|
||
;*
|
||
;*****************************************************
|
||
|
||
p_link equ word ptr 0
|
||
p_thread equ word ptr p_link + word
|
||
p_stat equ byte ptr p_thread + word
|
||
p_prior equ byte ptr p_stat + byte
|
||
p_flag equ word ptr p_prior + byte
|
||
p_name equ byte ptr p_flag + word
|
||
p_uda equ word ptr p_name + pnamsiz
|
||
p_dsk equ byte ptr p_uda + word
|
||
p_user equ byte ptr p_dsk + byte
|
||
p_ldsk equ byte ptr p_user + byte
|
||
p_luser equ byte ptr p_ldsk + byte
|
||
p_mem equ word ptr p_luser + byte
|
||
p_dvract equ word ptr p_mem + word
|
||
p_wait equ word ptr p_dvract + word
|
||
p_org equ byte ptr p_wait + word
|
||
p_net equ byte ptr p_org + byte
|
||
p_parent equ word ptr p_net + byte
|
||
p_cns equ byte ptr p_parent + word
|
||
p_abort equ byte ptr p_cns + byte
|
||
p_cin equ byte ptr p_abort + byte
|
||
p_cout equ byte ptr p_cin + byte
|
||
p_lst equ byte ptr p_cout + byte
|
||
p_sf3 equ byte ptr p_lst + byte
|
||
p_sf4 equ byte ptr p_sf3 + byte
|
||
p_sf5 equ byte ptr p_sf4 + byte
|
||
p_reserved equ word ptr p_sf5 + byte
|
||
p_pret equ word ptr p_reserved + (2*word)
|
||
p_scratch equ byte ptr p_pret + word
|
||
p_wscrtch equ word ptr p_scratch
|
||
|
||
;
|
||
; Process descriptor pd_status values
|
||
;
|
||
|
||
ps_run equ 00 ; in ready list root
|
||
ps_poll equ 01 ; in poll list
|
||
ps_delay equ 02 ; in delay list
|
||
ps_swap equ 03 ; in swap list
|
||
ps_term equ 04 ; terminating
|
||
ps_sleep equ 05 ; sleep processing
|
||
ps_dq equ 06 ; in dq list
|
||
ps_nq equ 07 ; in nq list
|
||
ps_flagwait equ 08 ; in flag table
|
||
ps_ciowait equ 09 ; in c_queue list
|
||
;
|
||
; Process descriptor pd_flag bit values
|
||
;
|
||
pf_sys equ 00001h ; system process
|
||
pf_keep equ 00002h ; do not terminate
|
||
pf_kernal equ 00004h ; resident in kernal
|
||
pf_pure equ 00008h ; pure memory descibed
|
||
pf_table equ 00010h ; from pd table
|
||
pf_resource equ 00020h ; waiting for resource
|
||
pf_raw equ 00040h ; raw console i/o
|
||
pf_ctlc equ 00080h ; abort pending
|
||
pf_active equ 00100h ; active tty
|
||
pf_tempkeep equ 00200h ; don't terminate yet...
|
||
pf_ctld equ 00400h ; explicit detach occured
|
||
|