; A usefull macro to find the address of data in the extension's own 
; datazone...
DLea		MACRO
		move.l	ExtAdr+ExtNb*16(a5),\2
		add.w	#\1-MB,\2
		ENDM
; Another macro to load the base address of the datazone...
DLoad		MACRO
		move.l	ExtAdr+ExtNb*16(a5),\1
		ENDM

;Macro to load the status word..
LoadStatus	MACRO
		move.l	a6,-(sp)
		dlea	status,a6
		move.w	(a6),\1
		move.l	(sp)+,a6
		ENDM

;Macro to save the status word..
SaveStatus	MACRO
		move.l	a6,-(sp)
		dlea	status,a6
		move.w	\1,(a6)
		move.l	(sp)+,a6
		ENDM
		
MathCall	MACRO
		move.l	a6,-(sp)
		move.l	MathBase(a5),a6
		jsr	\1(a6)
		move.l	(sp)+,a6
		ENDM

;Intuition call macro..
IntCall		MACRO
		move.l	a6,-(sp)
		move.l	T_intbase(a5),a6
		jsr	\1(a6)
		move.l	(sp)+,a6
		ENDM

;Set one statusbit..
SetStat		MACRO
		movem.l	a0/d0,-(sp)
		dlea	status,a0
		move.w	(a0),d0
		Bset.l	\1,d0
		move.w	d0,(a0)
		movem.l	(sp)+,a0/d0
		ENDM

;Clear one statusbit..
ClrStat		MACRO
		movem.l	a0/d0,-(sp)
		dlea	status,a0
		move.w	(a0),d0
		Bclr.l	\1,d0
		move.w	d0,(a0)
		movem.l	(sp)+,a0/d0
		ENDM
	
SetStat2	MACRO
		movem.l	a0/d0,-(sp)
		dlea	status2,a0
		move.w	(a0),d0
		Bset.l	\1,d0
		move.w	d0,(a0)
		movem.l	(sp)+,a0/d0
		ENDM

;Clear one statusbit..
ClrStat2	MACRO
		movem.l	a0/d0,-(sp)
		dlea	status2,a0
		move.w	(a0),d0
		Bclr.l	\1,d0
		move.w	d0,(a0)
		movem.l	(sp)+,a0/d0
		ENDM
	
		