]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/RegTest.src
Update version number to 9.0.0rc2.
[freertos] / FreeRTOS / Demo / RX600_RX64M_RSK_Renesas_e2studio / Source / RegTest.src
index 27cc31ec6c1e843dae889c7701f5bfed048508aa..99deede39bbeb903102c13601e233a075be7d458 100644 (file)
@@ -1,5 +1,5 @@
 ;/*\r
-;    FreeRTOS V8.0.0 - Copyright (C) 2014 Real Time Engineers Ltd.\r
+;    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
 ;    All rights reserved\r
 ;\r
 ;    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
@@ -22,7 +22,7 @@
 ;\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
+;    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
 ;\r
 ;    >>! NOTE: The modification to the GPL is included to allow you to distribute\r
 ;    >>! a combined work that includes FreeRTOS without being obliged to provide\r
 ;/* This function is explained in the comments at the top of main.c. */\r
 _vRegTest1Implementation:\r
 \r
+       ;/* Put a known value in the guard byte of the accumulators. */\r
+       MOV.L   #10, R1\r
+       MVTACGU R1, A0\r
+       MOV.L   #20, R1\r
+       MVTACGU R1, A1\r
+\r
        ;/* Put a known value in each register. */\r
        MOV.L   #1, R1\r
        MOV.L   #2, R2\r
@@ -92,7 +98,13 @@ _vRegTest1Implementation:
        MOV.L   #14, R14\r
        MOV.L   #15, R15\r
        \r
-       ;/* Loop, checking each itteration that each register still contains the\r
+       ;/* Put a known value in the hi and low of the accumulators. */\r
+       MVTACHI R1, A0\r
+       MVTACLO R2, A0\r
+       MVTACHI R3, A1\r
+       MVTACLO R4, A1\r
+\r
+       ;/* Loop, checking each iteration that each register still contains the\r
        ;expected value. */\r
 TestLoop1:                                                             \r
 \r
@@ -112,6 +124,26 @@ TestLoop1:
        NOP                                                             \r
        NOP                                                             \r
        \r
+       ;/* Check accumulators. */\r
+       MVFACHI #0, A0, R15\r
+       CMP #1, R15\r
+       BNE RegTest1Error\r
+       MVFACLO #0, A0, R15\r
+       CMP #2, R15\r
+       BNE RegTest1Error\r
+       MVFACGU #0, A0, R15\r
+       CMP #10, R15\r
+       BNE RegTest1Error\r
+       MVFACHI #0, A1, R15\r
+       CMP #3, R15\r
+       BNE RegTest1Error\r
+       MVFACLO #0, A1, R15\r
+       CMP #4, R15\r
+       BNE RegTest1Error\r
+       MVFACGU #0, A1, R15\r
+       CMP #20, R15\r
+       BNE RegTest1Error\r
+\r
        ;/* Restore the clobbered registers. */\r
        POPM    R14-R15                                         \r
        \r
@@ -160,7 +192,13 @@ RegTest1Error:
 ;/* This function is explained in the comments at the top of main.c. */\r
 _vRegTest2Implementation:\r
 \r
-       ;/* Put a known value in each register. */\r
+       ;/* Put a known value in the guard byte of the accumulators. */\r
+       MOV.L   #1H, R1\r
+       MVTACGU R1, A0\r
+       MOV.L   #2H, R1\r
+       MVTACGU R1, A1\r
+\r
+       ;/* Put a known value in each general purpose register. */\r
        MOV.L   #10H, R1\r
        MOV.L   #20H, R2\r
        MOV.L   #30H, R3\r
@@ -176,8 +214,14 @@ _vRegTest2Implementation:
        MOV.L   #130H, R13\r
        MOV.L   #140H, R14\r
        MOV.L   #150H, R15\r
-       \r
-       ;/* Loop, checking each itteration that each register still contains the\r
+\r
+       ;/* Put a known value in the hi and low of the accumulators. */\r
+       MVTACHI R1, A0\r
+       MVTACLO R2, A0\r
+       MVTACHI R3, A1\r
+       MVTACLO R4, A1\r
+\r
+       ;/* Loop, checking each iteration that each register still contains the\r
        ;expected value. */\r
 TestLoop2:                                                             \r
 \r
@@ -190,6 +234,26 @@ TestLoop2:
        ADD     #1, R15                                         \r
        MOV.L   R15, [ R14 ]\r
        \r
+       ;/* Check accumulators. */\r
+       MVFACHI #0, A0, R15\r
+       CMP #10H, R15\r
+       BNE RegTest1Error\r
+       MVFACLO #0, A0, R15\r
+       CMP #20H, R15\r
+       BNE RegTest1Error\r
+       MVFACGU #0, A0, R15\r
+       CMP #1H, R15\r
+       BNE RegTest1Error\r
+       MVFACHI #0, A1, R15\r
+       CMP #30H, R15\r
+       BNE RegTest1Error\r
+       MVFACLO #0, A1, R15\r
+       CMP #40H, R15\r
+       BNE RegTest1Error\r
+       MVFACGU #0, A1, R15\r
+       CMP #2H, R15\r
+       BNE RegTest1Error\r
+\r
        ;/* Restore the clobbered registers. */\r
        POPM    R14-R15                                         \r
        \r