uint32_t const*__iar_zero_init3( uint32_t const* p ){
uint32_t size;while(( size =*p++)!=0){
uint32_t d =*p++;
uint32_t * dest;if( d &1){
d -=1;
d += __iar_SB;}
dest =(uint32_t*) d;do{*dest++=0;
size -=4;}while( size !=0);}return p;}
#pragma section = "Region$$Table"void__iar_data_init3(void){
FAddr const* pi =__section_begin("Region$$Table");
table_ptr_t pe = __section_end ("Region$$Table");while( pi != pe ){
init_fun_t * fun =(init_fun_t *)((uint32_t) pi + pi->mOff );++pi;
pi =fun( pi );}}
Mode_USR EQU 0x10
Mode_FIQ EQU 0x11
Mode_IRQ EQU 0x12
Mode_SVC EQU 0x13
Mode_ABT EQU 0x17
Mode_UND EQU 0x1B
Mode_SYS EQU 0x1F ; available on ARM Arch 4 and later
I_Bit EQU 0x80 ; when I bit is set, IRQ is disabled
F_Bit EQU 0x40 ; when F bit is set, FIQ is disabled
__iar_program_start
MSR CPSR_c, #Mode_SYS|F_Bit|I_Bit
ldr sp,=SFE(CSTACK) ; End of CSTACK(user)
BL __iar_data_init3
BL main
B .