;----------------------------------------------------------------------------
;               			
;		    MACROS.M90					
;
;	This module contains the A90/AVR C macros				
;	used by cstartup.s90 and other assemble source.
;
;   File version:   $Revision: 1.8 $
;								 	
;								 	
;----------------------------------------------------------------------------


#if (((__TID__ >> 8) & 0x7F) != 90)
#error This file should only be assembled by aa90 or aavr
#endif

#define A90_PROC_OPTION		((__TID__ >> 4) & 0x0F)

/* Long or relative jumps and calls */
#if (A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 1)
#define XCALL	RCALL
#define XJMP	RJMP
#else
#define XCALL	CALL
#define XJMP	JMP
#endif

/* Length of pointer registers (X/Y/Z) */
#if (A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)
#define A90_POINTER_REG_SIZE	1
#define A90_TINY_INDEX
#else /*!(A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)*/
#if (A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)
#define A90_POINTER_REG_SIZE	2
#else /*!(A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)*/
#if (A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)
#define A90_POINTER_REG_SIZE	3
#define A90_EXTENDED_DATA
#else /*!(A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)*/
#error Unknown processor option!!
#endif /*!(A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)*/
#endif /*!(A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)*/
#endif /*!(A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)*/

#if (A90_PROC_OPTION > 4)
#define A90_LARGE_CODE
#endif

#if (A90_PROC_OPTION > 1)
#define A90_HAS_POSSIBLE_ELPM
#endif

#ifdef A90_HAS_POSSIBLE_ELPM
#ifdef __HAS_ELPM__
#define A90_HAS_ELPM
#else
#ifndef SMALL_FLASH
#define A90_HAS_ELPM
#endif
#endif
#endif

#if A90_PROC_OPTION > 1
#define A90_24BIT_GENERIC
#endif

#if A90_PROC_OPTION < 2
#define A90_16BIT_GENERIC
#endif

#ifdef __MEMORY_MODEL__

#define TINY_MEMORY_MODEL 0
#define SMALL_MEMORY_MODEL 1
#define LARGE_MEMORY_MODEL 2
#define GENERIC_MEMORY_MODEL 3
#define HUGE_MEMORY_MODEL 4

#if __MEMORY_MODEL__ == 1
#undef MEMORY_MODEL
#define MEMORY_MODEL TINY_MEMORY_MODEL
#endif

#if __MEMORY_MODEL__ == 2
#undef MEMORY_MODEL
#define MEMORY_MODEL SMALL_MEMORY_MODEL
#endif

#if __MEMORY_MODEL__ == 3
#undef MEMORY_MODEL
#define MEMORY_MODEL LARGE_MEMORY_MODEL
#endif

#if __MEMORY_MODEL__ == 4
#undef MEMORY_MODEL
#define MEMORY_MODEL GENERIC_MEMORY_MODEL
#endif

#if __MEMORY_MODEL__ == 5
#undef MEMORY_MODEL
#define MEMORY_MODEL HUGE_MEMORY_MODEL
#endif

#else

#ifdef MEMORY_MODEL
#define t 0
#define s 1
#define l 2
#define g 3
#define h 4

#define TINY_MEMORY_MODEL 0
#define SMALL_MEMORY_MODEL 1
#define LARGE_MEMORY_MODEL 2
#define GENERIC_MEMORY_MODEL 3
#define HUGE_MEMORY_MODEL 4

#if MEMORY_MODEL == t
#undef MEMORY_MODEL
#define MEMORY_MODEL TINY_MEMORY_MODEL
#endif

#if MEMORY_MODEL == s
#undef MEMORY_MODEL
#define MEMORY_MODEL SMALL_MEMORY_MODEL
#endif

#if MEMORY_MODEL == l
#undef MEMORY_MODEL
#define MEMORY_MODEL LARGE_MEMORY_MODEL
#endif

#if MEMORY_MODEL == g
#undef MEMORY_MODEL
#define MEMORY_MODEL GENERIC_MEMORY_MODEL
#endif

#if MEMORY_MODEL == h
#undef MEMORY_MODEL
#define MEMORY_MODEL HUGE_MEMORY_MODEL
#endif

#undef t
#undef s
#undef l
#undef g
#undef h
#endif
#endif

/* Register nicknames */
#define T0 R0
#define T1 R1
#define T2 R2
#define T3 R3
#define P0 R16
#define P1 R17
#define P2 R18
#define P3 R19
#define Q0 R20
#define Q1 R21
#define Q2 R22
#define Q3 R23
#define X0 R26
#define X1 R27
#define X2 R25
#define Y0 R28
#define Y1 R29
#define Z0 R30
#define Z1 R31
#define Z2 R19

/* I/O-Space Register nicknames */
#define RAMPD 0x38
#define RAMPX 0x39
#define RAMPY 0x3A
#define RAMPZ 0x3B
#define EIND  0x3C
#define SREG  0x3F
