mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-24 17:04:19 +00:00
48 lines
1.1 KiB
Plaintext
48 lines
1.1 KiB
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
|
||
|