//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR ARM ANSI C/C++ Compiler V4.42A/W32 EVALUATION   29/Oct/2008  03:34:12 /
// Copyright 1999-2005 IAR Systems. All rights reserved.                     /
//                                                                           /
//    Cpu mode        =  interwork                                           /
//    Endian          =  little                                              /
//    Stack alignment =  4                                                   /
//    Source file     =  D:\Pasha\elf\_MY_PROJECT_\NRSS\conf_loader.c        /
//    Command line    =  D:\Pasha\elf\_MY_PROJECT_\NRSS\conf_loader.c -D     /
//                       NEWSGOLD -D ELKA -lCN D:\Pasha\elf\_MY_PROJECT_\NRS /
//                       S\Release_ELKA\List\ -la                            /
//                       D:\Pasha\elf\_MY_PROJECT_\NRSS\Release_ELKA\List\   /
//                       -o D:\Pasha\elf\_MY_PROJECT_\NRSS\Release_ELKA\Obj\ /
//                        -s9 --no_unroll --cpu_mode arm --endian little     /
//                       --cpu ARM926EJ-S --stack_align 4 --interwork -e     /
//                       --fpu None --dlib_config "D:\Pasha\Embedded         /
//                       Workbench 4.0 Evaluation2\ARM\LIB\dl5tpainl8n.h"    /
//                       -I "D:\Pasha\Embedded Workbench 4.0                 /
//                       Evaluation2\ARM\INC\" --inline_threshold=2          /
//    List file       =  D:\Pasha\elf\_MY_PROJECT_\NRSS\Release_ELKA\List\co /
//                       nf_loader.s79                                       /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME conf_loader

        RTMODEL "StackAlign4", "USED"
        RTMODEL "__cpu_mode", "__pcs__interwork"
        RTMODEL "__data_model", "absolute"
        RTMODEL "__endian", "little"
        RTMODEL "__rt_version", "6"

        RSEG CONFIG_C:DATA:REORDER:NOROOT(0)
        RSEG CSTACK:DATA:NOROOT(2)

        PUBWEAK `?*?DATA_ID`
        MULTWEAK ??InitConfig??rT
        MULTWEAK ??LoadConfigData??rT
        PUBWEAK ?init?tab?DATA_I
        PUBLIC InitConfig
        FUNCTION InitConfig,0201H
        LOCFRAME CSTACK, 8, STACK
        PUBLIC LoadConfigData
        FUNCTION LoadConfigData,0203H
        LOCFRAME CSTACK, 48, STACK
        PUBLIC successed_config_filename
        
        CFI Names cfiNames0
        CFI StackFrame CFA R13 HUGEDATA
        CFI Resource R0:32, R1:32, R2:32, R3:32, R4:32, R5:32, R6:32, R7:32
        CFI Resource R8:32, R9:32, R10:32, R11:32, R12:32, CPSR:32, R13:32
        CFI Resource R14:32, SPSR:32
        CFI VirtualResource ?RET:32
        CFI EndNames cfiNames0
        
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 2
        CFI DataAlign 4
        CFI ReturnAddress ?RET CODE
        CFI CFA R13+0
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 Undefined
        CFI CPSR SameValue
        CFI R14 Undefined
        CFI SPSR SameValue
        CFI ?RET R14
        CFI EndCommon cfiCommon0
        
        
        CFI Common cfiCommon1 Using cfiNames0
        CFI CodeAlign 4
        CFI DataAlign 4
        CFI ReturnAddress ?RET CODE
        CFI CFA R13+0
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 Undefined
        CFI CPSR SameValue
        CFI R14 Undefined
        CFI SPSR SameValue
        CFI ?RET R14
        CFI EndCommon cfiCommon1
        
InitConfig          SYMBOL "InitConfig"
??InitConfig??rT    SYMBOL "??rT", InitConfig
LoadConfigData      SYMBOL "LoadConfigData"
??LoadConfigData??rT SYMBOL "??rT", LoadConfigData


        RSEG DATA_I:DATA:SORT:NOROOT(2)
successed_config_filename:
        DS8 4
        REQUIRE `?<Initializer for successed_config_filename>`

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock0 Using cfiCommon0
        CFI NoFunction
        THUMB
??LoadConfigData??rT:
        BX       PC
        Nop      
        CFI EndBlock cfiBlock0
        REQUIRE LoadConfigData

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock1 Using cfiCommon1
        CFI Function LoadConfigData
        ARM
