]> git.sur5r.net Git - freertos/blobdiff - Demo/MSP430X_MSP430F5438_IAR/RegTest.s43
Update headers for Version 7.0.0 release.
[freertos] / Demo / MSP430X_MSP430F5438_IAR / RegTest.s43
index 98478adc668ae3a08b61723195a1f4c01df6d88a..716a5c71b6007ffd17b5f38fdb047c8f7927b765 100644 (file)
@@ -1,38 +1,38 @@
 /*\r
-    FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.\r
+    FreeRTOS V7.0.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
+       \r
 \r
     ***************************************************************************\r
-    *                                                                         *\r
-    * If you are:                                                             *\r
-    *                                                                         *\r
-    *    + New to FreeRTOS,                                                   *\r
-    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *\r
-    *    + Looking for basic training,                                        *\r
-    *    + Wanting to improve your FreeRTOS skills and productivity           *\r
-    *                                                                         *\r
-    * then take a look at the FreeRTOS books - available as PDF or paperback  *\r
-    *                                                                         *\r
-    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *\r
-    *                  http://www.FreeRTOS.org/Documentation                  *\r
-    *                                                                         *\r
-    * A pdf reference manual is also available.  Both are usually delivered   *\r
-    * to your inbox within 20 minutes to two hours when purchased between 8am *\r
-    * and 8pm GMT (although please allow up to 24 hours in case of            *\r
-    * exceptional circumstances).  Thank you for your support!                *\r
-    *                                                                         *\r
+     *                                                                       *\r
+     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
+     *    Complete, revised, and edited pdf reference manuals are also       *\r
+     *    available.                                                         *\r
+     *                                                                       *\r
+     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
+     *    ensuring you get running as quickly as possible and with an        *\r
+     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
+     *    the FreeRTOS project to continue with its mission of providing     *\r
+     *    professional grade, cross platform, de facto standard solutions    *\r
+     *    for microcontrollers - completely free of charge!                  *\r
+     *                                                                       *\r
+     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
+     *                                                                       *\r
+     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
+     *                                                                       *\r
     ***************************************************************************\r
 \r
+\r
     This file is part of the FreeRTOS distribution.\r
 \r
     FreeRTOS is free software; you can redistribute it and/or modify it under\r
     the terms of the GNU General Public License (version 2) as published by the\r
     Free Software Foundation AND MODIFIED BY the FreeRTOS exception.\r
-    ***NOTE*** The exception to the GPL is included to allow you to distribute\r
-    a combined work that includes FreeRTOS without being obliged to provide the\r
-    source code for proprietary components outside of the FreeRTOS kernel.\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT\r
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+    >>>NOTE<<< The modification to the GPL is included to allow you to\r
+    distribute a combined work that includes FreeRTOS without being obliged to\r
+    provide the source code for proprietary components outside of the FreeRTOS\r
+    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
+    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
+    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
     more details. You should have received a copy of the GNU General Public\r
     License and the FreeRTOS license exception along with FreeRTOS; if not it\r
     can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
@@ -52,6 +52,7 @@
 */\r
 #include "msp430.h"\r
 #include "FreeRTOSConfig.h"\r
+#include "data_model.h"\r
 \r
 /*\r
  * The definition of the "register test" tasks, as described at the top of\r
        EXPORT vRegTest2Task\r
 \r
        RSEG CODE\r
+       \r
+       EVEN\r
 \r
 vRegTest1Task:\r
 \r
        /* Fill each general purpose register with a known value. */\r
-       movx.a  #0x44444, r4\r
-       movx.a  #0x55555, r5\r
-       movx.a  #0x66666, r6\r
-       movx.a  #0x77777, r7\r
-       movx.a  #0x88888, r8\r
-       movx.a  #0x99999, r9\r
-       movx.a  #0xaaaaa, r10\r
-       movx.a  #0xbbbbb, r11\r
-       movx.a  #0xccccc, r12\r
-       movx.a  #0xddddd, r13\r
-       movx.a  #0xeeeee, r14\r
-       movx.a  #0xfffff, r15\r
+       mov_x   #0x4444, r4\r
+       mov_x   #0x5555, r5\r
+       mov_x   #0x6666, r6\r
+       mov_x   #0x7777, r7\r
+       mov_x   #0x8888, r8\r
+       mov_x   #0x9999, r9\r
+       mov_x   #0xaaaa, r10\r
+       mov_x   #0xbbbb, r11\r
+       mov_x   #0xcccc, r12\r
+       mov_x   #0xdddd, r13\r
+       mov_x   #0xeeee, r14\r
+       mov_x   #0xffff, r15\r
        \r
 prvRegTest1Loop:\r
 \r
        /* Test each general purpose register to check that it still contains the\r
        expected known value, jumping to vRegTest1Error if any register contains\r
        an unexpected value. */\r
-       cmpx.a  #0x44444, r4\r
+       cmp_x   #0x4444, r4\r
        jne             vRegTest1Error\r
