;/*\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
;\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
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
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
;/* 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
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
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