home *** CD-ROM | disk | FTP | other *** search
- ;
- ; --- Version 2.0 89-12-13 17:58 ---
- ;
- ; CTask - SIO interrupt handler (IBM specific)
- ;
- ; Public Domain Software written by
- ; Thomas Wagner
- ; Patschkauer Weg 31
- ; D-1000 Berlin 33
- ; West Germany
- ;
- ; This file is new with version 1.2.
- ;
- ; To avoid stack overflows while processing serial interrupts in
- ; the tsksio module, all SIO interrupts are routed through the
- ; "envelope" routines defined here.
- ;
- name tsksioi
- .model large,c
- ;
- include tsk.mac
- ;
- public tsksio_int2
- public tsksio_int3
- public tsksio_int4
- public tsksio_int5
- public tsksio_int7
- public tsksio_int10
- public tsksio_int11
- public tsksio_int12
- public tsksio_int15
- ;
- sioint macro irq
- ;
- tsksio_int&irq proc far
- call tsk_switch_stack
- mov ax,irq
- push ax
- call tsk_sio_int
- add sp,2
- cli
- mov al,20h
- IF irq GE 8
- out 21h,al
- ENDIF
- out 20h,al
- iret
- ;
- tsksio_int&irq endp
- ;
- endm
- ;
- ;
- .tsk_code
- ;
- extrn tsk_switch_stack: near
- extrn tsk_sio_int: near
- ;
- sioint 2
- sioint 3
- sioint 4
- sioint 5
- sioint 7
- sioint 10
- sioint 11
- sioint 12
- sioint 15
- ;
- .tsk_ecode
- end
-
-