OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [NEC_V850ES_IAR/] [RegTest.s85] - Rev 612

Go to most recent revision | Compare with Previous | Blame | View Log

;/*
;    FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
;
;    ***************************************************************************
;    *                                                                         *
;    * If you are:                                                             *
;    *                                                                         *
;    *    + New to FreeRTOS,                                                   *
;    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *
;    *    + Looking for basic training,                                        *
;    *    + Wanting to improve your FreeRTOS skills and productivity           *
;    *                                                                         *
;    * then take a look at the FreeRTOS books - available as PDF or paperback  *
;    *                                                                         *
;    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *
;    *                  http://www.FreeRTOS.org/Documentation                  *
;    *                                                                         *
;    * A pdf reference manual is also available.  Both are usually delivered   *
;    * to your inbox within 20 minutes to two hours when purchased between 8am *
;    * and 8pm GMT (although please allow up to 24 hours in case of            *
;    * exceptional circumstances).  Thank you for your support!                *
;    *                                                                         *
;    ***************************************************************************
;
;    This file is part of the FreeRTOS distribution.
;
;    FreeRTOS is free software; you can redistribute it and/or modify it under
;    the terms of the GNU General Public License (version 2) as published by the
;    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
;    ***NOTE*** The exception to the GPL is included to allow you to distribute
;    a combined work that includes FreeRTOS without being obliged to provide the
;    source code for proprietary components outside of the FreeRTOS kernel.
;    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
;    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
;    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
;    more details. You should have received a copy of the GNU General Public 
;    License and the FreeRTOS license exception along with FreeRTOS; if not it 
;    can be viewed here: http://www.freertos.org/a00114.html and also obtained 
;    by writing to Richard Barry, contact details for whom are available on the
;    FreeRTOS WEB site.
;
;    1 tab == 4 spaces!
;
;    http://www.FreeRTOS.org - Documentation, latest information, license and
;    contact details.
;
;    http://www.SafeRTOS.com - A version that is certified for use in safety
;    critical systems.
;
;    http://www.OpenRTOS.com - Commercial support, development, porting,
;    licensing and training services.
;*/
; Note: Select the correct include files for the device used by the application.

        EXTERN  vRegTestFailed



;
; The RegTest tasks as described in the comments at the top of main().
;


;------------------------------------------------------------------------------

; Functions implemented in this file
;------------------------------------------------------------------------------
    PUBLIC      vRegTest1
    PUBLIC      vRegTest2


;------------------------------------------------------------------------------
;------------------------------------------------------------------------------ 
    RSEG CODE:CODE
vRegTest1:
    MOV         0x01010101, R1
    MOV         0x02020202, R2
        ; Ignore R3 and R4 as these are the stack and global pointers respectively.
        MOV             0x04040404, R5
        MOV             0x05050505, R6
        MOV             0x06060606, R7
        MOV             0x07070707, R8
        MOV             0x08080808, R9
        MOV             0x09090909, R10
        MOV             0x0a0a0a0a, R11
        MOV             0x0b0b0b0b, R12
        MOV             0x0c0c0c0c, R13
        MOV             0x0d0d0d0d, R14
        MOV             0x0e0e0e0e, R15
        MOV             0x0f0f0f0f, R16
        MOV             0x10101010, R17
        MOV             0x11111111, R18
        MOV             0x12121212, R19
        MOV             0x13131313, R20
        MOV             0x14141414, R21
        MOV             0x15151515, R22
        MOV             0x16161616, R23
        MOV             0x17171717, R24
#if ( configDATA_MODE == 1 )
        ;R25 is used as a base register except when the tiny model is used. */
        MOV             0x18181818, R25
#endif
        MOV             0x19191919, R26
        MOV             0x20202020, R27
        MOV             0x21212121, R28
        MOV             0x22222222, R29
        MOV             0x23232323, R30
        
vReg1TestLoopStart:
        TRAP    0
        MOV             0x01010101, R31
        CMP             R31, R1
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x02020202, R31
        CMP             R31, R2
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x04040404, R31
        CMP             R31, R5
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x05050505, R31
        CMP             R31, R6
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x06060606, R31
        CMP             R31, R7
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x07070707, R31
        CMP             R31, R8
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x08080808, R31
        CMP             R31, R9
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x09090909, R31
        CMP             R31, R10
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x0a0a0a0a, R31
        CMP             R31, R11
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x0b0b0b0b, R31
        CMP             R31, R12
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x0c0c0c0c, R31
        CMP             R31, R13
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x0d0d0d0d, R31
        CMP             R31, R14
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x0e0e0e0e, R31
        CMP             R31, R15
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x0f0f0f0f, R31
        CMP             R31, R16
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x10101010, R31
        CMP             R31, R17
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x11111111, R31
        CMP             R31, R18
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x12121212, R31
        CMP             R31, R19
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x13131313, R31
        CMP             R31, R20
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x14141414, R31
        CMP             R31, R21
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x15151515, R31
        CMP             R31, R22
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x16161616, R31
        CMP             R31, R23
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x17171717, R31
        CMP             R31, R24
        BZ              $+6
        JARL    vRegTestFailed, lp
