
;***********************************************************************
;
; asmsupp.i
;
; Copyright (c) 1986, Commodore Amiga Inc., All rights reserved
;
;***********************************************************************


XLIB		MACRO
		XREF	_LVO\1
		ENDM

CALLSYS 	MACRO
		CALLLIB _LVO\1
		ENDM

LINKSYS 	MACRO
		LINKLIB _LVO\1,\2
		ENDM

LINKEXE 	MACRO
		XREF	SysBaseOffset
		LINKSYS \1,SysBaseOffset(a6)
		ENDM

CLEAR		MACRO
		MOVEQ	#0,\1
		ENDM

*BHS		MACRO
*		IFC	'\0',''
*			BCC	\1
*		ENDC
*		IFNC	'\0',''
*			BCC.\0	\1
*		ENDC
*		ENDM
*
*BLO		MACRO
*		IFC	'\0',''
*			BCS	\1
*		ENDC
*		IFNC	'\0',''
*			BCS.\0	\1
*		ENDC
*		ENDM

PUTMSG		MACRO
		IFGE	INFOLEVEL-\1
		XREF	KPutFmt
		MOVEM.L D0/D1/A0/A1,-(SP)
		LEA	16(sp),a1
		LEA	msg\@,a0
		JSR	KPutFmt
		MOVEM.L (SP)+,D0/D1/A0/A1
		BRA	end\@
msg\@:		DC.B	\2,10,0
		DS.W	0
end\@:
		ENDC
		ENDM

SPUTMSG 	MACRO
		IFGE	INFOLEVEL-\1
		XREF	KPutFmt
		XREF	_SubsysName
		PEA	_SubsysName
		MOVEM.L D0/D1/A0/A1,-(SP)
		LEA	16(sp),a1
		LEA	msg\@,a0
		JSR	KPutFmt
		MOVEM.L (SP)+,D0/D1/A0/A1
		ADDQ.L	#4,SP
		BRA	end\@
msg\@:		DC.B	\2,10,0
		DS.W	0
end\@:
		ENDC
		ENDM

* Here's an example of using the PUTMSG macros
*   IFGE    INFOLEVEL-50
*   SPUTMSG  50,<'[%s]ZText:'>
*   MOVEM.L A0-A6,-(SP)
*   PUTMSG  50,<'  A0:%lx 1:%lx 2:%lx 3:%lx 4:%lx 5:%lx 6:%lx'>
*   LEA     7*4(SP),SP
*   MOVEM.L D0-D7,-(SP)
*   PUTMSG  50,<'  D0:%lx 1:%lx 2:%lx 3:%lx 4:%lx 5:%lx 6:%lx 7:%lx'>
*   LEA     8*4(SP),SP
*   ENDC


