home *** CD-ROM | disk | FTP | other *** search
- IFND EXEC_MACROS_I
- EXEC_MACROS_I EQU 1
- * $Filename: exec/macros.i $
- * $Release: 2.04 Includes, V37.4 $
- * $Revision: 36.8 $
- * $Date: 90/11/01 $
- * Handy macros for assembly language programmers.
- * (C) Copyright 1985-1991 Commodore-Amiga, Inc.
- * All Rights Reserved
- IFND DEBUG_DETAIL
- DEBUG_DETAIL SET 0
- ENDC
- JSRLIB MACRO
- XREF _LVO\1
- jsr _LVO\1(a6)
- ENDM
- JMPLIB MACRO
- XREF _LVO\1
- jmp _LVO\1(a6)
- ENDM
- BSRSELF MACRO
- XREF \1
- bsr \1
- ENDM
- BRASELF MACRO
- XREF \1
- bra \1
- ENDM
- BLINK MACRO
- IFNE DEBUG_DETAIL
- bchg.b #1,$bfe001
- ENDC
- ENDM
- TRIGGER MACRO
- IFGE DEBUG_DETAIL-\1
- move.w #$5555,$2fe
- ENDC
- ENDM
- CLEAR MACRO
- moveq.l #0,\1
- ENDM
- CLEARA MACRO
- suba.l \1,\1
- ENDM
- IFND PRINTF
- PRINTF MACRO
- IFGE DEBUG_DETAIL-\1
- XREF kprint_macro
- PUSHCOUNT SET 0
- IFNC '\9',''
- move.l \9,-(sp)
- PUSHCOUNT SET PUSHCOUNT+4
- ENDC
- IFNC '\8',''
- move.l \8,-(sp)
- PUSHCOUNT SET PUSHCOUNT+4
- ENDC
- IFNC '\7',''
- move.l \7,-(sp)
- PUSHCOUNT SET PUSHCOUNT+4
- ENDC
- IFNC '\6',''
- move.l \6,-(sp)
- PUSHCOUNT SET PUSHCOUNT+4
- ENDC
- IFNC '\5',''
- move.l \5,-(sp)
- PUSHCOUNT SET PUSHCOUNT+4
- ENDC
- IFNC '\4',''
- move.l \4,-(sp)
- PUSHCOUNT SET PUSHCOUNT+4
- ENDC
- IFNC '\3',''
- move.l \3,-(sp)
- PUSHCOUNT SET PUSHCOUNT+4
- ENDC
- movem.l a0/a1,-(sp)
- lea.l PSS\@(pc),A0
- lea.l 4*2(SP),A1
- BSR kprint_macro
- movem.l (sp)+,a0/a1
- bra.s PSE\@
- PSS\@ dc.b \2
- IFEQ (\1&1)
- dc.b 13,10
- ENDC
- dc.b 0
- ds.w 0
- PSE\@
- lea.l PUSHCOUNT(sp),sp
- ENDC
- ENDM
- ENDC
- PUSHM_COUNT SET 0
- PUSHM MACRO
- IFGT NARG-1
- FAIL
- ENDC
- PUSHM_COUNT SET PUSHM_COUNT+1
- PUSHM_\*VALOF(PUSHM_COUNT) REG \1
- movem.l PUSHM_\*VALOF(PUSHM_COUNT),-(sp)
- ENDM
- POPM MACRO
- movem.l (sp)+,PUSHM_\*VALOF(PUSHM_COUNT)
- IFNC '\1','NOBUMP'
- PUSHM_COUNT SET PUSHM_COUNT+1
- ENDC
- ENDM
- ENDC
-