home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 09 / dskcache / critical.inc < prev    next >
Encoding:
Text File  |  1987-04-06  |  732 b   |  27 lines

  1. (* ---------------------------------- *)
  2. TYPE
  3.   CriticalSection_ = Integer;
  4.  
  5. PROCEDURE CriticalBegin
  6.           (VAR Sect: CriticalSection_);
  7.     BEGIN
  8.       Inline (
  9.         $9C/        { PUSHF          }
  10.         $58/        { POP AX         }
  11.         $FA/        { CLI            }
  12.         $BEC4/Sect/ { LES DI,Sect[BP]}
  13.         $26/$89/$05);{MOV ES:[DI],AX }
  14.     END;
  15.  
  16. PROCEDURE CriticalEnd
  17.           (VAR Sect: CriticalSection_);
  18.     BEGIN
  19.       Inline (
  20.         $BEC4/Sect/ { LES DI,Sect[BP]}
  21.         $26/$8B/$05/{ MOV AX,ES:[DI] }
  22.         $50/        { PUSH AX        }
  23.         $9D);       { POPF           }
  24.     END;
  25.  
  26. (* ---------------------------------- *)
  27. (*       Ende von CRITICAL.INC        *)