]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/NEC_V850ES_IAR/RegTest.s85
Update to MIT licensed FreeRTOS V10.0.0 - see https://www.freertos.org/History.txt
[freertos] / FreeRTOS / Demo / NEC_V850ES_IAR / RegTest.s85
1 ;/*\r
2 ; * FreeRTOS Kernel V10.0.0\r
3 ; * Copyright (C) 2017 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
4 ; *\r
5 ; * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
6 ; * this software and associated documentation files (the "Software"), to deal in\r
7 ; * the Software without restriction, including without limitation the rights to\r
8 ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
9 ; * the Software, and to permit persons to whom the Software is furnished to do so,\r
10 ; * subject to the following conditions:\r
11 ; *\r
12 ; * The above copyright notice and this permission notice shall be included in all\r
13 ; * copies or substantial portions of the Software. If you wish to use our Amazon\r
14 ; * FreeRTOS name, please do so in a fair use way that does not cause confusion.\r
15 ; *\r
16 ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
17 ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
18 ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
19 ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
20 ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
21 ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
22 ; *\r
23 ; * http://www.FreeRTOS.org\r
24 ; * http://aws.amazon.com/freertos\r
25 ; *\r
26 ; * 1 tab == 4 spaces!\r
27 ; */\r
28 ; Note: Select the correct include files for the device used by the application.\r
29 \r
30         EXTERN  vRegTestFailed\r
31 \r
32 \r
33 \r
34 ;\r
35 ; The RegTest tasks as described in the comments at the top of main().\r
36 ;\r
37 \r
38 \r
39 ;------------------------------------------------------------------------------\r
40 \r
41 ; Functions implemented in this file\r
42 ;------------------------------------------------------------------------------\r
43     PUBLIC      vRegTest1\r
44     PUBLIC      vRegTest2\r
45 \r
46 \r
47 ;------------------------------------------------------------------------------\r
48 ;------------------------------------------------------------------------------ \r
49     RSEG CODE:CODE\r
50 vRegTest1:\r
51     MOV         0x01010101, R1\r
52     MOV         0x02020202, R2\r
53         ; Ignore R3 and R4 as these are the stack and global pointers respectively.\r
54         MOV             0x04040404, R5\r
55         MOV             0x05050505, R6\r
56         MOV             0x06060606, R7\r
57         MOV             0x07070707, R8\r
58         MOV             0x08080808, R9\r
59         MOV             0x09090909, R10\r
60         MOV             0x0a0a0a0a, R11\r
61         MOV             0x0b0b0b0b, R12\r
62         MOV             0x0c0c0c0c, R13\r
63         MOV             0x0d0d0d0d, R14\r
64         MOV             0x0e0e0e0e, R15\r
65         MOV             0x0f0f0f0f, R16\r
66         MOV             0x10101010, R17\r
67         MOV             0x11111111, R18\r
68         MOV             0x12121212, R19\r
69         MOV             0x13131313, R20\r
70         MOV             0x14141414, R21\r
71         MOV             0x15151515, R22\r
72         MOV             0x16161616, R23\r
73         MOV             0x17171717, R24\r
74 #if ( configDATA_MODE == 1 )\r
75         ;R25 is used as a base register except when the tiny model is used. */\r
76         MOV             0x18181818, R25\r
77 #endif\r
78         MOV             0x19191919, R26\r
79         MOV             0x20202020, R27\r
80         MOV             0x21212121, R28\r
81         MOV             0x22222222, R29\r
82         MOV             0x23232323, R30\r
83         \r
84 vReg1TestLoopStart:\r
85         TRAP    0\r
86         MOV             0x01010101, R31\r
87         CMP             R31, R1\r
88         BZ              $+6\r
89         JARL    vRegTestFailed, lp\r
90         MOV             0x02020202, R31\r
91         CMP             R31, R2\r
92         BZ              $+6\r
93         JARL    vRegTestFailed, lp\r
94         MOV             0x04040404, R31\r
95         CMP             R31, R5\r
96         BZ              $+6\r
97         JARL    vRegTestFailed, lp\r
98         MOV             0x05050505, R31\r
99         CMP             R31, R6\r
100         BZ              $+6\r
101         JARL    vRegTestFailed, lp\r
102         MOV             0x06060606, R31\r
103         CMP             R31, R7\r
104         BZ              $+6\r
105         JARL    vRegTestFailed, lp\r
106         MOV             0x07070707, R31\r
107         CMP             R31, R8\r
108         BZ              $+6\r
109         JARL    vRegTestFailed, lp\r
110         MOV             0x08080808, R31\r
111         CMP             R31, R9\r
112         BZ              $+6\r
113         JARL    vRegTestFailed, lp\r
114         MOV             0x09090909, R31\r
115         CMP             R31, R10\r
116         BZ              $+6\r
117         JARL    vRegTestFailed, lp\r
118         MOV             0x0a0a0a0a, R31\r
119         CMP             R31, R11\r
120         BZ              $+6\r
121         JARL    vRegTestFailed, lp\r
122         MOV             0x0b0b0b0b, R31\r
123         CMP             R31, R12\r
124         BZ              $+6\r
125         JARL    vRegTestFailed, lp\r
126         MOV             0x0c0c0c0c, R31\r
127         CMP             R31, R13\r
128         BZ              $+6\r
129         JARL    vRegTestFailed, lp\r
130         MOV             0x0d0d0d0d, R31\r
131         CMP             R31, R14\r
132         BZ              $+6\r
133         JARL    vRegTestFailed, lp\r
134         MOV             0x0e0e0e0e, R31\r
135         CMP             R31, R15\r
136         BZ              $+6\r
137         JARL    vRegTestFailed, lp\r
138         MOV             0x0f0f0f0f, R31\r
139         CMP             R31, R16\r
140         BZ              $+6\r
141         JARL    vRegTestFailed, lp\r
142         MOV             0x10101010, R31\r
143         CMP             R31, R17\r
144         BZ              $+6\r
145         JARL    vRegTestFailed, lp\r
146         MOV             0x11111111, R31\r
147         CMP             R31, R18\r
148         BZ              $+6\r
149         JARL    vRegTestFailed, lp\r
150         MOV             0x12121212, R31\r
151         CMP             R31, R19\r
152         BZ              $+6\r
153         JARL    vRegTestFailed, lp\r
154         MOV             0x13131313, R31\r
155         CMP             R31, R20\r
156         BZ              $+6\r
157         JARL    vRegTestFailed, lp\r
158         MOV             0x14141414, R31\r
159         CMP             R31, R21\r
160         BZ              $+6\r
161         JARL    vRegTestFailed, lp\r
162         MOV             0x15151515, R31\r
163         CMP             R31, R22\r
164         BZ              $+6\r
165         JARL    vRegTestFailed, lp\r
166         MOV             0x16161616, R31\r
167         CMP             R31, R23\r
168         BZ              $+6\r
169         JARL    vRegTestFailed, lp\r
170         MOV             0x17171717, R31\r
171         CMP             R31, R24\r
172         BZ              $+6\r
173         JARL    vRegTestFailed, lp\r
174 #if ( configDATA_MODE == 1 )\r
175         MOV             0x18181818, R31\r
176         CMP             R31, R25\r
177         BZ              $+6\r
178         JARL    vRegTestFailed, lp\r
179 #endif\r
180         MOV             0x19191919, R31\r
181         CMP             R31, R26\r
182         BZ              $+6\r
183         JARL    vRegTestFailed, lp\r
184         MOV             0x20202020, R31\r
185         CMP             R31, R27\r
186         BZ              $+6\r
187         JARL    vRegTestFailed, lp\r
188         MOV             0x21212121, R31\r
189         CMP             R31, R28\r
190         BZ              $+6\r
191         JARL    vRegTestFailed, lp\r
192         MOV             0x22222222, R31\r
193         CMP             R31, R29\r
194         BZ              $+6\r
195         JARL    vRegTestFailed, lp\r
196         MOV             0x23232323, R31\r
197         CMP             R31, R30\r
198         BZ              $+6\r
199         JARL    vRegTestFailed, lp\r
200         MOV             vReg1TestLoopStart, R31 \r
201         JMP             [R31]\r
202 \r
203 ;------------------------------------------------------------------------------\r
204 ;------------------------------------------------------------------------------ \r
205     RSEG CODE:CODE\r
206 vRegTest2:\r
207     MOV         0xa101010b, R1\r
208     MOV         0xa202020b, R2\r
209         ; Ignore R3 and R4 as these are the stack and global pointers respectively.\r
210         MOV             0xa404040b, R5\r
211         MOV             0xa505050b, R6\r
212         MOV             0xa606060b, R7\r
213         MOV             0xa707070b, R8\r
214         MOV             0xa808080b, R9\r
215         MOV             0xa909090b, R10\r
216         MOV             0xaa0a0a0b, R11\r
217         MOV             0xab0b0b0b, R12\r
218         MOV             0xac0c0c0b, R13\r
219         MOV             0xad0d0d0b, R14\r
220         MOV             0xae0e0e0b, R15\r
221         MOV             0xaf0f0f0b, R16\r
222         MOV             0xa010101b, R17\r
223         MOV             0xa111111b, R18\r
224         MOV             0xa212121b, R19\r
225         MOV             0xa313131b, R20\r
226         MOV             0xa414141b, R21\r
227         MOV             0xa515151b, R22\r
228         MOV             0xa616161b, R23\r
229         MOV             0xa717171b, R24\r
230 #if ( configDATA_MODE == 1 )\r
231         ;R25 is used as a base register except when the tiny model is used. */\r
232         MOV             0xa818181b, R25\r
233 #endif\r
234         MOV             0xa919191b, R26\r
235         MOV             0xa020202b, R27\r
236         MOV             0xa121212b, R28\r
237         MOV             0xa222222b, R29\r
238         MOV             0xa323232b, R30\r
239         \r
240 vReg2TestLoopStart:\r
241         MOV             0xa101010b, R31\r
242         CMP             R31, R1\r
243         BZ              $+6\r
244         JARL    vRegTestFailed, lp\r
245         MOV             0xa202020b, R31\r
246         CMP             R31, R2\r
247         BZ              $+6\r
248         JARL    vRegTestFailed, lp\r
249         MOV             0xa404040b, R31\r
250         CMP             R31, R5\r
251         BZ              $+6\r
252         JARL    vRegTestFailed, lp\r
253         MOV             0xa505050b, R31\r
254         CMP             R31, R6\r
255         BZ              $+6\r
256         JARL    vRegTestFailed, lp\r
257         MOV             0xa606060b, R31\r
258         CMP             R31, R7\r
259         BZ              $+6\r
260         JARL    vRegTestFailed, lp\r
261         MOV             0xa707070b, R31\r
262         CMP             R31, R8\r
263         BZ              $+6\r
264         JARL    vRegTestFailed, lp\r
265         MOV             0xa808080b, R31\r
266         CMP             R31, R9\r
267         BZ              $+6\r
268         JARL    vRegTestFailed, lp\r
269         MOV             0xa909090b, R31\r
270         CMP             R31, R10\r
271         BZ              $+6\r
272         JARL    vRegTestFailed, lp\r
273         MOV             0xaa0a0a0b, R31\r
274         CMP             R31, R11\r
275         BZ              $+6\r
276         JARL    vRegTestFailed, lp\r
277         MOV             0xab0b0b0b, R31\r
278         CMP             R31, R12\r
279         BZ              $+6\r
280         JARL    vRegTestFailed, lp\r
281         MOV             0xac0c0c0b, R31\r
282         CMP             R31, R13\r
283         BZ              $+6\r
284         JARL    vRegTestFailed, lp\r
285         MOV             0xad0d0d0b, R31\r
286         CMP             R31, R14\r
287         BZ              $+6\r
288         JARL    vRegTestFailed, lp\r
289         MOV             0xae0e0e0b, R31\r
290         CMP             R31, R15\r
291         BZ              $+6\r
292         JARL    vRegTestFailed, lp\r
293         MOV             0xaf0f0f0b, R31\r
294         CMP             R31, R16\r
295         BZ              $+6\r
296         JARL    vRegTestFailed, lp\r
297         MOV             0xa010101b, R31\r
298         CMP             R31, R17\r
299         BZ              $+6\r
300         JARL    vRegTestFailed, lp\r
301         MOV             0xa111111b, R31\r
302         CMP             R31, R18\r
303         BZ              $+6\r
304         JARL    vRegTestFailed, lp\r
305         MOV             0xa212121b, R31\r
306         CMP             R31, R19\r
307         BZ              $+6\r
308         JARL    vRegTestFailed, lp\r
309         MOV             0xa313131b, R31\r
310         CMP             R31, R20\r
311         BZ              $+6\r
312         JARL    vRegTestFailed, lp\r
313         MOV             0xa414141b, R31\r
314         CMP             R31, R21\r
315         BZ              $+6\r
316         JARL    vRegTestFailed, lp\r
317         MOV             0xa515151b, R31\r
318         CMP             R31, R22\r
319         BZ              $+6\r
320         JARL    vRegTestFailed, lp\r
321         MOV             0xa616161b, R31\r
322         CMP             R31, R23\r
323         BZ              $+6\r
324         JARL    vRegTestFailed, lp\r
325         MOV             0xa717171b, R31\r
326         CMP             R31, R24\r
327         BZ              $+6\r
328         JARL    vRegTestFailed, lp\r
329 #if ( configDATA_MODE == 1 )\r
330         MOV             0xa818181b, R31\r
331         CMP             R31, R25\r
332         BZ              $+6\r
333         JARL    vRegTestFailed, lp\r
334 #endif\r
335         MOV             0xa919191b, R31\r
336         CMP             R31, R26\r
337         BZ              $+6\r
338         JARL    vRegTestFailed, lp\r
339         MOV             0xa020202b, R31\r
340         CMP             R31, R27\r
341         BZ              $+6\r
342         JARL    vRegTestFailed, lp\r
343         MOV             0xa121212b, R31\r
344         CMP             R31, R28\r
345         BZ              $+6\r
346         JARL    vRegTestFailed, lp\r
347         MOV             0xa222222b, R31\r
348         CMP             R31, R29\r
349         BZ              $+6\r
350         JARL    vRegTestFailed, lp\r
351         MOV             0xa323232b, R31\r
352         CMP             R31, R30\r
353         BZ              $+6\r
354         JARL    vRegTestFailed, lp\r
355         MOV             vReg2TestLoopStart, R31 \r
356         JMP             [R31]\r
357 \r
358       END\r
359