]>
wirehaze git hosting - MS-DOS.git/blob - v4.0/src/MAPPER/CWAIT.ASM
4 title CP
/DOS DOSCWait mapper
6 ; ************************************************************************* *
10 ; * ACTION: Wait for a child termination
14 ; * push actioncode ; execution options
15 ; * push waitoption ; wait options
16 ; * push@ resultcode ; address to put result code
17 ; * push@ processidword ; address to put process id
18 ; * push processid ; process id of process to wait for
25 ; * MODULES CALLED: None
29 ; *************************************************************************
31 buffer
segment word public 'buffer'
33 extrn DosExecPgmCalled
:word
34 extrn DosExecPgmReturnCode
:word
38 dosxxx
segment byte public 'dos'
39 assume
cs:dosxxx
,ds:nothing
,es:nothing
,ss:nothing
50 Qprocessid dw ?
; Child process ID
51 Aprocessid dd ?
; process id pointer
52 resultcode dd ?
; result code pointer
53 waitoption dw ?
; wait option
54 actioncode dw ?
; action code
58 Enter doscwait
; push registers
61 mov ds,ax ; set temporary buffer
64 cmp DosExecPgmCalled
,0 ; ??????
68 jmp ErrorExit
; error exit
71 mov ax,DosExecPgmReturnCode
72 lds si,[bp].ResultCode
74 mov ds:[si],ax ; return termination code
76 mov ax,[bp].Qprocessid
; return child process id
77 lds si,[bp].Aprocessid
80 xor ax,ax ; set good return code
84 ret size
str - 6 ; return