mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 01:44:21 +00:00
50 lines
1018 B
Plaintext
50 lines
1018 B
Plaintext
;*****************************************************
|
|
;*
|
|
;* TICK Process
|
|
;*
|
|
;*****************************************************
|
|
|
|
;======
|
|
notick: ;NO ONE ON DELAY LIST
|
|
;======
|
|
mov bx,rlr ! mov es,p_uda[bx]
|
|
mov u_wrkseg,ds
|
|
|
|
if mpm ;FIX 6 - DH - 14APR82
|
|
mov al,io_stopclk ! call xiosif
|
|
endif ;FIX 6 - DH - 14APR82
|
|
|
|
if ccpm ;FIX 6 - DH - 14APR82
|
|
|
|
mov tick,false ;FIX 6 - DH - 14APR82
|
|
endif ;FIX 6 - DH - 14APR82
|
|
|
|
tick_l: ;SOMEONE MAY BE ON DELAY LIST
|
|
;------
|
|
; flag wait on the TICK flag
|
|
mov dx,flag_tick ! mov cx,f_flagwait
|
|
int osint
|
|
|
|
; see if anyone delaying
|
|
pushf ! cli
|
|
|
|
mov bx,dlr
|
|
cmp bx,0 ! jz drl_e
|
|
|
|
; decrement # of ticks to wait
|
|
; see if done waiting
|
|
dec p_wait[bx] ! jnz n_tck
|
|
|
|
; our process is done waiting
|
|
ede: mov si,p_link[bx] ! mov dlr,si
|
|
mov p_stat[bx],ps_run
|
|
mov ax,drl ! mov p_link[bx],ax
|
|
mov drl,bx
|
|
|
|
cmp si,0 ! je drl_e
|
|
cmp p_wait[si],0 ! jne n_tck
|
|
mov bx,si ! jmps ede
|
|
n_tck: popf ! jmps tick_l
|
|
drl_e:
|
|
popf ! jmps notick
|