
*------ CALLLIB for calling functions where A6 is already correct:

SYSCALL	MACRO	; functionLabel
	IFGT	NARG-1
	FAIL	!!! SYSCALL MACRO - too many arguments !!!
	ENDC
	JSR	(_LVO\1,A6)
	ENDM


*------ LINKLIB for calling functions where A6 is incorrect:

LIBCALL	MACRO	; functionLabel,libraryBase
	IFGT	NARG-2
	FAIL	!!! LINKLIB MACRO - too many arguments !!!
	ENDC
	MOVE.L	A6,-(SP)
	MOVEA.L	(\2),A6
	SYSCALL	\1
	MOVEA.L	(SP)+,A6
	ENDM

EXECLIB MACRO ; functionLabel
	IFGT	NARG-1
	FAIL	!!! EXECLIB MACRO - too many arguments !!!
	ENDC
	MOVE.L	A6,-(SP)
	MOVEA.L	(4).W,A6
	JSR	(_LVO\1,A6)
	MOVEA.L	(SP)+,A6
	ENDM

