home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / DOOG / CTASK.ZIP / TSKSIOI.ASM < prev    next >
Assembly Source File  |  1989-12-20  |  1KB  |  72 lines

  1. ;
  2. ;    --- Version 2.0 89-12-13 17:58 ---
  3. ;
  4. ;    CTask - SIO interrupt handler (IBM specific)
  5. ;
  6. ;    Public Domain Software written by
  7. ;        Thomas Wagner
  8. ;        Patschkauer Weg 31
  9. ;        D-1000 Berlin 33
  10. ;        West Germany
  11. ;
  12. ;    This file is new with version 1.2.
  13. ;
  14. ;    To avoid stack overflows while processing serial interrupts in
  15. ;    the tsksio module, all SIO interrupts are routed through the
  16. ;    "envelope" routines defined here.
  17. ;
  18.     name    tsksioi
  19.     .model    large,c
  20. ;
  21.     include    tsk.mac
  22. ;
  23.     public    tsksio_int2
  24.     public    tsksio_int3
  25.     public    tsksio_int4
  26.     public    tsksio_int5
  27.     public    tsksio_int7
  28.     public    tsksio_int10
  29.     public    tsksio_int11
  30.     public    tsksio_int12
  31.     public    tsksio_int15
  32. ;
  33. sioint    macro    irq
  34. ;
  35. tsksio_int&irq    proc    far
  36.         call    tsk_switch_stack
  37.     mov    ax,irq
  38.     push    ax
  39.     call    tsk_sio_int
  40.     add    sp,2
  41.         cli
  42.     mov    al,20h
  43.     IF    irq GE 8
  44.     out    21h,al
  45.     ENDIF
  46.     out    20h,al
  47.     iret
  48. ;
  49. tsksio_int&irq    endp
  50. ;
  51.     endm
  52. ;
  53. ;
  54.     .tsk_code
  55. ;
  56.         extrn   tsk_switch_stack: near
  57.     extrn    tsk_sio_int: near
  58. ;
  59.     sioint    2
  60.     sioint    3
  61.     sioint    4
  62.     sioint    5
  63.     sioint    7
  64.     sioint    10
  65.     sioint    11
  66.     sioint    12
  67.     sioint    15
  68. ;
  69.     .tsk_ecode
  70.     end
  71.  
  72.