]> git.sur5r.net Git - freertos/blob - Demo/NEC_78K0R_IAR/ButtonISR.s26
Remove unnecessary use of portLONG, portCHAR and portSHORT.
[freertos] / Demo / NEC_78K0R_IAR / ButtonISR.s26
1 ;/*\r
2 ;    FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.\r
3 ;\r
4 ;    This file is part of the FreeRTOS distribution.\r
5 ;\r
6 ;    FreeRTOS is free software; you can redistribute it and/or modify it    under\r
7 ;    the terms of the GNU General Public License (version 2) as published by the\r
8 ;    Free Software Foundation and modified by the FreeRTOS exception.\r
9 ;    **NOTE** The exception to the GPL is included to allow you to distribute a\r
10 ;    combined work that includes FreeRTOS without being obliged to provide the\r
11 ;    source code for proprietary components outside of the FreeRTOS kernel.\r
12 ;    Alternative commercial license and support terms are also available upon\r
13 ;    request.  See the licensing section of http://www.FreeRTOS.org for full\r
14 ;    license details.\r
15 ;\r
16 ;    FreeRTOS is distributed in the hope that it will be useful,    but WITHOUT\r
17 ;    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
18 ;    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
19 ;    more details.\r
20 ;\r
21 ;    You should have received a copy of the GNU General Public License along\r
22 ;    with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59\r
23 ;    Temple Place, Suite 330, Boston, MA  02111-1307  USA.\r
24 ;\r
25 ;\r
26 ;    ***************************************************************************\r
27 ;    *                                                                         *\r
28 ;    * The FreeRTOS eBook and reference manual are available to purchase for a *\r
29 ;    * small fee. Help yourself get started quickly while also helping the     *\r
30 ;    * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *\r
31 ;    *                                                                         *\r
32 ;    ***************************************************************************\r
33 ;\r
34 ;    1 tab == 4 spaces!\r
35 ;\r
36 ;    Please ensure to read the configuration and relevant port sections of the\r
37 ;    online documentation.\r
38 ;\r
39 ;    http://www.FreeRTOS.org - Documentation, latest information, license and\r
40 ;    contact details.\r
41 ;\r
42 ;    http://www.SafeRTOS.com - A version that is certified for use in safety\r
43 ;    critical systems.\r
44 ;\r
45 ;    http://www.OpenRTOS.com - Commercial support, development, porting,\r
46 ;    licensing and training services.\r
47 ;*/\r
48 \r
49 ;\r
50 ; This file defines a wrapper for the interrupt generated each time the button\r
51 ; on the target board is pushed.  The asm wrapper is used to save and restore\r
52 ; the task context as a context switch may occur within the ISR itself.\r
53 ; The C portion of the ISR is defined within ButtonTask.c.\r
54 ;\r
55 \r
56 ; Include the portSAVE_CONTEXT and portRESTORE_CONTEXT macros.\r
57 #include "ISR_Support.h"\r
58 \r
59         PUBLIC    vButtonISRWrapper\r
60         EXTERN    vButtonISRHandler\r
61 \r
62     RSEG CODE:CODE\r
63         \r
64 vButtonISRWrapper:\r
65         ; Save the current task context.        \r
66         portSAVE_CONTEXT\r
67 \r
68         ; Call the C portion of the ISR.\r
69         call vButtonISRHandler\r
70 \r
71         ; Restore the context of whichever task is to run next - which might be\r
72         ; different from the task that was originally interrupted.\r
73         portRESTORE_CONTEXT\r
74         reti\r
75 \r
76 \r
77 \r
78         ; Place the ISR into the vector table.\r
79         COMMON INTVEC:CODE:ROOT(1)\r
80         ORG 8\r
81 `??vButtonISRWrapper??INTVEC 8`:\r
82         DW vButtonISRWrapper\r
83 \r
84 \r
85         END\r