home *** CD-ROM | disk | FTP | other *** search
- IFND EXEC_ABLES_I@
- EXEC_ABLES_I@ = 1
- ;*********************************************************************
- ;
- ; Commodore Amiga -- ROM Operating System Executive Include File
- ;
- ;*********************************************************************
- ;
- ; Source Control:
- ;
- ; $Header: ables.i,v 33.1 86/03/30 13:03:48 neil Exp $
- ;
- ; $Locker: neil $
- ;
- ;*********************************************************************
-
- IFND EXEC_TYPES_I@
- INCLUDE "exec/types.i"
- ENDIF
-
- IFND EXEC_EXECBASE_I@
- INCLUDE "exec/execbase.i"
- ENDIF
-
-
- ;----------------------------------------------------------------
- ;
- ; Interrupt Exclusion Macros
- ;
- ;----------------------------------------------------------------
-
- INT_ABLES MACRO ; externals for dis/enable
- ; XREF _intena
- ENDM
-
-
- DISABLE MACRO $\1 ; [scratchReg]
- IFND \1
- MOVE.W #$04000,_intena ;(NOT IF_SETCLR)+IF_INTEN
- ADDQ.B #1,IDNestCnt(A6)
- ELSE
- MOVE.L 4,\1
- MOVE.W #$04000,_intena ;(NOT IF_SETCLR)+IF_INTEN
- ADDQ.B #1,IDNestCnt(\1)
- ENDIF
- ENDM
-
-
- ENABLE MACRO $\1 ; [scratchReg]
- IFND \1
- SUBQ.B #1,IDNestCnt(A6)
- BGE.S ENABLE\@
- MOVE.W #$0C000,_intena ;IF_SETCLR+IF_INTEN
- ENABLE\@:
- ELSE
- MOVE.L 4,\1
- SUBQ.B #1,IDNestCnt(\1)
- BGE.S ENABLE\@
- MOVE.W #$0C000,_intena
- ENABLE\@:
- ENDIF
- ENDM
-
-
- ;----------------------------------------------------------------
- ;
- ; Tasking Exclusion Macros
- ;
- ;----------------------------------------------------------------
-
- TASK_ABLES MACRO
- ; INCLUDE 'execbase.i' for TDNestCnt offset
- ; XREF _LVOPermit
- ENDM
-
-
- FORBID MACRO $\1
- IFND \1
- ADDQ.B #1,TDNestCnt(A6)
- ELSE
- MOVE.L 4,\1
- ADDQ.B #1,TDNestCnt(\1)
- ENDIF
- ENDM
-
-
- PERMIT MACRO $\1
- IFND \1
- JSR _LVOPermit(A6)
- ELSE
- MOVE.L A6,-(SP)
- MOVE.L 4,A6
- JSR _LVOPermit(A6)
- MOVE.L (SP)+,A6
- ENDIF
- ENDM
-
- ENDIF
- END
-