-       cmpx.a  #0x55555, r5\r
+       cmp_x   #0x5555, r5\r
        jne             vRegTest1Error\r
-       cmpx.a  #0x66666, r6\r
+       cmp_x   #0x6666, r6\r
        jne             vRegTest1Error\r
-       cmpx.a  #0x77777, r7\r
+       cmp_x   #0x7777, r7\r
        jne             vRegTest1Error\r
-       cmpx.a  #0x88888, r8\r
+       cmp_x   #0x8888, r8\r
        jne             vRegTest1Error\r
-       cmpx.a  #0x99999, r9\r
+       cmp_x   #0x9999, r9\r
        jne             vRegTest1Error\r
-       cmpx.a  #0xaaaaa, r10\r
+       cmp_x   #0xaaaa, r10\r
        jne             vRegTest1Error\r
-       cmpx.a  #0xbbbbb, r11\r
+       cmp_x   #0xbbbb, r11\r
        jne             vRegTest1Error\r
-       cmpx.a  #0xccccc, r12\r
+       cmp_x   #0xcccc, r12\r
        jne             vRegTest1Error\r
-       cmpx.a  #0xddddd, r13\r
+       cmp_x   #0xdddd, r13\r
        jne             vRegTest1Error\r
-       cmpx.a  #0xeeeee, r14\r
+       cmp_x   #0xeeee, r14\r
        jne             vRegTest1Error\r
-       cmpx.a  #0xfffff, r15\r
+       cmp_x   #0xffff, r15\r
        jne             vRegTest1Error\r
        \r
        /* This task is still running without jumping to vRegTest1Error, so increment\r
@@ -124,6 +127,8 @@ prvRegTest1Loop:
        nop\r
 \r
        \r
+       EVEN\r
+       \r
 vRegTest1Error:\r
        jmp vRegTest1Error\r
        nop\r
@@ -134,44 +139,44 @@ vRegTest1Error:
 different values in its registers. */\r
 vRegTest2Task:\r
 \r
-       movx.a  #0x14441, r4\r
-       movx.a  #0x15551, r5\r
-       movx.a  #0x16661, r6\r
-       movx.a  #0x17771, r7\r
-       movx.a  #0x18881, r8\r
-       movx.a  #0x19991, r9\r
-       movx.a  #0x1aaa1, r10\r
-       movx.a  #0x1bbb1, r11\r
-       movx.a  #0x1ccc1, r12\r
-       movx.a  #0x1ddd1, r13\r
-       movx.a  #0x1eee1, r14\r
-       movx.a  #0x1fff1, r15\r
+       mov_x   #0x4441, r4\r
+       mov_x   #0x5551, r5\r
+       mov_x   #0x6661, r6\r
+       mov_x   #0x7771, r7\r
+       mov_x   #0x8881, r8\r
+       mov_x   #0x9991, r9\r
+       mov_x   #0xaaa1, r10\r
+       mov_x   #0xbbb1, r11\r
+       mov_x   #0xccc1, r12\r
+       mov_x   #0xddd1, r13\r
+       mov_x   #0xeee1, r14\r
+       mov_x   #0xfff1, r15\r
        \r
 prvRegTest2Loop:\r
 \r
-       cmpx.a  #0x14441, r4\r
+       cmp_x   #0x4441, r4\r
        jne             vRegTest2Error\r
-       cmpx.a  #0x15551, r5\r
+       cmp_x   #0x5551, r5\r
        jne             vRegTest2Error\r
-       cmpx.a  #0x16661, r6\r
+       cmp_x   #0x6661, r6\r
        jne             vRegTest2Error\r
-       cmpx.a  #0x17771, r7\r
+       cmp_x   #0x7771, r7\r
        jne             vRegTest2Error\r
-       cmpx.a  #0x18881, r8\r
+       cmp_x   #0x8881, r8\r
        jne             vRegTest2Error\r
-       cmpx.a  #0x19991, r9\r
+       cmp_x   #0x9991, r9\r
        jne             vRegTest2Error\r
-       cmpx.a  #0x1aaa1, r10\r
+       cmp_x   #0xaaa1, r10\r
        jne             vRegTest2Error\r
-       cmpx.a  #0x1bbb1, r11\r
+       cmp_x   #0xbbb1, r11\r
        jne             vRegTest2Error\r
-       cmpx.a  #0x1ccc1, r12\r
+       cmp_x   #0xccc1, r12\r
        jne             vRegTest2Error\r
-       cmpx.a  #0x1ddd1, r13\r
+       cmp_x   #0xddd1, r13\r
        jne             vRegTest2Error\r
-       cmpx.a  #0x1eee1, r14\r
+       cmp_x   #0xeee1, r14\r
        jne             vRegTest2Error\r
-       cmpx.a  #0x1fff1, r15\r
+       cmp_x   #0xfff1, r15\r
        jne             vRegTest2Error\r
        \r
        /* Also perform a manual yield, just to increase the scope of the test. */\r