mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-24 17:04:19 +00:00
41 lines
1.0 KiB
Plaintext
41 lines
1.0 KiB
Plaintext
|
||
;*****************************************************
|
||
;*
|
||
;* TICK Process
|
||
;*
|
||
;*****************************************************
|
||
|
||
;======
|
||
notick: ;NO ONE ON DELAY LIST
|
||
;======
|
||
mov bx,rlr ! mov es,p_uda[bx]
|
||
mov u_wrkseg,ds
|
||
mov al,io_stopclk ! call xiosif
|
||
|
||
tick: ;SOMEONE MAY BE ON DELAY LIST
|
||
;----
|
||
; flag wait on the TICK flag
|
||
mov dx,flag_tick ! mov cx,f_flagwait
|
||
int mpmint
|
||
|
||
; see if anyone delaying
|
||
pushf ! cli
|
||
mov bx,dlr
|
||
cmp bx,0 ! jz drl_empty
|
||
|
||
; decrement # of ticks to wait
|
||
; see if done waiting
|
||
dec p_wait[bx] ! jnz next_tick
|
||
|
||
; our process is done waiting
|
||
enddelay: 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_empty
|
||
cmp p_wait[si],0 ! jne next_tick
|
||
mov bx,si ! jmps enddelay
|
||
next_tick: popf ! jmps tick
|
||
drl_empty:
|
||
popf ! jmps notick |