From c679af3ba84d7a8591485e7e0493a681c9c7405d Mon Sep 17 00:00:00 2001 From: Richard Barry Date: Tue, 18 Jan 2011 20:33:35 +0000 Subject: [PATCH] Update the MSP430X/IAR port layer to support the medium data model. --- Source/portable/IAR/MSP430X/data_model.h | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Source/portable/IAR/MSP430X/data_model.h b/Source/portable/IAR/MSP430X/data_model.h index 08330590f..988a94998 100644 --- a/Source/portable/IAR/MSP430X/data_model.h +++ b/Source/portable/IAR/MSP430X/data_model.h @@ -61,14 +61,29 @@ #define pop_x pop.w #define mov_x mov.w #define cmp_x cmp.w -#else /* DATA_MODEL_SMALL__ */ +#endif + +#ifdef __DATA_MODEL_MEDIUM__ + #define pushm_x pushm.a + #define popm_x popm.a + #define push_x pushx.a + #define pop_x popx.a + #define mov_x mov.w + #define cmp_x cmp.w +#endif + +#ifdef __DATA_MODEL_LARGE__ #define pushm_x pushm.a #define popm_x popm.a #define push_x pushx.a #define pop_x popx.a #define mov_x movx.a #define cmp_x cmpx.a -#endif /* __DATA_MODEL_SMALL__ +#endif + +#ifndef pushm_x + #error The assembler options must define one of the following symbols: __DATA_MODEL_SMALL__, __DATA_MODEL_MEDIUM__, or __DATA_MODEL_LARGE__ +#endif #endif /* DATA_MODEL_H */