home *** CD-ROM | disk | FTP | other *** search
- page 60,132
- ;
- ; The Greenleaf Comm Library
- ;
- ; Copyright (C) 1984-90 Greenleaf Software Inc. All Rights Reserved.
- ;
-
- .xlist
- include model.h
- include prologue.h
- include asiports.equ
- .list
-
- if _LCODE
- ReferFunc _asiprime
- endif
-
- pseg _asiresume
-
- if _LCODE eq 0
- ReferFunc _asiprime
- endif
-
-
- ;**<< _ A S I R E S U M E >>**
- ;
- ; void _asiresume(port,intregister,p)
- ;
- ; Interrupts are re-enabled.
- ;
- ; Modifications:
- ; "" 12-MAY-1988 12:33:06.70 (2.11)
- ; Modified to take a third paramter, a pointer to the channel state
- ; structure. Added conditional assembly for the alternate method
- ; of disabling/enabling transmit interrupts.
- ;
- cproc _asiresume,,_asiresu,,,<NOSI,NODI>
- mov dx,parm1_
- add dx,INTER ; dx points to interrupt enable registers
- in al,dx
- KILL_TIME
- mov ah,parm2_
-
- test ah,ENTX ;are we enabling transmit enable interrupts
- jz noetx
- test al,ENTX ;is transmit already enabled?
- jz noetx
- push ax
- push dx
- if _LDATA
- push ds
- lds bx,parm3_
- else
- mov bx,parm3_
- endif
- ;;; or [bx+chst_bits],TXIFLAG ;turn on tx interrupts
- if _LDATA
- push ds
- push bx
- call _asiprime
- add sp,4
- else
- push bx
- call _asiprime
- add sp,2
- endif
- if _LDATA
- pop ds
- endif
- pop dx
- pop ax
-
- noetx: or al,ah ; set bits to 1
- out dx,al
- KILL_TIME
- xex:
- cproce
- endps
- end
-