Advertisement
Alx09

PC

Mar 1st, 2021
817
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.80 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include <dos.h>
  5. #include <mem.h>
  6. #include "rtc86.h"
  7.  
  8. extern volatile CONTLOG _contlog[MAX_TSK+1];
  9. extern usshort _fltop;
  10. extern uschar _tsk_crt;
  11. extern HANDLER_ADR _vtvi[256];
  12.  
  13. HANDLER scheduler(CONTFIZ contfiz)
  14. {
  15.  static uschar i;
  16.  
  17.  
  18.  for(i=0;i<MAX_TSK;++i)
  19.  {
  20.   if(search_ltb(i))
  21.   {
  22.    if(_contlog[i].sltime!=0)
  23.    {
  24.     --_contlog[i].sltime;
  25.     if(_contlog[i].sltime==0)
  26.     {
  27.      _contlog[i].to=1;
  28.      _wakeup(i);
  29.     }
  30.    }
  31.   }
  32.  }
  33.  
  34.  if(contfiz.adr.cai.cs>LIM_INF && contfiz.adr.cai.cs<LIM_SUP)
  35.  {
  36.   _contlog[_tsk_crt].ss=_SS;
  37.   _contlog[_tsk_crt].sp=_SP;
  38.  
  39.   _tsk_crt=next_lap();
  40.  
  41.   _SS=_contlog[_tsk_crt].ss;
  42.   _SP=_contlog[_tsk_crt].sp;
  43.  
  44.   _contlog[_tsk_crt].status=EXECUTIE;
  45.  }
  46.  
  47.  (*_vtvi[8])();
  48. }
  49.  
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement