############################################################################## # # # IAR ARM ANSI C/C++ Compiler V4.41A/W32 EVALUATION 23/Jan/2008 11:48:28 # # Copyright 1999-2005 IAR Systems. All rights reserved. # # # # Cpu mode = interwork # # Endian = little # # Stack alignment = 4 # # Source file = D:\Pasha\elf\idater\main.cpp # # Command line = D:\Pasha\elf\idater\main.cpp -D NEWSGOLD -lC # # D:\Pasha\elf\idater\Release_NEWSGOLD\List\ -o # # D:\Pasha\elf\idater\Release_NEWSGOLD\Obj\ -s9 # # --cpu_mode arm --endian little --cpu ARM926EJ-S # # --stack_align 4 --interwork -e --fpu None # # --dlib_config "D:\Pasha\ARM_Embedded_Workbench\Embed # # ded Workbench 4.0 Evaluation\ARM\LIB\dl5tpainl8n.h" # # -I "D:\Pasha\ARM_Embedded_Workbench\Embedded # # Workbench 4.0 Evaluation\ARM\INC\" # # --inline_threshold=2 # # List file = D:\Pasha\elf\idater\Release_NEWSGOLD\List\main.lst # # Object file = D:\Pasha\elf\idater\Release_NEWSGOLD\Obj\main.r79 # # # # # ############################################################################## D:\Pasha\elf\idater\main.cpp 1 #include "..\inc\swilib.h" 2 #include "../inc/cfg_items.h" 3 #include "conf_loader.h" 4 #include "print.h" 5 6 #define IPC_TEXTINFO_NAME "iDater" 7 #define IPC_UPDATE_STAT 1 8 9 const char ipc_my_name[]=IPC_TEXTINFO_NAME; 10 const IPC_REQ my_ipc={ 11 ipc_my_name, 12 ipc_my_name, 13 NULL 14 }; 15 16 #define TMR_SECOND 216 17 GBSTMR mytmr; 18 19 extern void InitConfig(); 20 int my_csm_id; 21 unsigned int *ErrorNumber; 22 23 const char percent_t[]="%t"; 24 int (*old_icsm_onMessage)(CSM_RAM*,GBS_MSG*); 25 void (*old_icsm_onClose)(CSM_RAM*); 26 extern void kill_data(void *p, void (*func_p)(void *)); 27 28 #pragma segment="ELFBEGIN" \ In segment CODE, align 4, keep-with-next 29 void ElfKiller(void) 30 { \ ElfKiller: \ 00000000 00402DE9 PUSH {LR} 31 kill_data(__segment_begin("ELFBEGIN"),(void (*)(void *))mfree_adr()); \ 00000004 158000EF SWI +32789 \ 00000008 0010A0E1 MOV R1,R0 \ 0000000C 04009FE5 LDR R0,??ElfKiller_0 ;; SFB(ELFBEGIN) \ 00000010 0040BDE8 POP {LR} ;; Pop \ 00000014 ........ _BF kill_data,??kill_data??rA ;; tailcall \ ??ElfKiller_0: \ 00000018 ........ DC32 SFB(ELFBEGIN) 32 } 33 \ In segment CODE, align 4, keep-with-next 34 void TimerProc(void) 35 { 36 GBS_SendMessage(MMI_CEPID,MSG_IPC,IPC_UPDATE_STAT,&my_ipc); \ TimerProc: \ 00000000 ........ LDR R3,??DataTable6 ;; my_ipc \ 00000004 00402DE9 PUSH {LR} \ 00000008 0120A0E3 MOV R2,#+1 \ 0000000C B010A0E3 MOV R1,#+176 \ 00000010 DE1C81E3 ORR R1,R1,#0xDE00 \ 00000014 0900A0E3 MOV R0,#+9 \ 00000018 420C80E3 ORR R0,R0,#0x4200 \ 0000001C 000100EF SWI +256 37 } \ 00000020 0080BDE8 POP {PC} ;; return 38 39 typedef struct 40 { 41 CSM_RAM csm; 42 int gui_id; 43 }MAIN_CSM; 44 45 // ---------------------------------------------------------------------------- 46 #define idlegui_id(icsm) (((int *)icsm)[DISPLACE_OF_IDLEGUI_ID/4]) 47 48 #pragma inline=forced 49 int toupper(int c) 50 { 51 if ((c>='a')&&(c<='z')) c+='A'-'a'; 52 return(c); 53 } 54 #pragma inline 55 int strcmp_nocase(const char *s1,const char *s2) 56 { 57 int i; 58 int c; 59 while(!(i=(c=toupper(*s1++))-toupper(*s2++))) if (!c) break; 60 return(i); 61 } 62 \ In segment CODE, align 4, keep-with-next 63 int get_string_width(WSHDR *ws, int font) 64 { \ get_string_width: \ 00000000 F0402DE9 PUSH {R4-R7,LR} 65 int width=0; 66 unsigned short *body=ws->wsbody; \ 00000004 006090E5 LDR R6,[R0, #+0] \ 00000008 0140A0E1 MOV R4,R1 67 int len=body[0]; \ 0000000C B070D6E1 LDRH R7,[R6, #+0] \ 00000010 0050A0E3 MOV R5,#+0 \ 00000014 000057E3 CMP R7,#+0 \ 00000018 0600000A BEQ ??get_string_width_0 68 while(len) 69 { 70 width+=GetSymbolWidth(body[len],font); \ ??get_string_width_1: \ 0000001C 870086E0 ADD R0,R6,R7, LSL #+1 \ 00000020 B000D0E1 LDRH R0,[R0, #+0] \ 00000024 0410A0E1 MOV R1,R4 \ 00000028 E10100EF SWI +481 \ 0000002C 055080E0 ADD R5,R0,R5 71 len--; \ 00000030 017057E2 SUBS R7,R7,#+1 72 } \ 00000034 F8FFFF1A BNE ??get_string_width_1 73 return (width+1);//õç, áåç ýòîãî òóïèò \ ??get_string_width_0: \ 00000038 010085E2 ADD R0,R5,#+1 \ 0000003C F080BDE8 POP {R4-R7,PC} ;; return 74 } \ In segment DATA_Z, align 4, align-sorted 75 76 const char per_t[]="%t"; 77 78 extern const unsigned int X1; 79 extern const unsigned int Y1; 80 extern const unsigned int X2; 81 extern const unsigned int Y2; 82 extern const unsigned int X3; 83 extern const unsigned int Y3; 84 extern const unsigned int X4; 85 extern const unsigned int Y4; 86 87 extern const int month_font; 88 extern const int day_font; 89 extern const int week_font; 90 extern const int font; 91 extern const int date_font; 92 93 extern const int DRAW_MODE; 94 extern const int MONTH_MODE; 95 extern const int WEEK_MODE; 96 extern const int DATE_MODE; 97 98 extern const char col_month[]; 99 extern const char col[]; 100 extern const char col_week[]; 101 extern const char col_date[]; 102 103 extern const int align; 104 extern const int align_month; 105 extern const int align_week; 106 extern const int align_date; 107 extern const int space; 108 109 extern const char FontPath[128]; 110 extern const char FontPath2[128]; 111 extern const char FontPath3[128]; 112 extern const int fullset; 113 114 const char per_s[]="%s"; 115 void *canvasdata; \ canvasdata: \ 00000000 DS8 4 116 char *s,*s1,*s2,*s3; \ s: \ 00000004 DS8 4 \ s1: \ 00000008 DS8 4 \ s2: \ 0000000C DS8 4 \ s3: \ 00000010 DS8 4 \ mytmr: \ 00000014 DS8 16 \ In segment DATA_Z, align 4, align-sorted \ my_csm_id: \ 00000000 DS8 4 \ In segment DATA_Z, align 4, align-sorted \ ErrorNumber: \ 00000000 DS8 4 \ In segment DATA_Z, align 4, align-sorted \ old_icsm_onMessage: \ 00000000 DS8 4 \ In segment DATA_Z, align 4, align-sorted \ old_icsm_onClose: \ 00000000 DS8 4 117 \ In segment CODE, align 4, keep-with-next 118 int maincsm_onmessage(CSM_RAM* data,GBS_MSG* msg) 119 { \ maincsm_onmessage: \ 00000000 F0412DE9 PUSH {R4-R8,LR} \ 00000004 D8D04DE2 SUB SP,SP,#+216 120 void *icsm; 121 if (msg->msg==MSG_RECONFIGURE_REQ) \ 00000008 BC459FE5 LDR R4,??maincsm_onmessage_0+0x4 ;; canvasdata \ 0000000C ........ LDR R5,??DataTable7 ;; `?data0)==0) \ 00000028 A0159FE5 LDR R1,??maincsm_onmessage_0+0x8 ;; successed_config_filename \ 0000002C 0C0096E5 LDR R0,[R6, #+12] \ 00000030 001091E5 LDR R1,[R1, #+0] \ ??maincsm_onmessage_2: \ 00000034 0020D1E5 LDRB R2,[R1, #+0] \ 00000038 610052E3 CMP R2,#+97 \ 0000003C 010000BA BLT ??maincsm_onmessage_3 \ 00000040 7B0052E3 CMP R2,#+123 \ 00000044 202042B2 SUBLT R2,R2,#+32 \ ??maincsm_onmessage_3: \ 00000048 0030D0E5 LDRB R3,[R0, #+0] \ 0000004C 011081E2 ADD R1,R1,#+1 \ 00000050 610053E3 CMP R3,#+97 \ 00000054 010000BA BLT ??maincsm_onmessage_4 \ 00000058 7B0053E3 CMP R3,#+123 \ 0000005C 203043B2 SUBLT R3,R3,#+32 \ ??maincsm_onmessage_4: \ 00000060 010080E2 ADD R0,R0,#+1 \ 00000064 033052E0 SUBS R3,R2,R3 \ 00000068 4100001A BNE ??maincsm_onmessage_5 \ 0000006C 000052E3 CMP R2,#+0 \ 00000070 EFFFFF1A BNE ??maincsm_onmessage_2 125 { 126 ShowMSG(1,(int)"iDater config updated!"); \ 00000074 6C1085E2 ADD R1,R5,#+108 \ 00000078 0100A0E3 MOV R0,#+1 \ 0000007C 480100EF SWI +328 127 InitConfig(); \ 00000080 ........ _BLF InitConfig,??InitConfig??rA 128 129 FontPathFree(); \ 00000084 ........ _BLF FontPathFree,??FontPathFree??rA 130 131 sprintf(s,per_s,FontPath); \ 00000088 ........ LDR R2,??DataTable8 ;; FontPath \ 0000008C 040094E5 LDR R0,[R4, #+4] \ 00000090 1C1085E2 ADD R1,R5,#+28 \ 00000094 160000EF SWI +22 132 FontPathInit(1,s,fullset); \ 00000098 ........ LDR R0,??DataTable9 ;; fullset \ 0000009C 041094E5 LDR R1,[R4, #+4] \ 000000A0 007090E5 LDR R7,[R0, #+0] \ 000000A4 0100A0E3 MOV R0,#+1 \ 000000A8 0720A0E1 MOV R2,R7 \ 000000AC ........ _BLF FontPathInit,??FontPathInit??rA 133 134 sprintf(s,per_s,FontPath2); \ 000000B0 ........ LDR R2,??DataTable10 ;; FontPath2 \ 000000B4 040094E5 LDR R0,[R4, #+4] \ 000000B8 1C1085E2 ADD R1,R5,#+28 \ 000000BC 160000EF SWI +22 135 FontPathInit(2,s,fullset); \ 000000C0 041094E5 LDR R1,[R4, #+4] \ 000000C4 0720A0E1 MOV R2,R7 \ 000000C8 0200A0E3 MOV R0,#+2 \ 000000CC ........ _BLF FontPathInit,??FontPathInit??rA 136 137 sprintf(s,per_s,FontPath3); \ 000000D0 ........ LDR R2,??DataTable11 ;; FontPath3 \ 000000D4 040094E5 LDR R0,[R4, #+4] \ 000000D8 1C1085E2 ADD R1,R5,#+28 \ 000000DC 160000EF SWI +22 138 FontPathInit(3,s,fullset); \ 000000E0 041094E5 LDR R1,[R4, #+4] \ 000000E4 0720A0E1 MOV R2,R7 \ 000000E8 0300A0E3 MOV R0,#+3 \ 000000EC ........ _BLF FontPathInit,??FontPathInit??rA 139 } 140 } 141 if (msg->msg==MSG_IPC) \ ??maincsm_onmessage_1: \ 000000F0 040096E5 LDR R0,[R6, #+4] \ 000000F4 B010A0E3 MOV R1,#+176 \ 000000F8 DE1C81E3 ORR R1,R1,#0xDE00 \ 000000FC 010050E1 CMP R0,R1 \ 00000100 1B00001A BNE ??maincsm_onmessage_5 142 { 143 IPC_REQ *ipc; 144 if ((ipc=(IPC_REQ*)msg->data0)) \ 00000104 0C0096E5 LDR R0,[R6, #+12] \ 00000108 000050E3 CMP R0,#+0 \ 0000010C 1800000A BEQ ??maincsm_onmessage_5 145 { 146 if (strcmp_nocase(ipc->name_to,ipc_my_name)==0) \ 00000110 000090E5 LDR R0,[R0, #+0] \ 00000114 8C1085E2 ADD R1,R5,#+140 \ ??maincsm_onmessage_6: \ 00000118 0020D0E5 LDRB R2,[R0, #+0] \ 0000011C 610052E3 CMP R2,#+97 \ 00000120 010000BA BLT ??maincsm_onmessage_7 \ 00000124 7B0052E3 CMP R2,#+123 \ 00000128 202042B2 SUBLT R2,R2,#+32 \ ??maincsm_onmessage_7: \ 0000012C 0030D1E5 LDRB R3,[R1, #+0] \ 00000130 010080E2 ADD R0,R0,#+1 \ 00000134 610053E3 CMP R3,#+97 \ 00000138 010000BA BLT ??maincsm_onmessage_8 \ 0000013C 7B0053E3 CMP R3,#+123 \ 00000140 203043B2 SUBLT R3,R3,#+32 \ ??maincsm_onmessage_8: \ 00000144 011081E2 ADD R1,R1,#+1 \ 00000148 033052E0 SUBS R3,R2,R3 \ 0000014C 0800001A BNE ??maincsm_onmessage_5 \ 00000150 000052E3 CMP R2,#+0 \ 00000154 EFFFFF1A BNE ??maincsm_onmessage_6 147 { 148 switch (msg->submess) \ 00000158 080096E5 LDR R0,[R6, #+8] \ 0000015C 010050E3 CMP R0,#+1 \ 00000160 0300001A BNE ??maincsm_onmessage_5 149 { 150 case IPC_UPDATE_STAT: 151 GBS_StartTimerProc(&mytmr, 10*TMR_SECOND/10, TimerProc); \ 00000164 68249FE5 LDR R2,??maincsm_onmessage_0+0xC ;; TimerProc \ 00000168 D810A0E3 MOV R1,#+216 \ 0000016C 140084E2 ADD R0,R4,#+20 \ 00000170 4D0000EF SWI +77 152 } 153 } 154 } 155 } 156 icsm=FindCSMbyID(CSM_root()->idle_id); \ ??maincsm_onmessage_5: \ 00000174 068100EF SWI +33030 \ 00000178 040090E5 LDR R0,[R0, #+4] \ 0000017C 080100EF SWI +264 157 158 159 if (icsm) \ 00000180 000050E3 CMP R0,#+0 \ 00000184 0C01000A BEQ ??maincsm_onmessage_9 160 { 161 if (IsGuiOnTop(idlegui_id(icsm))) //Åñëè IdleGui íà ñàìîì âåðõó \ 00000188 2C0090E5 LDR R0,[R0, #+44] \ 0000018C 350100EF SWI +309 \ 00000190 000050E3 CMP R0,#+0 \ 00000194 0801000A BEQ ??maincsm_onmessage_9 162 { 163 GUI *igui=GetTopGUI(); 164 if (igui) //È îí ñóùåñòâóåò \ 00000198 4D0100EF SWI +333 \ 0000019C 000050E3 CMP R0,#+0 \ 000001A0 0501000A BEQ ??maincsm_onmessage_9 165 { 166 canvasdata = BuildCanvas(); \ 000001A4 F18000EF SWI +33009 \ 000001A8 000084E5 STR R0,[R4, #+0] 167 TDate date; 168 TTime time; 169 GetDateTime(&date, &time); \ 000001AC 24108DE2 ADD R1,SP,#+36 \ 000001B0 0D00A0E1 MOV R0,SP \ 000001B4 B40000EF SWI +180 170 /* WSHDR *ws1,*ws2,*ws3; 171 ws1=AllocWS(128); 172 ws2=AllocWS(128); 173 ws3=AllocWS(128); 174 */ 175 char *mmonth[12]={"ßíâ","Ôåâ","Ìàð","Àïð","Ìàé","Èþí","Èþë","Àâã","Ñåí","Îêò","Íîÿ","Äåê"}; \ 000001B8 18149FE5 LDR R1,??maincsm_onmessage_0+0x10 ;; `?`, `?` \ .... \ 00000008 ............ DC32 `?`, `?` \ .... \ 00000010 ............ DC32 `?`, `?` \ .... \ 00000018 ........ DC32 `?` \ per_s: \ 0000001C 257300 DC8 "%s" \ 0000001F 00 DC8 0 \ 00000020 253032642E25 DC8 "%02d.%02d.%02d" \ 3032642E2530 \ 326400 \ 0000002F 00 DC8 0 \ 00000030 253032642E25 DC8 "%02d.%02d.%04d" \ 3032642E2530 \ 346400 \ 0000003F 00 DC8 0 \ 00000040 257320253032 DC8 "%s %02d.%02d" \ 642E25303264 \ 00 \ 0000004D 000000 DC8 0, 0, 0 \ 00000050 257320253032 DC8 "%s %02d %s" \ 6420257300 \ 0000005B 00 DC8 0 \ 0000005C 257320253032 DC8 "%s %02d" \ 6400 \ 00000064 253032642025 DC8 "%02d %s" \ 7300 \ 0000006C 694461746572 DC8 "iDater config updated!" \ 20636F6E6669 \ 672075706461 \ 7465642100 \ 00000083 00 DC8 0 \ 00000084 694461746572 DC8 "iDater" \ 00 \ 0000008B 00 DC8 0 \ ipc_my_name: \ 0000008C 694461746572 DC8 "iDater" \ 00 \ 00000093 00 DC8 0 \ 00000094 ............ DC32 maincsm_onmessage, maincsm_oncreate, 0, 0, 0, 0, maincsm_onclose \ ....00000000 \ 000000000000 \ 000000000000 \ ........ \ 000000B0 280000000100 DC32 40, 1, minus11, maincsm_name_body, 55AACCCCH, 3333AA55H, 0 \ 0000........ \ ........CCCC \ AA5555AA3333 \ 00000000 \ 000000CC 8B00 DC16 139 \ 000000CE 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ my_ipc: \ 00000000 ............ DC32 ipc_my_name, ipc_my_name, 0H \ ....00000000 \ In segment DATA_C, align 1, align-sorted \ percent_t: \ 00000000 257400 DC8 "%t" \ In segment DATA_C, align 1, align-sorted \ per_t: \ 00000000 257400 DC8 "%t" \ In segment DATA_C, align 4, align-sorted 337 const int minus11=-11; \ minus11: \ 00000000 F5FFFFFF DC32 -11 338 339 static const struct 340 { 341 CSM_DESC maincsm; 342 WSHDR maincsm_name; 343 }MAINCSM = 344 { 345 { 346 maincsm_onmessage, 347 maincsm_oncreate, 348 #ifdef NEWSGOLD 349 0, 350 0, 351 0, 352 0, 353 #endif 354 maincsm_onclose, 355 sizeof(CSM_RAM), 356 1, 357 &minus11 358 }, 359 { 360 maincsm_name_body, 361 NAMECSM_MAGIC1, 362 NAMECSM_MAGIC2, 363 0x0, 364 139 365 } 366 }; 367 368 369 static void UpdateCSMname(void) 370 { 371 wsprintf((WSHDR *)(&MAINCSM.maincsm_name),"iDater"); 372 } 373 // ---------------------------------------------------------------------------- 374 375 \ In segment DATA_Z, align 4, align-sorted 376 CSM_DESC icsmd; \ icsmd: \ 00000000 DS8 40 \ In segment CODE, align 4, keep-with-next 377 int main() 378 { \ main: \ 00000000 70402DE9 PUSH {R4-R6,LR} 379 CSMROOT *csmr; 380 CSM_RAM *save_cmpc; 381 CSM_RAM main_csm; 382 InitConfig(); 383 UpdateCSMname(); \ 00000004 ........ LDR R4,??DataTable7 ;; `?csm_q->current_msg_processing_csm; \ 00000028 080095E5 LDR R0,[R5, #+8] 387 csmr->csm_q->current_msg_processing_csm=csmr->csm_q->csm.first; 388 CreateCSM(&MAINCSM.maincsm,&main_csm,0); \ 0000002C 0020A0E3 MOV R2,#+0 \ 00000030 081090E5 LDR R1,[R0, #+8] \ 00000034 046090E5 LDR R6,[R0, #+4] \ 00000038 041080E5 STR R1,[R0, #+4] \ 0000003C 0D10A0E1 MOV R1,SP \ 00000040 940084E2 ADD R0,R4,#+148 \ 00000044 070100EF SWI +263 389 csmr->csm_q->current_msg_processing_csm=save_cmpc; \ 00000048 080095E5 LDR R0,[R5, #+8] \ 0000004C 046080E5 STR R6,[R0, #+4] 390 UnlockSched(); \ 00000050 470100EF SWI +327 391 392 char *s=malloc(128); \ 00000054 8000A0E3 MOV R0,#+128 \ 00000058 140000EF SWI +20 393 sprintf(s,per_s,FontPath); \ 0000005C ........ LDR R2,??DataTable8 ;; FontPath \ 00000060 0050A0E1 MOV R5,R0 \ 00000064 1C1084E2 ADD R1,R4,#+28 \ 00000068 160000EF SWI +22 394 FontPathInit(1,s,fullset); \ 0000006C ........ LDR R0,??DataTable9 ;; fullset \ 00000070 0510A0E1 MOV R1,R5 \ 00000074 006090E5 LDR R6,[R0, #+0] \ 00000078 0100A0E3 MOV R0,#+1 \ 0000007C 0620A0E1 MOV R2,R6 \ 00000080 ........ _BLF FontPathInit,??FontPathInit??rA 395 396 sprintf(s,per_s,FontPath2); \ 00000084 ........ LDR R2,??DataTable10 ;; FontPath2 \ 00000088 1C1084E2 ADD R1,R4,#+28 \ 0000008C 0500A0E1 MOV R0,R5 \ 00000090 160000EF SWI +22 397 FontPathInit(2,s,fullset); \ 00000094 0620A0E1 MOV R2,R6 \ 00000098 0510A0E1 MOV R1,R5 \ 0000009C 0200A0E3 MOV R0,#+2 \ 000000A0 ........ _BLF FontPathInit,??FontPathInit??rA 398 399 sprintf(s,per_s,FontPath3); \ 000000A4 ........ LDR R2,??DataTable11 ;; FontPath3 \ 000000A8 1C1084E2 ADD R1,R4,#+28 \ 000000AC 0500A0E1 MOV R0,R5 \ 000000B0 160000EF SWI +22 400 FontPathInit(3,s,fullset); \ 000000B4 0620A0E1 MOV R2,R6 \ 000000B8 0510A0E1 MOV R1,R5 \ 000000BC 0300A0E3 MOV R0,#+3 \ 000000C0 ........ _BLF FontPathInit,??FontPathInit??rA 401 return (0); \ 000000C4 0000A0E3 MOV R0,#+0 \ 000000C8 28D08DE2 ADD SP,SP,#+40 \ 000000CC 7080BDE8 POP {R4-R6,PC} ;; return 402 } \ In segment CODE, align 4, keep-with-next \ ??DataTable6: \ 00000000 ........ DC32 my_ipc \ In segment CODE, align 4, keep-with-next \ ??DataTable7: \ 00000000 ........ DC32 `?`: \ 00000000 DFEDE200 DC8 "\337\355\342" \ In segment DATA_C, align 1, align-sorted \ `?`: \ 00000000 D1E100 DC8 "\321\341" \ In segment DATA_C, align 1, align-sorted \ `?`: \ 00000000 C2F100 DC8 "\302\361" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C2F2EEF0EDE8 DC8 "\302\362\356\360\355\350\352" \ EA00 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 D1F0E5E4E000 DC8 "\321\360\345\344\340" \ 00000006 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 D7E5F2E2E5F0 DC8 "\327\345\362\342\345\360\343" \ E300 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CFFFF2EDE8F6 DC8 "\317\377\362\355\350\366\340" \ E000 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CEEAF2FFE1F0 DC8 "\316\352\362\377\341\360\374" \ FC00 \ In segment DATA_C, align 4, align-sorted \ `?` \ 00000008 ........ DC32 `?` \ 0000000C ........ DC32 `?` \ 00000010 ........ DC32 `?` \ 00000014 ........ DC32 `?` \ 00000018 ........ DC32 `?`: \ 00000000 D4E5E200 DC8 "\324\345\342" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CCE0F000 DC8 "\314\340\360" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C0EFF000 DC8 "\300\357\360" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CCE0E900 DC8 "\314\340\351" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C8FEED00 DC8 "\310\376\355" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C8FEEB00 DC8 "\310\376\353" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C0E2E300 DC8 "\300\342\343" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 D1E5ED00 DC8 "\321\345\355" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CEEAF200 DC8 "\316\352\362" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CDEEFF00 DC8 "\315\356\377" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C4E5EA00 DC8 "\304\345\352" \ In segment DATA_C, align 4, align-sorted \ `?`, `?` \ .... \ 00000008 ............ DC32 `?`, `?` \ .... \ 00000010 ............ DC32 `?`, `?` \ .... \ 00000018 ............ DC32 `?`, `?` \ .... \ 00000020 ............ DC32 `?`, `?` \ .... \ 00000028 ............ DC32 `?`, `?` \ .... \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 DFEDE2E0F0FC DC8 "\337\355\342\340\360\374" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 D4E5E2F0E0EB DC8 "\324\345\342\360\340\353\374" \ FC00 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CCE0F0F200 DC8 "\314\340\360\362" \ 00000005 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C0EFF0E5EBFC DC8 "\300\357\360\345\353\374" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C8FEEDFC00 DC8 "\310\376\355\374" \ 00000005 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C8FEEBFC00 DC8 "\310\376\353\374" \ 00000005 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C0E2E3F3F1F2 DC8 "\300\342\343\363\361\362" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 D1E5EDFFE1F0 DC8 "\321\345\355\377\341\360\374" \ FC00 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 D1F3E1E1EEF2 DC8 "\321\363\341\341\356\362\340" \ E000 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CDEEFFE1F0FC DC8 "\315\356\377\341\360\374" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C4E5EAE0E1F0 DC8 "\304\345\352\340\341\360\374" \ FC00 \ In segment DATA_C, align 4, align-sorted \ `?` \ 00000004 ........ DC32 `?` \ 00000008 ........ DC32 `?` \ 0000000C ........ DC32 `?` \ 00000010 ........ DC32 `?` \ 00000014 ........ DC32 `?` \ 00000018 ........ DC32 `?` \ 0000001C ........ DC32 `?` \ 00000020 ........ DC32 `?` \ 00000024 ........ DC32 `?` \ 00000028 ........ DC32 `?` \ 0000002C ........ DC32 `?` \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 DFEDE2E0F0FF DC8 "\337\355\342\340\360\377" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 D4E5E2F0E0EB DC8 "\324\345\342\360\340\353\377" \ FF00 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CCE0F0F2E000 DC8 "\314\340\360\362\340" \ 00000006 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C0EFF0E5EBFF DC8 "\300\357\360\345\353\377" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CCE0FF00 DC8 "\314\340\377" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C8FEEDFF00 DC8 "\310\376\355\377" \ 00000005 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C8FEEBFF00 DC8 "\310\376\353\377" \ 00000005 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C0E2E3F3F1F2 DC8 "\300\342\343\363\361\362\340" \ E000 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 D1E5EDFFE1F0 DC8 "\321\345\355\377\341\360\377" \ FF00 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CEEAF2FFE1F0 DC8 "\316\352\362\377\341\360\377" \ FF00 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CDEEFFE1F0FF DC8 "\315\356\377\341\360\377" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 C4E5EAE0E1F0 DC8 "\304\345\352\340\341\360\377" \ FF00 \ In segment DATA_C, align 4, align-sorted \ `?` \ 00000004 ........ DC32 `?` \ 00000008 ........ DC32 `?` \ 0000000C ........ DC32 `?` \ 00000010 ........ DC32 `?` \ 00000014 ........ DC32 `?` \ 00000018 ........ DC32 `?` \ 0000001C ........ DC32 `?` \ 00000020 ........ DC32 `?` \ 00000024 ........ DC32 `?` \ 00000028 ........ DC32 `?` \ 0000002C ........ DC32 `?` \ In segment DATA_C, align 1, align-sorted \ `?`: \ 00000000 CFED00 DC8 "\317\355" \ In segment DATA_C, align 1, align-sorted \ `?`: \ 00000000 C2F200 DC8 "\302\362" \ In segment DATA_C, align 1, align-sorted \ `?`: \ 00000000 D1F000 DC8 "\321\360" \ In segment DATA_C, align 1, align-sorted \ `?`: \ 00000000 D7F200 DC8 "\327\362" \ In segment DATA_C, align 1, align-sorted \ `?`: \ 00000000 CFF200 DC8 "\317\362" Maximum stack usage in bytes: Function CSTACK -------- ------ ElfKiller 4 TimerProc 4 get_string_width 20 main 56 maincsm_onclose 4 maincsm_oncreate 8 maincsm_onmessage 252 Segment part sizes: Function/Label Bytes -------------- ----- ElfKiller 28 TimerProc 36 get_string_width 64 canvasdata 36 my_csm_id 4 ErrorNumber 4 old_icsm_onMessage 4 old_icsm_onClose 4 maincsm_onmessage 1596 maincsm_oncreate 92 maincsm_onclose 4 maincsm_name_body 280 ? 4 ? 3 ? 3 ? 8 ? 8 ? 8 ? 8 ? 8 ? 3 ? 4 ? 4 ? 4 ? 4 ? 4 ? 4 ? 4 ? 4 ? 4 ? 4 ? 4 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 4 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 8 ? 3 ? 3 ? 3 ? 3 ? 3 Others 100 2 140 bytes in segment CODE 718 bytes in segment DATA_C 372 bytes in segment DATA_Z 12 bytes in segment INITTAB 2 052 bytes of CODE memory (+ 100 bytes shared) 718 bytes of CONST memory 372 bytes of DATA memory Errors: none Warnings: none