LoadConfigData:
        PUSH     {R0,R4-R11,LR}
        CFI ?RET Frame(CFA, -4)
        CFI R11 Frame(CFA, -8)
        CFI R10 Frame(CFA, -12)
        CFI R9 Frame(CFA, -16)
        CFI R8 Frame(CFA, -20)
        CFI R7 Frame(CFA, -24)
        CFI R6 Frame(CFA, -28)
        CFI R5 Frame(CFA, -32)
        CFI R4 Frame(CFA, -36)
        CFI CFA R13+40
        LDR      R5,??LoadConfigData_0  ;; SFB(CONFIG_C)
        LDR      R0,??LoadConfigData_0+0x4  ;; SFE(CONFIG_C)
        SUB      SP,SP,#+4
        CFI CFA R13+44
        MOV      R4,#+0
        SUB      R6,R0,R5
        MOV      R0,R6
        SWI      +20
        MOVS     R7,R0
        MVNEQ    R0,R4
        POPEQ    {R1,R2,R4-R11,PC}
        LDR      R0,[SP, #+4]
        MOV      R3,SP
        MOV      R2,#+128
        MOV      R1,#+32768
        SWI      +10
        MOV      R10,R0
        MVN      R8,R4
        CMP      R10,R8
        BEQ      ??LoadConfigData_1
        MOV      R3,SP
        MOV      R2,R6
        MOV      R1,R7
        SWI      +11
        MOV      R9,R0
        MOV      R0,SP
        PUSH     {R0}
        CFI CFA R13+48
        ADD      R3,SP,#+4
        MOV      R2,#+2
        MOV      R1,#+0
        MOV      R0,R10
        SWI      +15
        MOV      R11,R0
        ADD      R1,SP,#+4
        MOV      R0,R10
        SWI      +13
        CMP      R9,R11
        ADD      SP,SP,#+4
        CFI CFA R13+44
        CMPEQ    R9,R6
        BNE      ??LoadConfigData_1
        MOV      R2,R6
        MOV      R1,R7
        MOV      R0,R5
        SWI      +286
        B        ??LoadConfigData_2
??LoadConfigData_1:
        LDR      R0,[SP, #+4]
        MOV      R3,SP
        MOV      R2,#+384
        MOV      R1,#+2
        ORR      R1,R1,#0x300
        SWI      +10
        MOV      R10,R0
        CMP      R10,R8
        BEQ      ??LoadConfigData_3
        MOV      R3,SP
        MOV      R2,R6
        MOV      R1,R5
        SWI      +12
        CMP      R0,R6
        MOVNE    R4,R8
        MOV      R1,SP
        MOV      R0,R10
        SWI      +13
        B        ??LoadConfigData_2
??LoadConfigData_3:
        MOV      R4,R8
??LoadConfigData_2:
        MOV      R0,R7
        SWI      +21
        CMP      R4,#+0
        LDRPL    R0,??LoadConfigData_0+0x8  ;; successed_config_filename
        LDRPL    R1,[SP, #+4]
        STRPL    R1,[R0, #+0]
        MOV      R0,R4
        POP      {R1,R2,R4-R11,PC}  ;; return
        DATA
??LoadConfigData_0:
        DC32     SFB(CONFIG_C)
        DC32     SFE(CONFIG_C)
        DC32     successed_config_filename
        CFI EndBlock cfiBlock1

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock2 Using cfiCommon0
        CFI NoFunction
        THUMB
??InitConfig??rT:
        BX       PC
        Nop      
        CFI EndBlock cfiBlock2
        REQUIRE InitConfig

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock3 Using cfiCommon1
        CFI Function InitConfig
        ARM
InitConfig:
        PUSH     {R4,LR}
        CFI ?RET Frame(CFA, -4)
        CFI R4 Frame(CFA, -8)
        CFI CFA R13+8
        LDR      R4,??InitConfig_0  ;; `?<Constant "0:\\\\ZBin\\\\etc\\\\NRSS.bcfg">`
        ADD      R0,R4,#+24
        BL       LoadConfigData
        CMP      R0,#+0
        POPPL    {R4,PC}
        MOV      R0,R4
        BL       LoadConfigData
        POP      {R4,PC}          ;; return
        DATA
??InitConfig_0:
        DC32     `?<Constant "0:\\\\ZBin\\\\etc\\\\NRSS.bcfg">`
        CFI EndBlock cfiBlock3

        RSEG DATA_ID:CONST:SORT:NOROOT(2)
`?<Initializer for successed_config_filename>`:
        DATA
        DC32 `?<Constant "">`

        RSEG DATA_ID:CONST:SORT:NOROOT(2)
`?*?DATA_ID`:

        RSEG INITTAB:CODE:ROOT(2)
        DATA
?init?tab?DATA_I:
        DCD      sfe(DATA_I) - sfb(DATA_I), sfb(DATA_I), sfb(DATA_ID)

        RSEG CONFIG_C:DATA:REORDER:NOROOT(0)

        RSEG DATA_C:CONST:SORT:NOROOT(0)
`?<Constant "">`:
        DATA
        DC8 ""

        RSEG DATA_C:CONST:SORT:NOROOT(2)
`?<Constant "0:\\\\ZBin\\\\etc\\\\NRSS.bcfg">`:
        DATA
        DC8 "0:\\ZBin\\etc\\NRSS.bcfg"
        DC8 0, 0
        DC8 "4:\\ZBin\\etc\\NRSS.bcfg"
        DC8 0, 0

        END
// 
// 352 bytes in segment CODE
//  49 bytes in segment DATA_C
//   4 bytes in segment DATA_I
//   4 bytes in segment DATA_ID
//  12 bytes in segment INITTAB
// 
// 344 bytes of CODE  memory (+ 20 bytes shared)
//  53 bytes of CONST memory
//   4 bytes of DATA  memory
//
//Errors: none
//Warnings: none
