]> git.sur5r.net Git - freertos/blob - Demo/NEC_V850ES_IAR/RegTest.s85
Remove unnecessary use of portLONG, portCHAR and portSHORT.
[freertos] / Demo / NEC_V850ES_IAR / RegTest.s85
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 ; Note: Select the correct include files for the device used by the application.\r
49 \r
50         EXTERN  vRegTestFailed\r
51 \r
52 \r
53 \r
54 ;\r
55 ; The RegTest tasks as described in the comments at the top of main().\r
56 ;\r
57 \r
58 \r
59 ;------------------------------------------------------------------------------\r
60 \r
61 ; Functions implemented in this file\r
62 ;------------------------------------------------------------------------------\r
63     PUBLIC      vRegTest1\r
64     PUBLIC      vRegTest2\r
65 \r
66 \r
67 ;------------------------------------------------------------------------------\r
68 ;------------------------------------------------------------------------------ \r
69     RSEG CODE:CODE\r
70 vRegTest1:\r
71     MOV         0x01010101, R1\r
72     MOV         0x02020202, R2\r
73         ; Ignore R3 and R4 as these are the stack and global pointers respectively.\r
74         MOV             0x04040404, R5\r
75         MOV             0x05050505, R6\r
76         MOV             0x06060606, R7\r
77         MOV             0x07070707, R8\r
78         MOV             0x08080808, R9\r
79         MOV             0x09090909, R10\r
80         MOV             0x0a0a0a0a, R11\r
81         MOV             0x0b0b0b0b, R12\r
82         MOV             0x0c0c0c0c, R13\r
83         MOV             0x0d0d0d0d, R14\r
84         MOV             0x0e0e0e0e, R15\r
85         MOV             0x0f0f0f0f, R16\r
86         MOV             0x10101010, R17\r
87         MOV             0x11111111, R18\r
88         MOV             0x12121212, R19\r
89         MOV             0x13131313, R20\r
90         MOV             0x14141414, R21\r
91         MOV             0x15151515, R22\r
92         MOV             0x16161616, R23\r
93         MOV             0x17171717, R24\r
94 #if ( configDATA_MODE == 1 )\r
95         ;R25 is used as a base register except when the tiny model is used. */\r
96         MOV             0x18181818, R25\r
97 #endif\r
98         MOV             0x19191919, R26\r
99         MOV             0x20202020, R27\r
100         MOV             0x21212121, R28\r
101         MOV             0x22222222, R29\r
102         MOV             0x23232323, R30\r
103         \r
104 vReg1TestLoopStart:\r
105         TRAP    0\r
106         MOV             0x01010101, R31\r
107         CMP             R31, R1\r
108         BZ              $+6\r
109         JARL    vRegTestFailed, lp\r
110         MOV             0x02020202, R31\r
111         CMP             R31, R2\r
112         BZ              $+6\r
113         JARL    vRegTestFailed, lp\r
114         MOV             0x04040404, R31\r
115         CMP             R31, R5\r
116         BZ              $+6\r
117         JARL    vRegTestFailed, lp\r
118         MOV             0x05050505, R31\r
119         CMP             R31, R6\r
120         BZ              $+6\r
121         JARL    vRegTestFailed, lp\r
122         MOV             0x06060606, R31\r
123         CMP             R31, R7\r
124         BZ              $+6\r
125         JARL    vRegTestFailed, lp\r
126         MOV             0x07070707, R31\r
127         CMP             R31, R8\r
128         BZ              $+6\r
129         JARL    vRegTestFailed, lp\r
130         MOV             0x08080808, R31\r
131         CMP             R31, R9\r
132         BZ              $+6\r
133         JARL    vRegTestFailed, lp\r
134         MOV             0x09090909, R31\r
135         CMP             R31, R10\r
136         BZ              $+6\r
137         JARL    vRegTestFailed, lp\r
138         MOV             0x0a0a0a0a, R31\r
139         CMP             R31, R11\r
140         BZ              $+6\r
141         JARL    vRegTestFailed, lp\r
142         MOV             0x0b0b0b0b, R31\r
143         CMP             R31, R12\r
144         BZ              $+6\r
145         JARL    vRegTestFailed, lp\r
146         MOV             0x0c0c0c0c, R31\r
147         CMP             R31, R13\r
148         BZ              $+6\r
149         JARL    vRegTestFailed, lp\r
150         MOV             0x0d0d0d0d, R31\r
151         CMP             R31, R14\r
152         BZ              $+6\r
153         JARL    vRegTestFailed, lp\r
154         MOV             0x0e0e0e0e, R31\r
155         CMP             R31, R15\r
156         BZ              $+6\r
157         JARL    vRegTestFailed, lp\r
158         MOV             0x0f0f0f0f, R31\r
159         CMP             R31, R16\r
160         BZ              $+6\r
161         JARL    vRegTestFailed, lp\r
162         MOV             0x10101010, R31\r
163         CMP             R31, R17\r
164         BZ              $+6\r
165         JARL    vRegTestFailed, lp\r
166         MOV             0x11111111, R31\r
167         CMP             R31, R18\r
168         BZ              $+6\r
169         JARL    vRegTestFailed, lp\r
170         MOV             0x12121212, R31\r
171         CMP             R31, R19\r
172         BZ              $+6\r
173         JARL    vRegTestFailed, lp\r
174         MOV             0x13131313, R31\r
175         CMP             R31, R20\r
176         BZ              $+6\r
177         JARL    vRegTestFailed, lp\r
178         MOV             0x14141414, R31\r
179         CMP             R31, R21\r
180         BZ              $+6\r
181         JARL    vRegTestFailed, lp\r
182         MOV             0x15151515, R31\r
183         CMP             R31, R22\r
184         BZ              $+6\r
185         JARL    vRegTestFailed, lp\r
186         MOV             0x16161616, R31\r
187         CMP             R31, R23\r
188         BZ              $+6\r
189         JARL    vRegTestFailed, lp\r
190         MOV             0x17171717, R31\r
191         CMP             R31, R24\r
192         BZ              $+6\r
193         JARL    vRegTestFailed, lp\r
194 #if ( configDATA_MODE == 1 )\r
195         MOV             0x18181818, R31\r
196         CMP             R31, R25\r
197         BZ              $+6\r
198         JARL    vRegTestFailed, lp\r
199 #endif\r
200         MOV             0x19191919, R31\r
201         CMP             R31, R26\r
202         BZ              $+6\r
203         JARL    vRegTestFailed, lp\r
204         MOV             0x20202020, R31\r
205         CMP             R31, R27\r
206         BZ              $+6\r
207         JARL    vRegTestFailed, lp\r
208         MOV             0x21212121, R31\r
209         CMP             R31, R28\r
210         BZ              $+6\r
211         JARL    vRegTestFailed, lp\r
212         MOV             0x22222222, R31\r
213         CMP             R31, R29\r
214         BZ              $+6\r
215         JARL    vRegTestFailed, lp\r
216         MOV             0x23232323, R31\r
217         CMP             R31, R30\r
218         BZ              $+6\r
219         JARL    vRegTestFailed, lp\r
220         MOV             vReg1TestLoopStart, R31 \r
221         JMP             [R31]\r
222 \r
223 ;------------------------------------------------------------------------------\r
224 ;------------------------------------------------------------------------------ \r
225     RSEG CODE:CODE\r
226 vRegTest2:\r
227     MOV         0xa101010b, R1\r
228     MOV         0xa202020b, R2\r
229         ; Ignore R3 and R4 as these are the stack and global pointers respectively.\r
230         MOV             0xa404040b, R5\r
231         MOV             0xa505050b, R6\r
232         MOV             0xa606060b, R7\r
233         MOV             0xa707070b, R8\r
234         MOV             0xa808080b, R9\r
235         MOV             0xa909090b, R10\r
236         MOV             0xaa0a0a0b, R11\r
237         MOV             0xab0b0b0b, R12\r
238         MOV             0xac0c0c0b, R13\r
239         MOV             0xad0d0d0b, R14\r
240         MOV             0xae0e0e0b, R15\r
241         MOV             0xaf0f0f0b, R16\r
242         MOV             0xa010101b, R17\r
243         MOV             0xa111111b, R18\r
244         MOV             0xa212121b, R19\r
245         MOV             0xa313131b, R20\r
246         MOV             0xa414141b, R21\r
247         MOV             0xa515151b, R22\r
248         MOV             0xa616161b, R23\r
249         MOV             0xa717171b, R24\r
250 #if ( configDATA_MODE == 1 )\r
251         ;R25 is used as a base register except when the tiny model is used. */\r
252         MOV             0xa818181b, R25\r
253 #endif\r
254         MOV             0xa919191b, R26\r
255         MOV             0xa020202b, R27\r
256         MOV             0xa121212b, R28\r
257         MOV             0xa222222b, R29\r
258         MOV             0xa323232b, R30\r
259         \r
260 vReg2TestLoopStart:\r
261         MOV             0xa101010b, R31\r
262         CMP             R31, R1\r
263         BZ              $+6\r
264         JARL    vRegTestFailed, lp\r
265         MOV             0xa202020b, R31\r
266         CMP             R31, R2\r
267         BZ              $+6\r
268         JARL    vRegTestFailed, lp\r
269         MOV             0xa404040b, R31\r
270         CMP             R31, R5\r
271         BZ              $+6\r
272         JARL    vRegTestFailed, lp\r
273         MOV             0xa505050b, R31\r
274         CMP             R31, R6\r
275         BZ              $+6\r
276         JARL    vRegTestFailed, lp\r
277         MOV             0xa606060b, R31\r
278         CMP             R31, R7\r
279         BZ              $+6\r
280         JARL    vRegTestFailed, lp\r
281         MOV             0xa707070b, R31\r
282         CMP             R31, R8\r
283         BZ              $+6\r
284         JARL    vRegTestFailed, lp\r
285         MOV             0xa808080b, R31\r
286         CMP             R31, R9\r
287         BZ              $+6\r
288         JARL    vRegTestFailed, lp\r
289         MOV             0xa909090b, R31\r
290         CMP             R31, R10\r
291         BZ              $+6\r
292         JARL    vRegTestFailed, lp\r
293         MOV             0xaa0a0a0b, R31\r
294         CMP             R31, R11\r
295         BZ              $+6\r
296         JARL    vRegTestFailed, lp\r
297         MOV             0xab0b0b0b, R31\r
298         CMP             R31, R12\r
299         BZ              $+6\r
300         JARL    vRegTestFailed, lp\r
301         MOV             0xac0c0c0b, R31\r
302         CMP             R31, R13\r
303         BZ              $+6\r
304         JARL    vRegTestFailed, lp\r
305         MOV             0xad0d0d0b, R31\r
306         CMP             R31, R14\r
307         BZ              $+6\r
308         JARL    vRegTestFailed, lp\r
309         MOV             0xae0e0e0b, R31\r
310         CMP             R31, R15\r
311         BZ              $+6\r
312         JARL    vRegTestFailed, lp\r
313         MOV             0xaf0f0f0b, R31\r
314         CMP             R31, R16\r
315         BZ              $+6\r
316         JARL    vRegTestFailed, lp\r
317         MOV             0xa010101b, R31\r
318         CMP             R31, R17\r
319         BZ              $+6\r
320         JARL    vRegTestFailed, lp\r
321         MOV             0xa111111b, R31\r
322         CMP             R31, R18\r
323         BZ              $+6\r
324         JARL    vRegTestFailed, lp\r
325         MOV             0xa212121b, R31\r
326         CMP             R31, R19\r
327         BZ              $+6\r
328         JARL    vRegTestFailed, lp\r
329         MOV             0xa313131b, R31\r
330         CMP             R31, R20\r
331         BZ              $+6\r
332         JARL    vRegTestFailed, lp\r
333         MOV             0xa414141b, R31\r
334         CMP             R31, R21\r
335         BZ              $+6\r
336         JARL    vRegTestFailed, lp\r
337         MOV             0xa515151b, R31\r
338         CMP             R31, R22\r
339         BZ              $+6\r
340         JARL    vRegTestFailed, lp\r
341         MOV             0xa616161b, R31\r
342         CMP             R31, R23\r
343         BZ              $+6\r
344         JARL    vRegTestFailed, lp\r
345         MOV             0xa717171b, R31\r
346         CMP             R31, R24\r
347         BZ              $+6\r
348         JARL    vRegTestFailed, lp\r
349 #if ( configDATA_MODE == 1 )\r
350         MOV             0xa818181b, R31\r
351         CMP             R31, R25\r
352         BZ              $+6\r
353         JARL    vRegTestFailed, lp\r
354 #endif\r
355         MOV             0xa919191b, R31\r
356         CMP             R31, R26\r
357         BZ              $+6\r
358         JARL    vRegTestFailed, lp\r
359         MOV             0xa020202b, R31\r
360         CMP             R31, R27\r
361         BZ              $+6\r
362         JARL    vRegTestFailed, lp\r
363         MOV             0xa121212b, R31\r
364         CMP             R31, R28\r
365         BZ              $+6\r
366         JARL    vRegTestFailed, lp\r
367         MOV             0xa222222b, R31\r
368         CMP             R31, R29\r
369         BZ              $+6\r
370         JARL    vRegTestFailed, lp\r
371         MOV             0xa323232b, R31\r
372         CMP             R31, R30\r
373         BZ              $+6\r
374         JARL    vRegTestFailed, lp\r
375         MOV             vReg2TestLoopStart, R31 \r
376         JMP             [R31]\r
377 \r
378       END\r
379