; File: types.i ; asm(1.0) macro package - Various defines/macros that ; may be found useful. ; ; This macro package has been written and placed in the ; public domain by Douglas J Leavitt, 1986. This macro ; package is based on Commodore-Amiga header files printed ; In The ROM Kernel Manuals, published and printed by ; Commodore-Amiga, and Addison-Wesley publishing. ; ; The goal of this macro file is to be upwardly compatible ; with the include file of the same name. ; ifnd ASM_COMMON include "asm/asmcom.i" endc ; ASM_COMMON ifnd EXEC_TYPES_I EXEC_TYPES_I = 1 EXTERN_LIB macro ___argchk=narg ARGCHK 1,1 global _LVO\1 endm STRUCTURE macro ___argchk=narg ARGCHK 2,2 \1 = 0 SOFFSET = \2 endm ; Common increment size macro ___INCDEF macro ___argchk=narg ARGCHK 2,2 \\1 = SOFFSET SOFFSET = SOFFSET + \\2 endm ; 8 bit value macros BYTE macro ___INCDEF \1,1 endm UBYTE macro ___INCDEF \1,1 endm ; 16 bit value macros BOOL macro ___INCDEF \1,2 endm WORD macro ___INCDEF \1,2 endm UWORD macro ___INCDEF \1,2 endm SHORT macro ___INCDEF \1,2 endm USHORT macro ___INCDEF \1,2 endm RPTR macro ___INCDEF \1,2 endm ; 32 bit value macros APTR macro ___INCDEF \1,4 endm LONG macro ___INCDEF \1,4 endm ULONG macro ___INCDEF \1,4 endm FLOAT macro ___INCDEF \1,4 endm ; 64 bit value macros DOUBLE macro ___INCDEF \1,8 endm ; Extraneous macros STRUCT macro ___argchk=narg ARGCHK 2,2 \1 = SOFFSET SOFFSET = SOFFSET + \2 endm ; Bitdef macros ; Unused, but avaiable for backwards compatible use BITDEF0 macro ___argchk=narg ARGCHK 4,4 \1\3\2 = \4 endm BITDEF macro ___argchk=narg ARGCHK 3,3 \1B_\2 = \3 \1F_\2 = 1 << \3 endm endc ; EXEC_TYPES_I