#if ( configDATA_MODE == 1 )
        MOV             0x18181818, R31
        CMP             R31, R25
        BZ              $+6
        JARL    vRegTestFailed, lp
#endif
        MOV             0x19191919, R31
        CMP             R31, R26
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x20202020, R31
        CMP             R31, R27
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x21212121, R31
        CMP             R31, R28
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x22222222, R31
        CMP             R31, R29
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0x23232323, R31
        CMP             R31, R30
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             vReg1TestLoopStart, R31 
        JMP             [R31]

;------------------------------------------------------------------------------
;------------------------------------------------------------------------------ 
    RSEG CODE:CODE
vRegTest2:
    MOV         0xa101010b, R1
    MOV         0xa202020b, R2
        ; Ignore R3 and R4 as these are the stack and global pointers respectively.
        MOV             0xa404040b, R5
        MOV             0xa505050b, R6
        MOV             0xa606060b, R7
        MOV             0xa707070b, R8
        MOV             0xa808080b, R9
        MOV             0xa909090b, R10
        MOV             0xaa0a0a0b, R11
        MOV             0xab0b0b0b, R12
        MOV             0xac0c0c0b, R13
        MOV             0xad0d0d0b, R14
        MOV             0xae0e0e0b, R15
        MOV             0xaf0f0f0b, R16
        MOV             0xa010101b, R17
        MOV             0xa111111b, R18
        MOV             0xa212121b, R19
        MOV             0xa313131b, R20
        MOV             0xa414141b, R21
        MOV             0xa515151b, R22
        MOV             0xa616161b, R23
        MOV             0xa717171b, R24
#if ( configDATA_MODE == 1 )
        ;R25 is used as a base register except when the tiny model is used. */
        MOV             0xa818181b, R25
#endif
        MOV             0xa919191b, R26
        MOV             0xa020202b, R27
        MOV             0xa121212b, R28
        MOV             0xa222222b, R29
        MOV             0xa323232b, R30
        
vReg2TestLoopStart:
        MOV             0xa101010b, R31
        CMP             R31, R1
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa202020b, R31
        CMP             R31, R2
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa404040b, R31
        CMP             R31, R5
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa505050b, R31
        CMP             R31, R6
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa606060b, R31
        CMP             R31, R7
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa707070b, R31
        CMP             R31, R8
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa808080b, R31
        CMP             R31, R9
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa909090b, R31
        CMP             R31, R10
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xaa0a0a0b, R31
        CMP             R31, R11
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xab0b0b0b, R31
        CMP             R31, R12
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xac0c0c0b, R31
        CMP             R31, R13
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xad0d0d0b, R31
        CMP             R31, R14
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xae0e0e0b, R31
        CMP             R31, R15
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xaf0f0f0b, R31
        CMP             R31, R16
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa010101b, R31
        CMP             R31, R17
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa111111b, R31
        CMP             R31, R18
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa212121b, R31
        CMP             R31, R19
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa313131b, R31
        CMP             R31, R20
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa414141b, R31
        CMP             R31, R21
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa515151b, R31
        CMP             R31, R22
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa616161b, R31
        CMP             R31, R23
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa717171b, R31
        CMP             R31, R24
        BZ              $+6
        JARL    vRegTestFailed, lp
#if ( configDATA_MODE == 1 )
        MOV             0xa818181b, R31
        CMP             R31, R25
        BZ              $+6
        JARL    vRegTestFailed, lp
#endif
        MOV             0xa919191b, R31
        CMP             R31, R26
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa020202b, R31
        CMP             R31, R27
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa121212b, R31
        CMP             R31, R28
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa222222b, R31
        CMP             R31, R29
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             0xa323232b, R31
        CMP             R31, R30
        BZ              $+6
        JARL    vRegTestFailed, lp
        MOV             vReg2TestLoopStart, R31 
        JMP             [R31]

      END
        

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.