Files
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

114 lines
4.0 KiB
Modula-2
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;*****************************************************
;*
;* 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 6
p_name equ byte ptr 8
p_uda equ word ptr 10h
p_dsk equ byte ptr 12h
p_user equ byte ptr 13h
;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_cmod equ byte ptr 18h
;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 20h
;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
;pf_childabort equ 00800h ; child terminated abnormally