1 ;******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
\r
2 ;* File Name : cortexm3_macro.s
\r
3 ;* Author : MCD Application Team
\r
4 ;* Date First Issued : 02/19/2007
\r
5 ;* Description : Instruction wrappers for special Cortex-M3 instructions.
\r
6 ;*******************************************************************************
\r
10 ;*******************************************************************************
\r
11 ; THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
\r
12 ; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
\r
13 ; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
\r
14 ; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
\r
15 ; CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
\r
16 ; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
\r
17 ;*******************************************************************************
\r
21 ; Exported functions
\r
29 EXPORT __MRS_CONTROL
\r
30 EXPORT __MSR_CONTROL
\r
32 EXPORT __RESETPRIMASK
\r
33 EXPORT __SETFAULTMASK
\r
34 EXPORT __RESETFAULTMASK
\r
35 EXPORT __BASEPRICONFIG
\r
37 EXPORT __REV_HalfWord
\r
40 ;*******************************************************************************
\r
41 ; Function Name : __WFI
\r
42 ; Description : Assembler function for the WFI instruction.
\r
45 ;*******************************************************************************
\r
51 ;*******************************************************************************
\r
52 ; Function Name : __WFE
\r
53 ; Description : Assembler function for the WFE instruction.
\r
56 ;*******************************************************************************
\r
62 ;*******************************************************************************
\r
63 ; Function Name : __SEV
\r
64 ; Description : Assembler function for the SEV instruction.
\r
67 ;*******************************************************************************
\r
73 ;*******************************************************************************
\r
74 ; Function Name : __ISB
\r
75 ; Description : Assembler function for the ISB instruction.
\r
78 ;*******************************************************************************
\r
84 ;*******************************************************************************
\r
85 ; Function Name : __DSB
\r
86 ; Description : Assembler function for the DSB instruction.
\r
89 ;*******************************************************************************
\r
95 ;*******************************************************************************
\r
96 ; Function Name : __DMB
\r
97 ; Description : Assembler function for the DMB instruction.
\r
100 ;*******************************************************************************
\r
106 ;*******************************************************************************
\r
107 ; Function Name : __SVC
\r
108 ; Description : Assembler function for the SVC instruction.
\r
111 ;*******************************************************************************
\r
117 ;*******************************************************************************
\r
118 ; Function Name : __MRS_CONTROL
\r
119 ; Description : Assembler function for the MRS instruction.
\r
121 ; Return : - r0 : Cortex-M3 CONTROL register value.
\r
122 ;*******************************************************************************
\r
128 ;*******************************************************************************
\r
129 ; Function Name : __MSR_CONTROL
\r
130 ; Description : Assembler function for the MSR instruction.
\r
131 ; Input : - r0 : Cortex-M3 CONTROL register new value.
\r
133 ;*******************************************************************************
\r
140 ;*******************************************************************************
\r
141 ; Function Name : __SETPRIMASK
\r
142 ; Description : Assembler function to set the PRIMASK.
\r
145 ;*******************************************************************************
\r
151 ;*******************************************************************************
\r
152 ; Function Name : __RESETPRIMASK
\r
153 ; Description : Assembler function to reset the PRIMASK.
\r
156 ;*******************************************************************************
\r
162 ;*******************************************************************************
\r
163 ; Function Name : __SETFAULTMASK
\r
164 ; Description : Assembler function to set the FAULTMASK.
\r
167 ;*******************************************************************************
\r
173 ;*******************************************************************************
\r
174 ; Function Name : __RESETFAULTMASK
\r
175 ; Description : Assembler function to reset the FAULTMASK.
\r
178 ;*******************************************************************************
\r
184 ;*******************************************************************************
\r
185 ; Function Name : __BASEPRICONFIG
\r
186 ; Description : Assembler function to set the Base Priority.
\r
187 ; Input : - r0 : Base Priority new value
\r
189 ;*******************************************************************************
\r
195 ;*******************************************************************************
\r
196 ; Function Name : __GetBASEPRI
\r
197 ; Description : Assembler function to get the Base Priority value.
\r
199 ; Return : - r0 : Base Priority value
\r
200 ;*******************************************************************************
\r
203 MRS r0, BASEPRI_MAX
\r
206 ;*******************************************************************************
\r
207 ; Function Name : __REV_HalfWord
\r
208 ; Description : Reverses the byte order in HalfWord(16-bit) input variable.
\r
209 ; Input : - r0 : specifies the input variable
\r
210 ; Return : - r0 : holds tve variable value after byte reversing.
\r
211 ;*******************************************************************************
\r
217 ;*******************************************************************************
\r
218 ; Function Name : __REV_Word
\r
219 ; Description : Reverses the byte order in Word(32-bit) input variable.
\r
220 ; Input : - r0 : specifies the input variable
\r
221 ; Return : - r0 : holds tve variable value after byte reversing.
\r
222 ;*******************************************************************************
\r
230 ;******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE*****
\r