]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/NEC_V850ES_IAR/RegTest.s85
Update version number to 9.0.0rc2.
[freertos] / FreeRTOS / Demo / NEC_V850ES_IAR / RegTest.s85
1 ;/*\r
2 ;    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
3 ;       \r
4 ;\r
5 ;    ***************************************************************************\r
6 ;     *                                                                       *\r
7 ;     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
8 ;     *    Complete, revised, and edited pdf reference manuals are also       *\r
9 ;     *    available.                                                         *\r
10 ;     *                                                                       *\r
11 ;     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
12 ;     *    ensuring you get running as quickly as possible and with an        *\r
13 ;     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
14 ;     *    the FreeRTOS project to continue with its mission of providing     *\r
15 ;     *    professional grade, cross platform, de facto standard solutions    *\r
16 ;     *    for microcontrollers - completely free of charge!                  *\r
17 ;     *                                                                       *\r
18 ;     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
19 ;     *                                                                       *\r
20 ;     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
21 ;     *                                                                       *\r
22 ;    ***************************************************************************\r
23 ;\r
24 ;\r
25 ;    This file is part of the FreeRTOS distribution.\r
26 ;\r
27 ;    FreeRTOS is free software; you can redistribute it and/or modify it under\r
28 ;    the terms of the GNU General Public License (version 2) as published by the\r
29 ;    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.\r
30 ;    >>>NOTE<<< The modification to the GPL is included to allow you to\r
31 ;    distribute a combined work that includes FreeRTOS without being obliged to\r
32 ;    provide the source code for proprietary components outside of the FreeRTOS\r
33 ;    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
34 ;    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
35 ;    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
36 ;    more details. You should have received a copy of the GNU General Public\r
37 ;    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
38 ;    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
39 ;    by writing to Richard Barry, contact details for whom are available on the\r
40 ;    FreeRTOS WEB site.\r
41 ;\r
42 ;    1 tab == 4 spaces!\r
43 ;\r
44 ;    http://www.FreeRTOS.org - Documentation, latest information, license and\r
45 ;    contact details.\r
46 ;\r
47 ;    http://www.SafeRTOS.com - A version that is certified for use in safety\r
48 ;    critical systems.\r
49 ;\r
50 ;    http://www.OpenRTOS.com - Commercial support, development, porting,\r
51 ;    licensing and training services.\r
52 ;*/\r
53 ; Note: Select the correct include files for the device used by the application.\r
54 \r
55         EXTERN  vRegTestFailed\r
56 \r
57 \r
58 \r
59 ;\r
60 ; The RegTest tasks as described in the comments at the top of main().\r
61 ;\r
62 \r
63 \r
64 ;------------------------------------------------------------------------------\r
65 \r
66 ; Functions implemented in this file\r
67 ;------------------------------------------------------------------------------\r
68     PUBLIC      vRegTest1\r
69     PUBLIC      vRegTest2\r
70 \r
71 \r
72 ;------------------------------------------------------------------------------\r
73 ;------------------------------------------------------------------------------ \r
74     RSEG CODE:CODE\r
75 vRegTest1:\r
76     MOV         0x01010101, R1\r
77     MOV         0x02020202, R2\r
78         ; Ignore R3 and R4 as these are the stack and global pointers respectively.\r
79         MOV             0x04040404, R5\r
80         MOV             0x05050505, R6\r
81         MOV             0x06060606, R7\r
82         MOV             0x07070707, R8\r
83         MOV             0x08080808, R9\r
84         MOV             0x09090909, R10\r
85         MOV             0x0a0a0a0a, R11\r
86         MOV             0x0b0b0b0b, R12\r
87         MOV             0x0c0c0c0c, R13\r
88         MOV             0x0d0d0d0d, R14\r
89         MOV             0x0e0e0e0e, R15\r
90         MOV             0x0f0f0f0f, R16\r
91         MOV             0x10101010, R17\r
92         MOV             0x11111111, R18\r
93         MOV             0x12121212, R19\r
94         MOV             0x13131313, R20\r
95         MOV             0x14141414, R21\r
96         MOV             0x15151515, R22\r
97         MOV             0x16161616, R23\r
98         MOV             0x17171717, R24\r
99 #if ( configDATA_MODE == 1 )\r
100         ;R25 is used as a base register except when the tiny model is used. */\r
101         MOV             0x18181818, R25\r
102 #endif\r
103         MOV             0x19191919, R26\r
104         MOV             0x20202020, R27\r
105         MOV             0x21212121, R28\r
106         MOV             0x22222222, R29\r
107         MOV             0x23232323, R30\r
108         \r
109 vReg1TestLoopStart:\r
110         TRAP    0\r
111         MOV             0x01010101, R31\r
112         CMP             R31, R1\r
113         BZ              $+6\r
114         JARL    vRegTestFailed, lp\r
115         MOV             0x02020202, R31\r
116         CMP             R31, R2\r
117         BZ              $+6\r
118         JARL    vRegTestFailed, lp\r
119         MOV             0x04040404, R31\r
120         CMP             R31, R5\r
121         BZ              $+6\r
122         JARL    vRegTestFailed, lp\r
123         MOV             0x05050505, R31\r
124         CMP             R31, R6\r
125         BZ              $+6\r
126         JARL    vRegTestFailed, lp\r
127         MOV             0x06060606, R31\r
128         CMP             R31, R7\r
129         BZ              $+6\r
130         JARL    vRegTestFailed, lp\r
131         MOV             0x07070707, R31\r
132         CMP             R31, R8\r
133         BZ              $+6\r
134         JARL    vRegTestFailed, lp\r
135         MOV             0x08080808, R31\r
136         CMP             R31, R9\r
137         BZ              $+6\r
138         JARL    vRegTestFailed, lp\r
139         MOV             0x09090909, R31\r
140         CMP             R31, R10\r
141         BZ              $+6\r
142         JARL    vRegTestFailed, lp\r
143         MOV             0x0a0a0a0a, R31\r
144         CMP             R31, R11\r
145         BZ              $+6\r
146         JARL    vRegTestFailed, lp\r
147         MOV             0x0b0b0b0b, R31\r
148         CMP             R31, R12\r
149         BZ              $+6\r
150         JARL    vRegTestFailed, lp\r
151         MOV             0x0c0c0c0c, R31\r
152         CMP             R31, R13\r
153         BZ              $+6\r
154         JARL    vRegTestFailed, lp\r
155         MOV             0x0d0d0d0d, R31\r
156         CMP             R31, R14\r
157         BZ              $+6\r
158         JARL    vRegTestFailed, lp\r
159         MOV             0x0e0e0e0e, R31\r
160         CMP             R31, R15\r
161         BZ              $+6\r
162         JARL    vRegTestFailed, lp\r
163         MOV             0x0f0f0f0f, R31\r
164         CMP             R31, R16\r
165         BZ              $+6\r
166         JARL    vRegTestFailed, lp\r
167         MOV             0x10101010, R31\r
168         CMP             R31, R17\r
169         BZ              $+6\r
170         JARL    vRegTestFailed, lp\r
171         MOV             0x11111111, R31\r
172         CMP             R31, R18\r
173         BZ              $+6\r
174         JARL    vRegTestFailed, lp\r
175         MOV             0x12121212, R31\r
176         CMP             R31, R19\r
177         BZ              $+6\r
178         JARL    vRegTestFailed, lp\r
179         MOV             0x13131313, R31\r
180         CMP             R31, R20\r
181         BZ              $+6\r
182         JARL    vRegTestFailed, lp\r
183         MOV             0x14141414, R31\r
184         CMP             R31, R21\r
185         BZ              $+6\r
186         JARL    vRegTestFailed, lp\r
187         MOV             0x15151515, R31\r
188         CMP             R31, R22\r
189         BZ              $+6\r
190         JARL    vRegTestFailed, lp\r
191         MOV             0x16161616, R31\r
192         CMP             R31, R23\r
193         BZ              $+6\r
194         JARL    vRegTestFailed, lp\r
195         MOV             0x17171717, R31\r
196         CMP             R31, R24\r
197         BZ              $+6\r
198         JARL    vRegTestFailed, lp\r
199 #if ( configDATA_MODE == 1 )\r
200         MOV             0x18181818, R31\r
201         CMP             R31, R25\r
202         BZ              $+6\r
203         JARL    vRegTestFailed, lp\r
204 #endif\r
205         MOV             0x19191919, R31\r
206         CMP             R31, R26\r
207         BZ              $+6\r
208         JARL    vRegTestFailed, lp\r
209         MOV             0x20202020, R31\r
210         CMP             R31, R27\r
211         BZ              $+6\r
212         JARL    vRegTestFailed, lp\r
213         MOV             0x21212121, R31\r
214         CMP             R31, R28\r
215         BZ              $+6\r
216         JARL    vRegTestFailed, lp\r
217         MOV             0x22222222, R31\r
218         CMP             R31, R29\r
219         BZ              $+6\r
220         JARL    vRegTestFailed, lp\r
221         MOV             0x23232323, R31\r
222         CMP             R31, R30\r
223         BZ              $+6\r
224         JARL    vRegTestFailed, lp\r
225         MOV             vReg1TestLoopStart, R31 \r
226         JMP             [R31]\r
227 \r
228 ;------------------------------------------------------------------------------\r
229 ;------------------------------------------------------------------------------ \r
230     RSEG CODE:CODE\r
231 vRegTest2:\r
232     MOV         0xa101010b, R1\r
233     MOV         0xa202020b, R2\r
234         ; Ignore R3 and R4 as these are the stack and global pointers respectively.\r
235         MOV             0xa404040b, R5\r
236         MOV             0xa505050b, R6\r
237         MOV             0xa606060b, R7\r
238         MOV             0xa707070b, R8\r
239         MOV             0xa808080b, R9\r
240         MOV             0xa909090b, R10\r
241         MOV             0xaa0a0a0b, R11\r
242         MOV             0xab0b0b0b, R12\r
243         MOV             0xac0c0c0b, R13\r
244         MOV             0xad0d0d0b, R14\r
245         MOV             0xae0e0e0b, R15\r
246         MOV             0xaf0f0f0b, R16\r
247         MOV             0xa010101b, R17\r
248         MOV             0xa111111b, R18\r
249         MOV             0xa212121b, R19\r
250         MOV             0xa313131b, R20\r
251         MOV             0xa414141b, R21\r
252         MOV             0xa515151b, R22\r
253         MOV             0xa616161b, R23\r
254         MOV             0xa717171b, R24\r
255 #if ( configDATA_MODE == 1 )\r
256         ;R25 is used as a base register except when the tiny model is used. */\r
257         MOV             0xa818181b, R25\r
258 #endif\r
259         MOV             0xa919191b, R26\r
260         MOV             0xa020202b, R27\r
261         MOV             0xa121212b, R28\r
262         MOV             0xa222222b, R29\r
263         MOV             0xa323232b, R30\r
264         \r
265 vReg2TestLoopStart:\r
266         MOV             0xa101010b, R31\r
267         CMP             R31, R1\r
268         BZ              $+6\r
269         JARL    vRegTestFailed, lp\r
270         MOV             0xa202020b, R31\r
271         CMP             R31, R2\r
272         BZ              $+6\r
273         JARL    vRegTestFailed, lp\r
274         MOV             0xa404040b, R31\r
275         CMP             R31, R5\r
276         BZ              $+6\r
277         JARL    vRegTestFailed, lp\r
278         MOV             0xa505050b, R31\r
279         CMP             R31, R6\r
280         BZ              $+6\r
281         JARL    vRegTestFailed, lp\r
282         MOV             0xa606060b, R31\r
283         CMP             R31, R7\r
284         BZ              $+6\r
285         JARL    vRegTestFailed, lp\r
286         MOV             0xa707070b, R31\r
287         CMP             R31, R8\r
288         BZ              $+6\r
289         JARL    vRegTestFailed, lp\r
290         MOV             0xa808080b, R31\r
291         CMP             R31, R9\r
292         BZ              $+6\r
293         JARL    vRegTestFailed, lp\r
294         MOV             0xa909090b, R31\r
295         CMP             R31, R10\r
296         BZ              $+6\r
297         JARL    vRegTestFailed, lp\r
298         MOV             0xaa0a0a0b, R31\r
299         CMP             R31, R11\r
300         BZ              $+6\r
301         JARL    vRegTestFailed, lp\r
302         MOV             0xab0b0b0b, R31\r
303         CMP             R31, R12\r
304         BZ              $+6\r
305         JARL    vRegTestFailed, lp\r
306         MOV             0xac0c0c0b, R31\r
307         CMP             R31, R13\r
308         BZ              $+6\r
309         JARL    vRegTestFailed, lp\r
310         MOV             0xad0d0d0b, R31\r
311         CMP             R31, R14\r
312         BZ              $+6\r
313         JARL    vRegTestFailed, lp\r
314         MOV             0xae0e0e0b, R31\r
315         CMP             R31, R15\r
316         BZ              $+6\r
317         JARL    vRegTestFailed, lp\r
318         MOV             0xaf0f0f0b, R31\r
319         CMP             R31, R16\r
320         BZ              $+6\r
321         JARL    vRegTestFailed, lp\r
322         MOV             0xa010101b, R31\r
323         CMP             R31, R17\r
324         BZ              $+6\r
325         JARL    vRegTestFailed, lp\r
326         MOV             0xa111111b, R31\r
327         CMP             R31, R18\r
328         BZ              $+6\r
329         JARL    vRegTestFailed, lp\r
330         MOV             0xa212121b, R31\r
331         CMP             R31, R19\r
332         BZ              $+6\r
333         JARL    vRegTestFailed, lp\r
334         MOV             0xa313131b, R31\r
335         CMP             R31, R20\r
336         BZ              $+6\r
337         JARL    vRegTestFailed, lp\r
338         MOV             0xa414141b, R31\r
339         CMP             R31, R21\r
340         BZ              $+6\r
341         JARL    vRegTestFailed, lp\r
342         MOV             0xa515151b, R31\r
343         CMP             R31, R22\r
344         BZ              $+6\r
345         JARL    vRegTestFailed, lp\r
346         MOV             0xa616161b, R31\r
347         CMP             R31, R23\r
348         BZ              $+6\r
349         JARL    vRegTestFailed, lp\r
350         MOV             0xa717171b, R31\r
351         CMP             R31, R24\r
352         BZ              $+6\r
353         JARL    vRegTestFailed, lp\r
354 #if ( configDATA_MODE == 1 )\r
355         MOV             0xa818181b, R31\r
356         CMP             R31, R25\r
357         BZ              $+6\r
358         JARL    vRegTestFailed, lp\r
359 #endif\r
360         MOV             0xa919191b, R31\r
361         CMP             R31, R26\r
362         BZ              $+6\r
363         JARL    vRegTestFailed, lp\r
364         MOV             0xa020202b, R31\r
365         CMP             R31, R27\r
366         BZ              $+6\r
367         JARL    vRegTestFailed, lp\r
368         MOV             0xa121212b, R31\r
369         CMP             R31, R28\r
370         BZ              $+6\r
371         JARL    vRegTestFailed, lp\r
372         MOV             0xa222222b, R31\r
373         CMP             R31, R29\r
374         BZ              $+6\r
375         JARL    vRegTestFailed, lp\r
376         MOV             0xa323232b, R31\r
377         CMP             R31, R30\r
378         BZ              $+6\r
379         JARL    vRegTestFailed, lp\r
380         MOV             vReg2TestLoopStart, R31 \r
381         JMP             [R31]\r
382 \r
383       END\r
384