############################################################################## # # # IAR ARM ANSI C/C++ Compiler V4.42A/W32 EVALUATION 08/Jul/2011 13:40:58 # # Copyright 1999-2005 IAR Systems. All rights reserved. # # # # Cpu mode = interwork # # Endian = little # # Stack alignment = 4 # # Source file = D:\pasha\elf\_MY_PROJECT_\_NATICQ2\lang.c # # Command line = D:\pasha\elf\_MY_PROJECT_\_NATICQ2\lang.c -D # # NEWSGOLD -D ELKA -D GUI_INTERFACE -D ICONBAR -D # # kluchnik --preprocess D:\pasha\elf\_MY_PROJECT_\_NAT # # ICQ2\kluchnik\List\ -lC D:\pasha\elf\_MY_PROJECT_\_N # # ATICQ2\kluchnik\List\ -o D:\pasha\elf\_MY_PROJECT_\_ # # NATICQ2\kluchnik\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_\_NATICQ2\kluchnik\List\lan # # g.lst # # Object file = D:\pasha\elf\_MY_PROJECT_\_NATICQ2\kluchnik\Obj\lang # # .r79 # # # # # ############################################################################## D:\pasha\elf\_MY_PROJECT_\_NATICQ2\lang.c 1 #include "..\inc\swilib.h" 2 #include "lang.h" 3 4 5 char * lgpData[LGP_DATA_NUM]; \ In segment DATA_Z, align 4, align-sorted 6 int lgpLoaded; \ lgpLoaded: \ 00000000 DS8 4 \ In segment DATA_Z, align 4, align-sorted 7 int loaded; \ loaded: \ 00000000 DS8 4 8 9 //--------------------------------------------------------------------------- 10 11 LGP_Item LGPTAGS[]= 12 { 13 {"LGP_AlreadyStarted", LGP_AlreadyStarted}, 14 {"LGP_ClTitle", LGP_ClTitle}, 15 {"LGP_ClT9Inp", LGP_ClT9Inp}, 16 {"LGP_ClError", LGP_ClError}, 17 {"LGP_ClLoopback", LGP_ClLoopback}, 18 {"LGP_GroupNotInList", LGP_GroupNotInList}, 19 {"LGP_Menu", LGP_Menu}, 20 {"LGP_Options", LGP_Options}, 21 {"LGP_Close", LGP_Close}, 22 {"LGP_Clear", LGP_Clear}, 23 {"LGP_DoIt", LGP_DoIt}, 24 {"LGP_PasteSm", LGP_PasteSm}, 25 {"LGP_Select", LGP_Select}, 26 {"LGP_Text", LGP_Text}, 27 {"LGP_Back", LGP_Back}, 28 {"LGP_Add", LGP_Add}, 29 {"LGP_AddCnt", LGP_AddCnt}, 30 {"LGP_EnterUin", LGP_EnterUin}, 31 {"LGP_AddRen", LGP_AddRen}, 32 {"LGP_AddSmil", LGP_AddSmil}, 33 {"LGP_AddCont", LGP_AddCont}, 34 {"LGP_AuthReq", LGP_AuthReq}, 35 {"LGP_AuthGrant", LGP_AuthGrant}, 36 {"LGP_MnuStatus", LGP_MnuStatus}, 37 {"LGP_MnuXStatus", LGP_MnuXStatus}, 38 {"LGP_MnuAddCont", LGP_MnuAddCont}, 39 {"LGP_MnuAwayMsg", LGP_MnuAwayMsg},// 40 {"LGP_MnuVibra", LGP_MnuVibra}, 41 {"LGP_MnuSound", LGP_MnuSound}, 42 43 //29.07.09 44 {"LGP_MnuExtSnd", LGP_MnuExtSnd}, 45 {"LGP_MnuIndSnd", LGP_MnuIndSnd}, 46 {"LGP_MnuIluMode", LGP_MnuIluMode}, 47 {"LGP_MnuIluOnlineMode", LGP_MnuIluOnlineMode}, 48 // 49 50 #ifdef ELKA 51 {"LGP_MnuSliMode", LGP_MnuSliMode},// 52 #endif 53 {"LGP_MnuReminder", LGP_MnuReminder},// 54 {"LGP_MnuPopup", LGP_MnuPopup},// 55 {"LGP_MnuActiveUp", LGP_MnuActiveUp}, 56 {"LGP_MnuShowOff", LGP_MnuShowOff}, 57 {"LGP_MnuShowGroup", LGP_MnuShowGroup}, 58 {"LGP_MnuEdCfg", LGP_MnuEdCfg}, 59 {"LGP_MnuDisconnect", LGP_MnuDisconnect}, 60 {"LGP_MnuPing", LGP_MnuPing}, 61 {"LGP_MnuAbout", LGP_MnuAbout}, 62 {"LGP_MnuQuote", LGP_MnuQuote}, 63 {"LGP_MnuQuoteNotFocus", LGP_MnuQuoteNotFocus}, 64 {"LGP_MnuAddSml", LGP_MnuAddSml}, 65 {"LGP_MnuShInfo", LGP_MnuShInfo}, 66 {"LGP_MnuAddRen", LGP_MnuAddRen}, 67 {"LGP_MnuSAuthReq", LGP_MnuSAuthReq}, 68 {"LGP_MnuSAuthGrt", LGP_MnuSAuthGrt}, 69 {"LGP_MnuOpenLog", LGP_MnuOpenLog}, 70 {"LGP_MnuClearCht", LGP_MnuClearCht}, 71 {"LGP_MnuEdNextAct", LGP_MnuEdNextAct}, 72 {"LGP_MnuEdPrevAct", LGP_MnuEdPrevAct}, 73 {"LGP_ChgStatus", LGP_ChgStatus}, 74 {"LGP_ChgXStatus", LGP_ChgXStatus}, 75 76 {"LGP_StOffline", LGP_StOffline}, 77 {"LGP_StOnline", LGP_StOnline}, 78 {"LGP_StAway", LGP_StAway}, 79 {"LGP_StNa", LGP_StNa}, 80 {"LGP_StDnd", LGP_StDnd}, 81 {"LGP_StOccup", LGP_StOccup}, 82 {"LGP_StFfc", LGP_StFfc}, 83 {"LGP_StInvis", LGP_StInvis}, 84 {"LGP_StDepression", LGP_StDepression}, 85 {"LGP_StEvil", LGP_StEvil}, 86 {"LGP_StHome", LGP_StHome}, 87 {"LGP_StLunch", LGP_StLunch}, 88 {"LGP_StWork", LGP_StWork}, 89 90 {"LGP_Comment", LGP_Comment}, 91 {"LGP_All_Can_See", LGP_All_Can_See}, 92 {"LGP_Vislist_Can_See", LGP_Vislist_Can_See}, 93 {"LGP_Invislist_Cannot_See", LGP_Invislist_Cannot_See}, 94 {"LGP_ContactList_Can_See", LGP_ContactList_Can_See}, 95 {"LGP_Nobody_Can_See", LGP_Nobody_Can_See}, 96 {"LGP_EnterName", LGP_EnterName}, 97 {"LGP_ChooseGroup", LGP_ChooseGroup}, 98 {"LGP_PrivStatus", LGP_PrivStatus}, 99 {"LGP_ManageList", LGP_ManageList}, 100 {"LGP_MsgIllegmsgcon", LGP_MsgIllegmsgcon}, 101 {"LGP_MsgIllegmsgrea", LGP_MsgIllegmsgrea}, 102 {"LGP_MsgCantConn", LGP_MsgCantConn}, 103 {"LGP_MsgCantCrSc", LGP_MsgCantCrSc}, 104 {"LGP_MsgHostNFnd", LGP_MsgHostNFnd}, 105 {"LGP_MsgVibraDis", LGP_MsgVibraDis}, 106 {"LGP_MsgVibraEna", LGP_MsgVibraEna}, 107 {"LGP_MsgSndDis", LGP_MsgSndDis}, 108 {"LGP_MsgSndEna", LGP_MsgSndEna}, 109 {"LGP_MsgNoUinPass", LGP_MsgNoUinPass}, 110 {"LGP_MsgSmileNotFnd", LGP_MsgSmileNotFnd}, 111 {"LGP_GrsKeyExit", LGP_GrsKeyExit}, 112 {"LGP_GrsKeyClist", LGP_GrsKeyClist}, 113 {"LGP_LangCode", LGP_LangCode}, 114 {"LGP_DATA_NUM", LGP_DATA_NUM} 115 }; 116 117 //--------------------------------------------------------------------------- 118 \ In segment CODE, align 4, keep-with-next 119 void lgpModifyLGPString(char *tagstr, char *lgpstr) 120 { \ lgpModifyLGPString: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0150A0E1 MOV R5,R1 121 int i, id = -1; 122 for(i = 0; i < LGP_DATA_NUM; i++) \ 0000000C ........ LDR R7,??DataTable2 ;; LGPTAGS \ 00000010 0060A0E3 MOV R6,#+0 \ 00000014 020000EA B ??lgpModifyLGPString_0 \ ??lgpModifyLGPString_1: \ 00000018 016086E2 ADD R6,R6,#+1 \ 0000001C 5D0056E3 CMP R6,#+93 \ 00000020 F080BDA8 POPGE {R4-R7,PC} 123 if(!strcmp(LGPTAGS[i].tag, tagstr)) \ ??lgpModifyLGPString_0: \ 00000024 860197E7 LDR R0,[R7, +R6, LSL #+3] \ 00000028 0410A0E1 MOV R1,R4 \ 0000002C 190000EF SWI +25 \ 00000030 000050E3 CMP R0,#+0 \ 00000034 F7FFFF1A BNE ??lgpModifyLGPString_1 124 { 125 id = LGPTAGS[i].id; \ 00000038 860187E0 ADD R0,R7,R6, LSL #+3 \ 0000003C 040090E5 LDR R0,[R0, #+4] 126 break; 127 } 128 if(id == -1 || id > LGP_DATA_NUM) return; \ 00000040 010070E3 CMN R0,#+1 \ 00000044 F080BD08 POPEQ {R4-R7,PC} \ 00000048 5E0050E3 CMP R0,#+94 \ 0000004C F080BDA8 POPGE {R4-R7,PC} 129 mfree(lgpData[id]); \ 00000050 004187E0 ADD R4,R7,R0, LSL #+2 \ 00000054 F00294E5 LDR R0,[R4, #+752] \ 00000058 150000EF SWI +21 130 lgpData[id] = (char *) malloc(strlen(lgpstr)+1); \ 0000005C 0500A0E1 MOV R0,R5 \ 00000060 1B0000EF SWI +27 \ 00000064 010080E2 ADD R0,R0,#+1 \ 00000068 140000EF SWI +20 \ 0000006C F00284E5 STR R0,[R4, #+752] 131 strcpy(lgpData[id], lgpstr); \ 00000070 0510A0E1 MOV R1,R5 \ 00000074 1A0000EF SWI +26 132 } \ 00000078 F080BDE8 POP {R4-R7,PC} ;; return 133 134 //--------------------------------------------------------------------------- 135 \ In segment CODE, align 4, keep-with-next 136 void lgpLoadDefault() 137 { \ lgpLoadDefault: \ 00000000 F0412DE9 PUSH {R4-R8,LR} 138 int i, id; 139 140 static char en_lgp[LGP_DATA_NUM][256]; 141 142 strcpy(en_lgp[LGP_AlreadyStarted], "Already started!"); \ 00000004 ........ LDR R5,??DataTable2 ;; LGPTAGS \ 00000008 50669FE5 LDR R6,??lgpLoadDefault_0+0x4 ;; `?` \ 0000000C 6440A0E3 MOV R4,#+100 \ 00000010 404E84E3 ORR R4,R4,#0x400 \ 00000014 101086E2 ADD R1,R6,#+16 \ 00000018 050084E0 ADD R0,R4,R5 \ 0000001C 1A0000EF SWI +26 143 strcpy(en_lgp[LGP_ClTitle], "Contacts..."); \ 00000020 241086E2 ADD R1,R6,#+36 \ 00000024 400F84E3 ORR R0,R4,#0x100 \ 00000028 050080E0 ADD R0,R0,R5 \ 0000002C 1A0000EF SWI +26 144 strcpy(en_lgp[LGP_ClT9Inp], "T9 Key: "); \ 00000030 301086E2 ADD R1,R6,#+48 \ 00000034 800F84E3 ORR R0,R4,#0x200 \ 00000038 050080E0 ADD R0,R0,R5 \ 0000003C 1A0000EF SWI +26 145 strcpy(en_lgp[LGP_ClError], "error"); \ 00000040 3C1086E2 ADD R1,R6,#+60 \ 00000044 C00F84E3 ORR R0,R4,#0x300 \ 00000048 050080E0 ADD R0,R0,R5 \ 0000004C 1A0000EF SWI +26 146 strcpy(en_lgp[LGP_ClLoopback], "Loopback"); \ 00000050 441086E2 ADD R1,R6,#+68 \ 00000054 400E84E2 ADD R0,R4,#+1024 \ 00000058 050080E0 ADD R0,R0,R5 \ 0000005C 1A0000EF SWI +26 147 strcpy(en_lgp[LGP_GroupNotInList], "Not in list"); \ 00000060 501086E2 ADD R1,R6,#+80 \ 00000064 500E84E2 ADD R0,R4,#+1280 \ 00000068 050080E0 ADD R0,R0,R5 \ 0000006C 1A0000EF SWI +26 148 149 //================= 150 strcpy(en_lgp[LGP_Menu], "Menu"); \ 00000070 5C1086E2 ADD R1,R6,#+92 \ 00000074 600E84E2 ADD R0,R4,#+1536 \ 00000078 050080E0 ADD R0,R0,R5 \ 0000007C 1A0000EF SWI +26 151 strcpy(en_lgp[LGP_Options], "Options"); \ 00000080 641086E2 ADD R1,R6,#+100 \ 00000084 700E84E2 ADD R0,R4,#+1792 \ 00000088 050080E0 ADD R0,R0,R5 \ 0000008C 1A0000EF SWI +26 152 strcpy(en_lgp[LGP_Close], "Close"); \ 00000090 6C1086E2 ADD R1,R6,#+108 \ 00000094 800E84E3 ORR R0,R4,#0x800 \ 00000098 050080E0 ADD R0,R0,R5 \ 0000009C 1A0000EF SWI +26 153 strcpy(en_lgp[LGP_Clear], "< C"); \ 000000A0 F21F8FE2 ADR R1,??lgpLoadDefault_1 ;; "< C" \ 000000A4 900E84E3 ORR R0,R4,#0x900 \ 000000A8 050080E0 ADD R0,R0,R5 \ 000000AC 1A0000EF SWI +26 154 strcpy(en_lgp[LGP_DoIt], "Do it!"); \ 000000B0 741086E2 ADD R1,R6,#+116 \ 000000B4 A00E84E3 ORR R0,R4,#0xA00 \ 000000B8 050080E0 ADD R0,R0,R5 \ 000000BC 1A0000EF SWI +26 155 strcpy(en_lgp[LGP_PasteSm], "Paste it!"); \ 000000C0 7C1086E2 ADD R1,R6,#+124 \ 000000C4 B00E84E3 ORR R0,R4,#0xB00 \ 000000C8 050080E0 ADD R0,R0,R5 \ 000000CC 1A0000EF SWI +26 156 //----------------- 157 strcpy(en_lgp[LGP_Select], "Select"); \ 000000D0 881086E2 ADD R1,R6,#+136 \ 000000D4 C00E84E2 ADD R0,R4,#+3072 \ 000000D8 050080E0 ADD R0,R0,R5 \ 000000DC 1A0000EF SWI +26 158 strcpy(en_lgp[LGP_Text], "Text"); \ 000000E0 901086E2 ADD R1,R6,#+144 \ 000000E4 D00E84E2 ADD R0,R4,#+3328 \ 000000E8 050080E0 ADD R0,R0,R5 \ 000000EC 1A0000EF SWI +26 159 strcpy(en_lgp[LGP_Back], "Back"); \ 000000F0 981086E2 ADD R1,R6,#+152 \ 000000F4 E00E84E2 ADD R0,R4,#+3584 \ 000000F8 050080E0 ADD R0,R0,R5 \ 000000FC 1A0000EF SWI +26 160 //----------------- 161 strcpy(en_lgp[LGP_Add], "Add!"); \ 00000100 A01086E2 ADD R1,R6,#+160 \ 00000104 F00E84E2 ADD R0,R4,#+3840 \ 00000108 050080E0 ADD R0,R0,R5 \ 0000010C 1A0000EF SWI +26 162 strcpy(en_lgp[LGP_AddCnt], "Add Contact"); \ 00000110 A81086E2 ADD R1,R6,#+168 \ 00000114 400D84E3 ORR R0,R4,#0x1000 \ 00000118 050080E0 ADD R0,R0,R5 \ 0000011C 1A0000EF SWI +26 163 strcpy(en_lgp[LGP_EnterUin], "Please enter uin:"); \ 00000120 B41086E2 ADD R1,R6,#+180 \ 00000124 440D84E3 ORR R0,R4,#0x1100 \ 00000128 050080E0 ADD R0,R0,R5 \ 0000012C 1A0000EF SWI +26 164 //================= 165 strcpy(en_lgp[LGP_AddRen], "Add/Rename"); \ 00000130 C81086E2 ADD R1,R6,#+200 \ 00000134 480D84E3 ORR R0,R4,#0x1200 \ 00000138 050080E0 ADD R0,R0,R5 \ 0000013C 1A0000EF SWI +26 166 strcpy(en_lgp[LGP_AddSmil], "Add Smiles"); \ 00000140 D41086E2 ADD R1,R6,#+212 \ 00000144 4C0D84E3 ORR R0,R4,#0x1300 \ 00000148 050080E0 ADD R0,R0,R5 \ 0000014C 1A0000EF SWI +26 167 //================= 168 strcpy(en_lgp[LGP_AddCont], "Add contact..."); \ 00000150 E01086E2 ADD R1,R6,#+224 \ 00000154 500D84E2 ADD R0,R4,#+5120 \ 00000158 050080E0 ADD R0,R0,R5 \ 0000015C 1A0000EF SWI +26 169 strcpy(en_lgp[LGP_AuthReq], "Please authorize me..."); \ 00000160 F01086E2 ADD R1,R6,#+240 \ 00000164 540D84E2 ADD R0,R4,#+5376 \ 00000168 050080E0 ADD R0,R0,R5 \ 0000016C 1A0000EF SWI +26 170 strcpy(en_lgp[LGP_AuthGrant], "You are authorized!"); \ 00000170 421F86E2 ADD R1,R6,#+264 \ 00000174 580D84E2 ADD R0,R4,#+5632 \ 00000178 050080E0 ADD R0,R0,R5 \ 0000017C 1A0000EF SWI +26 171 //================= 172 173 strcpy(en_lgp[LGP_MnuStatus], "Status"); \ 00000180 471F86E2 ADD R1,R6,#+284 \ 00000184 5C0D84E2 ADD R0,R4,#+5888 \ 00000188 050080E0 ADD R0,R0,R5 \ 0000018C 1A0000EF SWI +26 174 strcpy(en_lgp[LGP_MnuXStatus], "X-Status"); \ 00000190 491F86E2 ADD R1,R6,#+292 \ 00000194 600D84E3 ORR R0,R4,#0x1800 \ 00000198 050080E0 ADD R0,R0,R5 \ 0000019C 1A0000EF SWI +26 175 strcpy(en_lgp[LGP_MnuAddCont], "Add Contact"); \ 000001A0 A81086E2 ADD R1,R6,#+168 \ 000001A4 640D84E3 ORR R0,R4,#0x1900 \ 000001A8 050080E0 ADD R0,R0,R5 \ 000001AC 1A0000EF SWI +26 176 strcpy(en_lgp[LGP_MnuAwayMsg], "Auto away message"); \ 000001B0 4C1F86E2 ADD R1,R6,#+304 \ 000001B4 680D84E3 ORR R0,R4,#0x1A00 \ 000001B8 050080E0 ADD R0,R0,R5 \ 000001BC 1A0000EF SWI +26 177 strcpy(en_lgp[LGP_MnuVibra], "Vibra mode"); \ 000001C0 511F86E2 ADD R1,R6,#+324 \ 000001C4 6C0D84E3 ORR R0,R4,#0x1B00 \ 000001C8 050080E0 ADD R0,R0,R5 \ 000001CC 1A0000EF SWI +26 178 strcpy(en_lgp[LGP_MnuSound], "Sound mode"); \ 000001D0 541F86E2 ADD R1,R6,#+336 \ 000001D4 700D84E2 ADD R0,R4,#+7168 \ 000001D8 050080E0 ADD R0,R0,R5 \ 000001DC 1A0000EF SWI +26 179 180 //29.07.09 181 strcpy(en_lgp[LGP_MnuExtSnd], "Extended sound"); \ 000001E0 571F86E2 ADD R1,R6,#+348 \ 000001E4 740D84E2 ADD R0,R4,#+7424 \ 000001E8 050080E0 ADD R0,R0,R5 \ 000001EC 1A0000EF SWI +26 182 strcpy(en_lgp[LGP_MnuIndSnd], "Individual sound"); \ 000001F0 5B1F86E2 ADD R1,R6,#+364 \ 000001F4 780D84E2 ADD R0,R4,#+7680 \ 000001F8 050080E0 ADD R0,R0,R5 \ 000001FC 1A0000EF SWI +26 183 strcpy(en_lgp[LGP_MnuIluMode], "Illumination mode"); \ 00000200 601F86E2 ADD R1,R6,#+384 \ 00000204 7C0D84E2 ADD R0,R4,#+7936 \ 00000208 050080E0 ADD R0,R0,R5 \ 0000020C 1A0000EF SWI +26 184 strcpy(en_lgp[LGP_MnuIluOnlineMode], "Illum.online mode"); \ 00000210 651F86E2 ADD R1,R6,#+404 \ 00000214 800D84E3 ORR R0,R4,#0x2000 \ 00000218 050080E0 ADD R0,R0,R5 \ 0000021C 1A0000EF SWI +26 185 // 186 187 #ifdef ELKA 188 strcpy(en_lgp[LGP_MnuSliMode], "SLI Mode"); \ 00000220 6A1F86E2 ADD R1,R6,#+424 \ 00000224 840D84E3 ORR R0,R4,#0x2100 \ 00000228 050080E0 ADD R0,R0,R5 \ 0000022C 1A0000EF SWI +26 189 #endif 190 strcpy(en_lgp[LGP_MnuReminder], "Reminder"); \ 00000230 6D1F86E2 ADD R1,R6,#+436 \ 00000234 880D84E3 ORR R0,R4,#0x2200 \ 00000238 050080E0 ADD R0,R0,R5 \ 0000023C 1A0000EF SWI +26 191 strcpy(en_lgp[LGP_MnuPopup], "Popup's"); \ 00000240 701F86E2 ADD R1,R6,#+448 \ 00000244 8C0D84E3 ORR R0,R4,#0x2300 \ 00000248 050080E0 ADD R0,R0,R5 \ 0000024C 1A0000EF SWI +26 192 strcpy(en_lgp[LGP_MnuActiveUp], "Actine up mode"); \ 00000250 721F86E2 ADD R1,R6,#+456 \ 00000254 980D84E2 ADD R0,R4,#+9728 \ 00000258 050080E0 ADD R0,R0,R5 \ 0000025C 1A0000EF SWI +26 193 strcpy(en_lgp[LGP_MnuShowOff], "Off. contacts"); \ 00000260 761F86E2 ADD R1,R6,#+472 \ 00000264 900D84E2 ADD R0,R4,#+9216 \ 00000268 050080E0 ADD R0,R0,R5 \ 0000026C 1A0000EF SWI +26 194 strcpy(en_lgp[LGP_MnuShowGroup], "Groups"); \ 00000270 7A1F86E2 ADD R1,R6,#+488 \ 00000274 940D84E2 ADD R0,R4,#+9472 \ 00000278 050080E0 ADD R0,R0,R5 \ 0000027C 1A0000EF SWI +26 195 strcpy(en_lgp[LGP_MnuEdCfg], "Edit config"); \ 00000280 7C1F86E2 ADD R1,R6,#+496 \ 00000284 9C0D84E2 ADD R0,R4,#+9984 \ 00000288 050080E0 ADD R0,R0,R5 \ 0000028C 1A0000EF SWI +26 196 strcpy(en_lgp[LGP_MnuDisconnect], "Disconnect"); \ 00000290 7F1F86E2 ADD R1,R6,#+508 \ 00000294 A00D84E3 ORR R0,R4,#0x2800 \ 00000298 050080E0 ADD R0,R0,R5 \ 0000029C 1A0000EF SWI +26 197 strcpy(en_lgp[LGP_MnuPing], "Ping"); \ 000002A0 821F86E2 ADD R1,R6,#+520 \ 000002A4 A40D84E3 ORR R0,R4,#0x2900 \ 000002A8 050080E0 ADD R0,R0,R5 \ 000002AC 1A0000EF SWI +26 198 strcpy(en_lgp[LGP_MnuAbout], "About"); \ 000002B0 841F86E2 ADD R1,R6,#+528 \ 000002B4 A80D84E3 ORR R0,R4,#0x2A00 \ 000002B8 050080E0 ADD R0,R0,R5 \ 000002BC 1A0000EF SWI +26 199 200 //================= 201 strcpy(en_lgp[LGP_MnuQuote], "Quote"); \ 000002C0 861F86E2 ADD R1,R6,#+536 \ 000002C4 AC0D84E3 ORR R0,R4,#0x2B00 \ 000002C8 050080E0 ADD R0,R0,R5 \ 000002CC 1A0000EF SWI +26 202 strcpy(en_lgp[LGP_MnuQuoteNotFocus], "Quote not focus"); \ 000002D0 881F86E2 ADD R1,R6,#+544 \ 000002D4 B00D84E2 ADD R0,R4,#+11264 \ 000002D8 050080E0 ADD R0,R0,R5 \ 000002DC 1A0000EF SWI +26 203 strcpy(en_lgp[LGP_MnuAddSml], "Add smile"); \ 000002E0 8C1F86E2 ADD R1,R6,#+560 \ 000002E4 B40D84E2 ADD R0,R4,#+11520 \ 000002E8 050080E0 ADD R0,R0,R5 \ 000002EC 1A0000EF SWI +26 204 strcpy(en_lgp[LGP_MnuShInfo], "Get short info"); \ 000002F0 8F1F86E2 ADD R1,R6,#+572 \ 000002F4 B80D84E2 ADD R0,R4,#+11776 \ 000002F8 050080E0 ADD R0,R0,R5 \ 000002FC 1A0000EF SWI +26 205 strcpy(en_lgp[LGP_MnuAddRen], "Add/rename"); \ 00000300 931F86E2 ADD R1,R6,#+588 \ 00000304 BC0D84E2 ADD R0,R4,#+12032 \ 00000308 050080E0 ADD R0,R0,R5 \ 0000030C 1A0000EF SWI +26 206 strcpy(en_lgp[LGP_MnuSAuthReq], "Send Auth Req"); \ 00000310 961F86E2 ADD R1,R6,#+600 \ 00000314 C00D84E3 ORR R0,R4,#0x3000 \ 00000318 050080E0 ADD R0,R0,R5 \ 0000031C 1A0000EF SWI +26 207 strcpy(en_lgp[LGP_MnuSAuthGrt], "Send Auth Grant"); \ 00000320 9A1F86E2 ADD R1,R6,#+616 \ 00000324 C40D84E3 ORR R0,R4,#0x3100 \ 00000328 050080E0 ADD R0,R0,R5 \ 0000032C 1A0000EF SWI +26 208 strcpy(en_lgp[LGP_MnuOpenLog], "Open logfile"); \ 00000330 9E1F86E2 ADD R1,R6,#+632 \ 00000334 C80D84E3 ORR R0,R4,#0x3200 \ 00000338 050080E0 ADD R0,R0,R5 \ 0000033C 1A0000EF SWI +26 209 strcpy(en_lgp[LGP_MnuClearCht], "Clear log"); \ 00000340 A21F86E2 ADD R1,R6,#+648 \ 00000344 CC0D84E3 ORR R0,R4,#0x3300 \ 00000348 050080E0 ADD R0,R0,R5 \ 0000034C 1A0000EF SWI +26 210 211 strcpy(en_lgp[LGP_MnuEdNextAct], "Next active"); \ 00000350 A51F86E2 ADD R1,R6,#+660 \ 00000354 D00D84E2 ADD R0,R4,#+13312 \ 00000358 050080E0 ADD R0,R0,R5 \ 0000035C 1A0000EF SWI +26 212 strcpy(en_lgp[LGP_MnuEdPrevAct], "Prev. active"); \ 00000360 A81F86E2 ADD R1,R6,#+672 \ 00000364 D40D84E2 ADD R0,R4,#+13568 \ 00000368 050080E0 ADD R0,R0,R5 \ 0000036C 1A0000EF SWI +26 213 //================= 214 strcpy(en_lgp[LGP_ChgStatus], "Change Status"); \ 00000370 AC1F86E2 ADD R1,R6,#+688 \ 00000374 D80D84E2 ADD R0,R4,#+13824 \ 00000378 050080E0 ADD R0,R0,R5 \ 0000037C 1A0000EF SWI +26 215 strcpy(en_lgp[LGP_ChgXStatus], "Change X-Status"); \ 00000380 B01F86E2 ADD R1,R6,#+704 \ 00000384 DC0D84E2 ADD R0,R4,#+14080 \ 00000388 050080E0 ADD R0,R0,R5 \ 0000038C 1A0000EF SWI +26 216 217 strcpy(en_lgp[LGP_StOffline], "Offline"); \ 00000390 B41F86E2 ADD R1,R6,#+720 \ 00000394 E00D84E3 ORR R0,R4,#0x3800 \ 00000398 050080E0 ADD R0,R0,R5 \ 0000039C 1A0000EF SWI +26 218 strcpy(en_lgp[LGP_StOnline], "Online"); \ 000003A0 B61F86E2 ADD R1,R6,#+728 \ 000003A4 E40D84E3 ORR R0,R4,#0x3900 \ 000003A8 050080E0 ADD R0,R0,R5 \ 000003AC 1A0000EF SWI +26 219 strcpy(en_lgp[LGP_StAway], "Away"); \ 000003B0 B81F86E2 ADD R1,R6,#+736 \ 000003B4 E80D84E3 ORR R0,R4,#0x3A00 \ 000003B8 050080E0 ADD R0,R0,R5 \ 000003BC 1A0000EF SWI +26 220 strcpy(en_lgp[LGP_StNa], "Not Available"); \ 000003C0 BA1F86E2 ADD R1,R6,#+744 \ 000003C4 EC0D84E3 ORR R0,R4,#0x3B00 \ 000003C8 050080E0 ADD R0,R0,R5 \ 000003CC 1A0000EF SWI +26 221 strcpy(en_lgp[LGP_StDnd], "Do Not Disturb"); \ 000003D0 BE1F86E2 ADD R1,R6,#+760 \ 000003D4 F00D84E2 ADD R0,R4,#+15360 \ 000003D8 050080E0 ADD R0,R0,R5 \ 000003DC 1A0000EF SWI +26 222 strcpy(en_lgp[LGP_StOccup], "Occupied"); \ 000003E0 C21F86E2 ADD R1,R6,#+776 \ 000003E4 F40D84E2 ADD R0,R4,#+15616 \ 000003E8 050080E0 ADD R0,R0,R5 \ 000003EC 1A0000EF SWI +26 223 strcpy(en_lgp[LGP_StFfc], "Free For Chat"); \ 000003F0 C51F86E2 ADD R1,R6,#+788 \ 000003F4 F80D84E2 ADD R0,R4,#+15872 \ 000003F8 050080E0 ADD R0,R0,R5 \ 000003FC 1A0000EF SWI +26 224 strcpy(en_lgp[LGP_StInvis], "Invisible"); \ 00000400 C91F86E2 ADD R1,R6,#+804 \ 00000404 FC0D84E2 ADD R0,R4,#+16128 \ 00000408 050080E0 ADD R0,R0,R5 \ 0000040C 1A0000EF SWI +26 225 strcpy(en_lgp[LGP_StDepression], "Depression"); \ 00000410 CC1F86E2 ADD R1,R6,#+816 \ 00000414 400C84E3 ORR R0,R4,#0x4000 \ 00000418 050080E0 ADD R0,R0,R5 \ 0000041C 1A0000EF SWI +26 226 strcpy(en_lgp[LGP_StEvil], "Evil"); \ 00000420 CF1F86E2 ADD R1,R6,#+828 \ 00000424 410C84E3 ORR R0,R4,#0x4100 \ 00000428 050080E0 ADD R0,R0,R5 \ 0000042C 1A0000EF SWI +26 227 strcpy(en_lgp[LGP_StHome], "Home"); \ 00000430 D11F86E2 ADD R1,R6,#+836 \ 00000434 420C84E3 ORR R0,R4,#0x4200 \ 00000438 050080E0 ADD R0,R0,R5 \ 0000043C 1A0000EF SWI +26 228 strcpy(en_lgp[LGP_StLunch], "Lunch"); \ 00000440 D31F86E2 ADD R1,R6,#+844 \ 00000444 430C84E3 ORR R0,R4,#0x4300 \ 00000448 050080E0 ADD R0,R0,R5 \ 0000044C 1A0000EF SWI +26 229 strcpy(en_lgp[LGP_StWork], "Work"); \ 00000450 D51F86E2 ADD R1,R6,#+852 \ 00000454 440C84E2 ADD R0,R4,#+17408 \ 00000458 050080E0 ADD R0,R0,R5 \ 0000045C 1A0000EF SWI +26 230 231 strcpy(en_lgp[LGP_Comment], "Comment:"); \ 00000460 D71F86E2 ADD R1,R6,#+860 \ 00000464 450C84E2 ADD R0,R4,#+17664 \ 00000468 050080E0 ADD R0,R0,R5 \ 0000046C 000000EA B ??lgpLoadDefault_2 \ ??lgpLoadDefault_1: \ 00000470 3C204300 DC8 "< C" \ ??lgpLoadDefault_2: \ 00000474 1A0000EF SWI +26 232 //================= 233 234 strcpy(en_lgp[LGP_All_Can_See], "Visible for all"); \ 00000478 DA1F86E2 ADD R1,R6,#+872 \ 0000047C 460C84E2 ADD R0,R4,#+17920 \ 00000480 050080E0 ADD R0,R0,R5 \ 00000484 1A0000EF SWI +26 235 strcpy(en_lgp[LGP_Vislist_Can_See], "Visible only for list seeing"); \ 00000488 DE1F86E2 ADD R1,R6,#+888 \ 0000048C 470C84E2 ADD R0,R4,#+18176 \ 00000490 050080E0 ADD R0,R0,R5 \ 00000494 1A0000EF SWI +26 236 strcpy(en_lgp[LGP_Invislist_Cannot_See], "Visible for all, except for list blind"); \ 00000498 E61F86E2 ADD R1,R6,#+920 \ 0000049C 480C84E3 ORR R0,R4,#0x4800 \ 000004A0 050080E0 ADD R0,R0,R5 \ 000004A4 1A0000EF SWI +26 237 strcpy(en_lgp[LGP_ContactList_Can_See], "Visible only for list of contacts"); \ 000004A8 F01F86E2 ADD R1,R6,#+960 \ 000004AC 490C84E3 ORR R0,R4,#0x4900 \ 000004B0 050080E0 ADD R0,R0,R5 \ 000004B4 1A0000EF SWI +26 238 strcpy(en_lgp[LGP_Nobody_Can_See], "Invisible for all"); \ 000004B8 F91F86E2 ADD R1,R6,#+996 \ 000004BC 4A0C84E3 ORR R0,R4,#0x4A00 \ 000004C0 050080E0 ADD R0,R0,R5 \ 000004C4 1A0000EF SWI +26 239 240 strcpy(en_lgp[LGP_EnterName], "Enter a name"); \ 000004C8 FE1F86E2 ADD R1,R6,#+1016 \ 000004CC 4B0C84E3 ORR R0,R4,#0x4B00 \ 000004D0 050080E0 ADD R0,R0,R5 \ 000004D4 1A0000EF SWI +26 241 strcpy(en_lgp[LGP_ChooseGroup], "Choose a group"); \ 000004D8 5C0044E2 SUB R0,R4,#+92 \ 000004DC 061080E0 ADD R1,R0,R6 \ 000004E0 4C0C84E2 ADD R0,R4,#+19456 \ 000004E4 050080E0 ADD R0,R0,R5 \ 000004E8 1A0000EF SWI +26 242 strcpy(en_lgp[LGP_PrivStatus], "Private status"); \ 000004EC 4C0044E2 SUB R0,R4,#+76 \ 000004F0 061080E0 ADD R1,R0,R6 \ 000004F4 4D0C84E2 ADD R0,R4,#+19712 \ 000004F8 050080E0 ADD R0,R0,R5 \ 000004FC 1A0000EF SWI +26 243 strcpy(en_lgp[LGP_ManageList], "Management by list"); \ 00000500 3C0044E2 SUB R0,R4,#+60 \ 00000504 061080E0 ADD R1,R0,R6 \ 00000508 4E0C84E2 ADD R0,R4,#+19968 \ 0000050C 050080E0 ADD R0,R0,R5 \ 00000510 1A0000EF SWI +26 244 245 //================= 246 247 strcpy(en_lgp[LGP_MsgIllegmsgcon], "Illegal message ENIP_SOCK_CONNECTED!"); \ 00000514 280044E2 SUB R0,R4,#+40 \ 00000518 061080E0 ADD R1,R0,R6 \ 0000051C 4F0C84E2 ADD R0,R4,#+20224 \ 00000520 050080E0 ADD R0,R0,R5 \ 00000524 1A0000EF SWI +26 248 strcpy(en_lgp[LGP_MsgIllegmsgrea], "Illegal message ENIP_DATA_READ"); \ 00000528 061084E0 ADD R1,R4,R6 \ 0000052C 500C84E3 ORR R0,R4,#0x5000 \ 00000530 050080E0 ADD R0,R0,R5 \ 00000534 1A0000EF SWI +26 249 strcpy(en_lgp[LGP_MsgCantConn], "Can't connect!"); \ 00000538 200084E2 ADD R0,R4,#+32 \ 0000053C 061080E0 ADD R1,R0,R6 \ 00000540 510C84E3 ORR R0,R4,#0x5100 \ 00000544 050080E0 ADD R0,R0,R5 \ 00000548 1A0000EF SWI +26 250 strcpy(en_lgp[LGP_MsgCantCrSc], "Can't create socket, GPRS restarted!"); \ 0000054C 300084E2 ADD R0,R4,#+48 \ 00000550 061080E0 ADD R1,R0,R6 \ 00000554 520C84E3 ORR R0,R4,#0x5200 \ 00000558 050080E0 ADD R0,R0,R5 \ 0000055C 1A0000EF SWI +26 251 strcpy(en_lgp[LGP_MsgHostNFnd], "Host not found!"); \ 00000560 580084E2 ADD R0,R4,#+88 \ 00000564 061080E0 ADD R1,R0,R6 \ 00000568 530C84E3 ORR R0,R4,#0x5300 \ 0000056C 050080E0 ADD R0,R0,R5 \ 00000570 1A0000EF SWI +26 252 strcpy(en_lgp[LGP_MsgVibraDis], "Vibrà disabled!"); \ 00000574 680084E2 ADD R0,R4,#+104 \ 00000578 061080E0 ADD R1,R0,R6 \ 0000057C 540C84E2 ADD R0,R4,#+21504 \ 00000580 050080E0 ADD R0,R0,R5 \ 00000584 1A0000EF SWI +26 253 strcpy(en_lgp[LGP_MsgVibraEna], "Vibra enabled!"); \ 00000588 780084E2 ADD R0,R4,#+120 \ 0000058C 061080E0 ADD R1,R0,R6 \ 00000590 550C84E2 ADD R0,R4,#+21760 \ 00000594 050080E0 ADD R0,R0,R5 \ 00000598 1A0000EF SWI +26 254 strcpy(en_lgp[LGP_MsgSndDis], "Sounds disabled!"); \ 0000059C 880084E3 ORR R0,R4,#0x88 \ 000005A0 061080E0 ADD R1,R0,R6 \ 000005A4 560C84E2 ADD R0,R4,#+22016 \ 000005A8 050080E0 ADD R0,R0,R5 \ 000005AC 1A0000EF SWI +26 255 strcpy(en_lgp[LGP_MsgSndEna], "Sounds enabled!"); \ 000005B0 501E86E2 ADD R1,R6,#+1280 \ 000005B4 570C84E2 ADD R0,R4,#+22272 \ 000005B8 050080E0 ADD R0,R0,R5 \ 000005BC 1A0000EF SWI +26 256 strcpy(en_lgp[LGP_MsgNoUinPass], "Please setup UIN/PASS!"); \ 000005C0 511E86E2 ADD R1,R6,#+1296 \ 000005C4 580C84E3 ORR R0,R4,#0x5800 \ 000005C8 050080E0 ADD R0,R0,R5 \ 000005CC 1A0000EF SWI +26 257 strcpy(en_lgp[LGP_MsgSmileNotFnd], "Can't find smiles!"); \ 000005D0 C40084E2 ADD R0,R4,#+196 \ 000005D4 061080E0 ADD R1,R0,R6 \ 000005D8 590C84E3 ORR R0,R4,#0x5900 \ 000005DC 050080E0 ADD R0,R0,R5 \ 000005E0 1A0000EF SWI +26 258 259 //================= 260 261 strcpy(en_lgp[LGP_GrsKeyExit], "Exit"); \ 000005E4 0610A0E1 MOV R1,R6 \ 000005E8 5A0C84E3 ORR R0,R4,#0x5A00 \ 000005EC 050080E0 ADD R0,R0,R5 \ 000005F0 1A0000EF SWI +26 262 strcpy(en_lgp[LGP_GrsKeyClist], "Clist"); \ 000005F4 081086E2 ADD R1,R6,#+8 \ 000005F8 5B0C84E3 ORR R0,R4,#0x5B00 \ 000005FC 050080E0 ADD R0,R0,R5 \ 00000600 1A0000EF SWI +26 263 264 strcpy(en_lgp[LGP_LangCode], "en"); \ 00000604 141F8FE2 ADR R1,??lgpLoadDefault_0 ;; "en" \ 00000608 5C0C84E2 ADD R0,R4,#+23552 \ 0000060C 050080E0 ADD R0,R0,R5 \ 00000610 1A0000EF SWI +26 265 266 for(i = 0; i < LGP_DATA_NUM; i++) \ 00000614 0060A0E3 MOV R6,#+0 267 { 268 id = LGPTAGS[i].id; \ ??lgpLoadDefault_3: \ 00000618 860185E0 ADD R0,R5,R6, LSL #+3 \ 0000061C 047090E5 LDR R7,[R0, #+4] 269 if(id <= LGP_DATA_NUM) \ 00000620 5E0057E3 CMP R7,#+94 \ 00000624 080000AA BGE ??lgpLoadDefault_4 270 { 271 lgpData[id] = (char *)malloc(strlen(en_lgp[id]) + 1); \ 00000628 078485E0 ADD R8,R5,R7, LSL #+8 \ 0000062C 080084E0 ADD R0,R4,R8 \ 00000630 1B0000EF SWI +27 \ 00000634 077185E0 ADD R7,R5,R7, LSL #+2 \ 00000638 010080E2 ADD R0,R0,#+1 \ 0000063C 140000EF SWI +20 \ 00000640 F00287E5 STR R0,[R7, #+752] 272 strcpy(lgpData[id], en_lgp[id]); \ 00000644 081084E0 ADD R1,R4,R8 \ 00000648 1A0000EF SWI +26 273 } 274 } \ ??lgpLoadDefault_4: \ 0000064C 016086E2 ADD R6,R6,#+1 \ 00000650 5D0056E3 CMP R6,#+93 \ 00000654 EFFFFFBA BLT ??lgpLoadDefault_3 275 } \ 00000658 F081BDE8 POP {R4-R8,PC} ;; return \ ??lgpLoadDefault_0: \ 0000065C 656E0000 DC8 "en",+0 \ 00000660 ........ DC32 `?` \ In segment DATA_I, align 4, align-sorted \ LGPTAGS: \ 00000000 DS8 752 \ 000002F0 REQUIRE `?` \ lgpData: \ 000002F0 DS8 372 \ 00000464 REQUIRE `?` \ 00000464 DS8 23808 \ 00006164 REQUIRE `?` 276 277 //--------------------------------------------------------------------------- 278 279 \ In segment CODE, align 4, keep-with-next 280 void lgpLoadLangpack() 281 { \ lgpLoadLangpack: \ 00000000 F04F2DE9 PUSH {R4-R11,LR} \ 00000004 42DF4DE2 SUB SP,SP,#+264 \ 00000008 0010A0E3 MOV R1,#+0 \ 0000000C 00108DE5 STR R1,[SP, #+0] 282 int hFile; 283 int size, str_size; 284 unsigned int io_error = 0; 285 char lang_file[256]; 286 char *buf, *b, *e, *c, *str, *tagstr, *lgpstr; 287 int ptr; 288 extern const char TEMPLATES_PATH[64]; 289 strcpy(lang_file,TEMPLATES_PATH); \ 00000010 00129FE5 LDR R1,??lgpLoadLangpack_0 ;; TEMPLATES_PATH \ 00000014 08008DE2 ADD R0,SP,#+8 \ 00000018 1A0000EF SWI +26 290 strcat(lang_file,"\\lang.txt"); \ 0000001C F8119FE5 LDR R1,??lgpLoadLangpack_0+0x4 ;; `?` \ 00000020 08008DE2 ADD R0,SP,#+8 \ 00000024 170000EF SWI +23 291 292 lgpLoadDefault(); \ 00000028 ........ BL lgpLoadDefault 293 294 hFile=fopen(lang_file, A_ReadOnly + A_BIN, P_READ, &io_error); \ 0000002C 0D30A0E1 MOV R3,SP \ 00000030 8020A0E3 MOV R2,#+128 \ 00000034 801CA0E3 MOV R1,#+32768 \ 00000038 08008DE2 ADD R0,SP,#+8 \ 0000003C 0A0000EF SWI +10 \ 00000040 04008DE5 STR R0,[SP, #+4] 295 //hFile=FileOpen("e:\\ARM\\ARM\\NATICQ\\lng.en", fmOpenRead); 296 if(hFile==-1) \ 00000044 010070E3 CMN R0,#+1 \ 00000048 2000000A BEQ ??lgpLoadLangpack_1 297 return; 298 299 size = lseek(hFile, 0, 2, &io_error, &io_error); \ 0000004C 0D00A0E1 MOV R0,SP \ 00000050 01002DE9 PUSH {R0} \ 00000054 08009DE5 LDR R0,[SP, #+8] \ 00000058 04308DE2 ADD R3,SP,#+4 \ 0000005C 0220A0E3 MOV R2,#+2 \ 00000060 0010A0E3 MOV R1,#+0 \ 00000064 0F0000EF SWI +15 \ 00000068 0050A0E1 MOV R5,R0 300 //size = FileSeek(hFile, 0, 2); 301 lseek(hFile, 0, 0, &io_error, &io_error); \ 0000006C 04008DE2 ADD R0,SP,#+4 \ 00000070 01002DE9 PUSH {R0} \ 00000074 0C009DE5 LDR R0,[SP, #+12] \ 00000078 08308DE2 ADD R3,SP,#+8 \ 0000007C 0020A0E3 MOV R2,#+0 \ 00000080 0010A0E3 MOV R1,#+0 \ 00000084 0F0000EF SWI +15 302 //FileSeek(hFile, 0, 0); 303 304 buf = (char*)malloc(size+1); \ 00000088 010085E2 ADD R0,R5,#+1 \ 0000008C 140000EF SWI +20 \ 00000090 0060A0E1 MOV R6,R0 305 306 fread(hFile, buf, size, &io_error); \ 00000094 0C009DE5 LDR R0,[SP, #+12] \ 00000098 08308DE2 ADD R3,SP,#+8 \ 0000009C 0520A0E1 MOV R2,R5 \ 000000A0 0610A0E1 MOV R1,R6 \ 000000A4 0B0000EF SWI +11 307 // FileRead(hFile, buf, size); 308 for(ptr = 0; ptr < size;) \ 000000A8 0070A0E3 MOV R7,#+0 \ 000000AC 010055E3 CMP R5,#+1 \ 000000B0 08D08DE2 ADD SP,SP,#+8 \ 000000B4 1D0000AA BGE ??lgpLoadLangpack_2 309 { 310 b = &(buf[ptr]); 311 for(e = &(buf[ptr]); *e != 0x0D && *e != 0x0A && ptr `: \ 00000000 4C47505F416C DC8 "LGP_AlreadyStarted" \ 726561647953 \ 746172746564 \ 00 \ 00000013 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F436C DC8 "LGP_ClTitle" \ 5469746C6500 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F436C DC8 "LGP_ClT9Inp" \ 5439496E7000 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F436C DC8 "LGP_ClError" \ 4572726F7200 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F436C DC8 "LGP_ClLoopback" \ 4C6F6F706261 \ 636B00 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4772 DC8 "LGP_GroupNotInList" \ 6F75704E6F74 \ 496E4C697374 \ 00 \ 00000013 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D65 DC8 "LGP_Menu" \ 6E7500 \ 00000009 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4F70 DC8 "LGP_Options" \ 74696F6E7300 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F436C DC8 "LGP_Close" \ 6F736500 \ 0000000A 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F436C DC8 "LGP_Clear" \ 65617200 \ 0000000A 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F446F DC8 "LGP_DoIt" \ 497400 \ 00000009 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5061 DC8 "LGP_PasteSm" \ 737465536D00 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5365 DC8 "LGP_Select" \ 6C65637400 \ 0000000B 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5465 DC8 "LGP_Text" \ 787400 \ 00000009 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4261 DC8 "LGP_Back" \ 636B00 \ 00000009 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4164 DC8 "LGP_Add" \ 6400 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4164 DC8 "LGP_AddCnt" \ 64436E7400 \ 0000000B 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F456E DC8 "LGP_EnterUin" \ 74657255696E \ 00 \ 0000000D 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4164 DC8 "LGP_AddRen" \ 6452656E00 \ 0000000B 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4164 DC8 "LGP_AddSmil" \ 64536D696C00 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuQuoteNotFocus" \ 7551756F7465 \ 4E6F74466F63 \ 757300 \ 00000015 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4175 DC8 "LGP_AuthReq" \ 746852657100 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4175 DC8 "LGP_AuthGrant" \ 74684772616E \ 7400 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuStatus" \ 755374617475 \ 7300 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuXStatus" \ 755853746174 \ 757300 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuAddCont" \ 75416464436F \ 6E7400 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuAwayMsg" \ 75417761794D \ 736700 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuVibra" \ 755669627261 \ 00 \ 0000000D 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuSound" \ 75536F756E64 \ 00 \ 0000000D 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuExtSnd" \ 75457874536E \ 6400 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuIndSnd" \ 75496E64536E \ 6400 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuIluMode" \ 75496C754D6F \ 646500 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuIluOnlineMode" \ 75496C754F6E \ 6C696E654D6F \ 646500 \ 00000015 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuSliMode" \ 75536C694D6F \ 646500 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuReminder" \ 7552656D696E \ 64657200 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuPopup" \ 75506F707570 \ 00 \ 0000000D 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuActiveUp" \ 754163746976 \ 65557000 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuShowOff" \ 7553686F774F \ 666600 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuShowGroup" \ 7553686F7747 \ 726F757000 \ 00000011 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuEdCfg" \ 754564436667 \ 00 \ 0000000D 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuDisconnect" \ 75446973636F \ 6E6E65637400 \ 00000012 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuPing" \ 7550696E6700 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuAbout" \ 7541626F7574 \ 00 \ 0000000D 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuQuote" \ 7551756F7465 \ 00 \ 0000000D 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 5C6C616E672E DC8 "\\lang.txt" \ 74787400 \ 0000000A 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuAddSml" \ 75416464536D \ 6C00 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuShInfo" \ 755368496E66 \ 6F00 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuAddRen" \ 754164645265 \ 6E00 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuSAuthReq" \ 755341757468 \ 52657100 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuSAuthGrt" \ 755341757468 \ 47727400 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuOpenLog" \ 754F70656E4C \ 6F6700 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuClearCht" \ 75436C656172 \ 43687400 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuEdNextAct" \ 7545644E6578 \ 7441637400 \ 00000011 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D6E DC8 "LGP_MnuEdPrevAct" \ 754564507265 \ 7641637400 \ 00000011 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4368 DC8 "LGP_ChgStatus" \ 675374617475 \ 7300 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4368 DC8 "LGP_ChgXStatus" \ 675853746174 \ 757300 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StOffline" \ 4F66666C696E \ 6500 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StOnline" \ 4F6E6C696E65 \ 00 \ 0000000D 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StAway" \ 4177617900 \ 0000000B 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StNa" \ 4E6100 \ 00000009 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StDnd" \ 446E6400 \ 0000000A 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StOccup" \ 4F6363757000 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StFfc" \ 46666300 \ 0000000A 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StInvis" \ 496E76697300 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StDepression" \ 446570726573 \ 73696F6E00 \ 00000011 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StEvil" \ 4576696C00 \ 0000000B 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StHome" \ 486F6D6500 \ 0000000B 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StLunch" \ 4C756E636800 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5374 DC8 "LGP_StWork" \ 576F726B00 \ 0000000B 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F436F DC8 "LGP_Comment" \ 6D6D656E7400 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F416C DC8 "LGP_All_Can_See" \ 6C5F43616E5F \ 53656500 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5669 DC8 "LGP_Vislist_Can_See" \ 736C6973745F \ 43616E5F5365 \ 6500 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F496E DC8 "LGP_Invislist_Cannot_See" \ 7669736C6973 \ 745F43616E6E \ 6F745F536565 \ 00 \ 00000019 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F436F DC8 "LGP_ContactList_Can_See" \ 6E746163744C \ 6973745F4361 \ 6E5F53656500 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4E6F DC8 "LGP_Nobody_Can_See" \ 626F64795F43 \ 616E5F536565 \ 00 \ 00000013 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F456E DC8 "LGP_EnterName" \ 7465724E616D \ 6500 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4368 DC8 "LGP_ChooseGroup" \ 6F6F73654772 \ 6F757000 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F5072 DC8 "LGP_PrivStatus" \ 697653746174 \ 757300 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D61 DC8 "LGP_ManageList" \ 6E6167654C69 \ 737400 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D73 DC8 "LGP_MsgIllegmsgcon" \ 67496C6C6567 \ 6D7367636F6E \ 00 \ 00000013 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D73 DC8 "LGP_MsgIllegmsgrea" \ 67496C6C6567 \ 6D7367726561 \ 00 \ 00000013 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D73 DC8 "LGP_MsgCantConn" \ 6743616E7443 \ 6F6E6E00 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D73 DC8 "LGP_MsgCantCrSc" \ 6743616E7443 \ 72536300 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D73 DC8 "LGP_MsgHostNFnd" \ 67486F73744E \ 466E6400 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D73 DC8 "LGP_MsgVibraDis" \ 675669627261 \ 44697300 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D73 DC8 "LGP_MsgVibraEna" \ 675669627261 \ 456E6100 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D73 DC8 "LGP_MsgSndDis" \ 67536E644469 \ 7300 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D73 DC8 "LGP_MsgSndEna" \ 67536E64456E \ 6100 \ 0000000E 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D73 DC8 "LGP_MsgNoUinPass" \ 674E6F55696E \ 5061737300 \ 00000011 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4D73 DC8 "LGP_MsgSmileNotFnd" \ 67536D696C65 \ 4E6F74466E64 \ 00 \ 00000013 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4772 DC8 "LGP_GrsKeyExit" \ 734B65794578 \ 697400 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4772 DC8 "LGP_GrsKeyClist" \ 734B6579436C \ 69737400 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4C61 DC8 "LGP_LangCode" \ 6E67436F6465 \ 00 \ 0000000D 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4C47505F4441 DC8 "LGP_DATA_NUM" \ 54415F4E554D \ 00 \ 0000000D 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ 00000000 3C204300 DC8 "< C" 356 //--------------------------------------------------------------------------- Maximum stack usage in bytes: Function CSTACK -------- ------ lgpFreeLangPack 8 lgpLoadDefault 24 lgpLoadLangpack 308 lgpModifyLGPString 20 Segment part sizes: Function/Label Bytes -------------- ----- lgpLoaded 4 loaded 4 lgpModifyLGPString 124 lgpLoadDefault 1636 LGPTAGS 24932 lgpLoadLangpack 544 lgpFreeLangPack 56 ??DataTable2 4 ? 24932 ? 12 ? 1340 ? 3 ? 20 ? 12 ? 12 ? 12 ? 16 ? 20 ? 12 ? 12 ? 12 ? 12 ? 12 ? 12 ? 12 ? 12 ? 12 ? 8 ? 12 ? 16 ? 12 ? 12 ? 24 ? 12 ? 16 ? 16 ? 16 ? 16 ? 16 ? 16 ? 16 ? 16 ? 16 ? 16 ? 24 ? 16 ? 16 ? 16 ? 16 ? 16 ? 20 ? 16 ? 20 ? 12 ? 16 ? 16 ? 12 ? 16 ? 16 ? 16 ? 16 ? 16 ? 16 ? 16 ? 20 ? 20 ? 16 ? 16 ? 16 ? 16 ? 12 ? 12 ? 12 ? 12 ? 12 ? 12 ? 20 ? 12 ? 12 ? 12 ? 12 ? 12 ? 16 ? 20 ? 28 ? 24 ? 20 ? 16 ? 16 ? 16 ? 16 ? 20 ? 20 ? 16 ? 16 ? 16 ? 16 ? 16 ? 16 ? 16 ? 20 ? 20 ? 16 ? 16 ? 16 ? 16 ? 4 Others 52 2 392 bytes in segment CODE 2 827 bytes in segment DATA_C 24 932 bytes in segment DATA_I 24 932 bytes in segment DATA_ID 8 bytes in segment DATA_Z 24 bytes in segment INITTAB 2 364 bytes of CODE memory (+ 52 bytes shared) 27 759 bytes of CONST memory 24 940 bytes of DATA memory Errors: none Warnings: none