############################################################################## # # # IAR ARM ANSI C/C++ Compiler V4.40A/W32 EVALUATION 26/Mar/2008 16:43:21 # # Copyright 1999-2005 IAR Systems. All rights reserved. # # # # Cpu mode = interwork # # Endian = little # # Stack alignment = 4 # # Source file = E:\Ivo\arm\IVOPLAY\medialibrary.c # # Command line = E:\Ivo\arm\IVOPLAY\medialibrary.c -D X75 -lC # # E:\Ivo\arm\IVOPLAY\ReleaseX75\List\ -lA # # E:\Ivo\arm\IVOPLAY\ReleaseX75\List\ -o # # E:\Ivo\arm\IVOPLAY\ReleaseX75\Obj\ -s9 --no_cse # # --no_unroll --no_inline --no_code_motion --no_tbaa # # --no_clustering --no_scheduling --cpu_mode arm # # --endian little --cpu ARM926EJ-S --stack_align 4 # # --interwork -e --fpu None --dlib_config # # D:\arm\ARM\LIB\dl5tpainl8n.h -I D:\arm\ARM\INC\ # # List file = E:\Ivo\arm\IVOPLAY\ReleaseX75\List\medialibrary.lst # # Object file = E:\Ivo\arm\IVOPLAY\ReleaseX75\Obj\medialibrary.r79 # # # # # ############################################################################## E:\Ivo\arm\IVOPLAY\medialibrary.c 1 #include "../inc/swilib.h" 2 #include "conf_loader.h" 3 #include "main.h" 4 \ In segment DATA_Z, align 4, align-sorted 5 char nname[256]; \ nname: \ 00000000 DS8 256 6 extern const char format_1[4],format_2[4],format_3[4],format_4[4]; 7 \ In segment CODE, align 4, keep-with-next 8 void BEER(char *foldeer) 9 { \ BEER: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 EADF4DE2 SUB SP,SP,#+936 10 DIR_ENTRY de; 11 unsigned int err; 12 char path[128],ddd[320]; 13 sprintf(path,"%s\\*",foldeer); \ 00000008 0020A0E1 MOV R2,R0 \ 0000000C 58119FE5 LDR R1,??BEER_0+0x4 ;; `?` \ 00000010 C00F8DE2 ADD R0,SP,#+768 \ 00000014 160000EF SWI +22 14 path[0]='0'; \ 00000018 3010A0E3 MOV R1,#+48 \ 0000001C 0013CDE5 STRB R1,[SP, #+768] 15 FSTATS stat; 16 if (FindFirstFile(&de,path,&err)) \ 00000020 0D20A0E1 MOV R2,SP \ 00000024 C01F8DE2 ADD R1,SP,#+768 \ 00000028 08008DE2 ADD R0,SP,#+8 \ 0000002C 6B0000EF SWI +107 \ 00000030 000050E3 CMP R0,#+0 \ 00000034 4600000A BEQ ??BEER_1 17 { 18 do 19 { 20 if (!IsFile(de.file_name)) \ ??BEER_2: \ 00000038 B1008DE2 ADD R0,SP,#+177 \ 0000003C ........ _BLF IsFile,??IsFile??rA \ 00000040 000050E3 CMP R0,#+0 \ 00000044 B1308DE2 ADD R3,SP,#+177 \ 00000048 30208DE2 ADD R2,SP,#+48 \ 0000004C ........ LDR R1,??DataTable2 ;; `?` \ 00000050 700F8DE2 ADD R0,SP,#+448 \ 00000054 0600001A BNE ??BEER_3 21 { 22 sprintf(ddd,"%s\\%s",de.folder_name,de.file_name); \ 00000058 160000EF SWI +22 23 BEER(ddd); \ 0000005C 700F8DE2 ADD R0,SP,#+448 \ 00000060 E6FFFFEB BL BEER 24 rmdir(ddd,&err); \ 00000064 0D10A0E1 MOV R1,SP \ 00000068 700F8DE2 ADD R0,SP,#+448 \ 0000006C 8F0000EF SWI +143 \ 00000070 320000EA B ??BEER_4 25 } 26 else 27 { 28 sprintf(ddd,"%s\\%s",de.folder_name,de.file_name); \ ??BEER_3: \ 00000074 160000EF SWI +22 29 ddd[0]='4'; \ 00000078 3410A0E3 MOV R1,#+52 \ 0000007C C011CDE5 STRB R1,[SP, #+448] 30 char extension[3]; 31 sprintf(extension,"%c%c%c",de.file_name[strlen(de.file_name)-3],de.file_name[strlen(de.file_name)-2],de.file_name[strlen(de.file_name)-1]); \ 00000080 B1008DE2 ADD R0,SP,#+177 \ 00000084 1B0000EF SWI +27 \ 00000088 0040A0E1 MOV R4,R0 \ 0000008C B1008DE2 ADD R0,SP,#+177 \ 00000090 1B0000EF SWI +27 \ 00000094 0050A0E1 MOV R5,R0 \ 00000098 B1008DE2 ADD R0,SP,#+177 \ 0000009C 1B0000EF SWI +27 \ 000000A0 08108DE2 ADD R1,SP,#+8 \ 000000A4 011084E0 ADD R1,R4,R1 \ 000000A8 A810D1E5 LDRB R1,[R1, #+168] \ 000000AC 02002DE9 PUSH {R1} \ 000000B0 0C108DE2 ADD R1,SP,#+12 \ 000000B4 011085E0 ADD R1,R5,R1 \ 000000B8 A730D1E5 LDRB R3,[R1, #+167] \ 000000BC 0C108DE2 ADD R1,SP,#+12 \ 000000C0 010080E0 ADD R0,R0,R1 \ 000000C4 A620D0E5 LDRB R2,[R0, #+166] \ 000000C8 ........ LDR R1,??DataTable3 ;; `?` \ 000000CC 08008DE2 ADD R0,SP,#+8 \ 000000D0 160000EF SWI +22 32 if (strcmp_nocase(extension,"imy")==0) \ 000000D4 231F8FE2 ADR R1,??BEER_0 ;; "imy" \ 000000D8 08008DE2 ADD R0,SP,#+8 \ 000000DC ........ _BLF strcmp_nocase,??strcmp_nocase??rA \ 000000E0 000050E3 CMP R0,#+0 \ 000000E4 04D08DE2 ADD SP,SP,#+4 ;; stack cleaning \ 000000E8 1400001A BNE ??BEER_4 33 { 34 ddd[strlen(ddd)-4]=0; \ 000000EC 700F8DE2 ADD R0,SP,#+448 \ 000000F0 1B0000EF SWI +27 \ 000000F4 701F8DE2 ADD R1,SP,#+448 \ 000000F8 010080E0 ADD R0,R0,R1 \ 000000FC 0010A0E3 MOV R1,#+0 \ 00000100 041040E5 STRB R1,[R0, #-4] 35 if (GetFileStats(ddd, &stat, &err)) \ 00000104 0D20A0E1 MOV R2,SP \ 00000108 E01F8DE2 ADD R1,SP,#+896 \ 0000010C 700F8DE2 ADD R0,SP,#+448 \ 00000110 840000EF SWI +132 \ 00000114 000050E3 CMP R0,#+0 \ 00000118 0800000A BEQ ??BEER_4 36 { 37 ddd[0]='0'; \ 0000011C 3010A0E3 MOV R1,#+48 \ 00000120 C011CDE5 STRB R1,[SP, #+448] 38 sprintf(ddd,"%s.imy",ddd); \ 00000124 702F8DE2 ADD R2,SP,#+448 \ 00000128 40109FE5 LDR R1,??BEER_0+0x8 ;; `?` \ 0000012C 700F8DE2 ADD R0,SP,#+448 \ 00000130 160000EF SWI +22 39 unlink(ddd,&err); \ 00000134 0D10A0E1 MOV R1,SP \ 00000138 700F8DE2 ADD R0,SP,#+448 \ 0000013C 6B0100EF SWI +363 40 } 41 } 42 } 43 } 44 while(FindNextFile(&de,&err)); \ ??BEER_4: \ 00000140 0D10A0E1 MOV R1,SP \ 00000144 08008DE2 ADD R0,SP,#+8 \ 00000148 6C0000EF SWI +108 \ 0000014C 000050E3 CMP R0,#+0 \ 00000150 B8FFFF1A BNE ??BEER_2 45 } 46 FindClose(&de,&err); \ ??BEER_1: \ 00000154 0D10A0E1 MOV R1,SP \ 00000158 08008DE2 ADD R0,SP,#+8 \ 0000015C 6D0000EF SWI +109 47 } \ 00000160 EADF8DE2 ADD SP,SP,#+936 ;; stack cleaning \ 00000164 3080BDE8 POP {R4,R5,PC} ;; return \ ??BEER_0: \ 00000168 696D7900 DC8 "imy" \ 0000016C ........ DC32 `?` \ 00000170 ........ DC32 `?` 48 \ In segment CODE, align 4, keep-with-next 49 int CreateMediaLibrary(char *foldeer) 50 { \ CreateMediaLibrary: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 E0DF4DE2 SUB SP,SP,#+896 51 DIR_ENTRY de; 52 unsigned int err; 53 int f; 54 char path[128],ddd[320]; 55 sprintf(path,"%s%c",foldeer,'\\'); \ 00000008 5C30A0E3 MOV R3,#+92 \ 0000000C 0020A0E1 MOV R2,R0 \ 00000010 90119FE5 LDR R1,??CreateMediaLibrary_0+0x4 ;; `?` \ 00000014 C00F8DE2 ADD R0,SP,#+768 \ 00000018 160000EF SWI +22 56 strcpy(nname,path); \ 0000001C C01F8DE2 ADD R1,SP,#+768 \ 00000020 84019FE5 LDR R0,??CreateMediaLibrary_0+0x8 ;; nname \ 00000024 1A0000EF SWI +26 57 strcat(nname,"*"); \ 00000028 5D1F8FE2 ADR R1,??CreateMediaLibrary_0 ;; "*" \ 0000002C 78019FE5 LDR R0,??CreateMediaLibrary_0+0x8 ;; nname \ 00000030 170000EF SWI +23 58 if (FindFirstFile(&de,nname,&err)) \ 00000034 0D20A0E1 MOV R2,SP \ 00000038 6C119FE5 LDR R1,??CreateMediaLibrary_0+0x8 ;; nname \ 0000003C 08008DE2 ADD R0,SP,#+8 \ 00000040 6B0000EF SWI +107 \ 00000044 000050E3 CMP R0,#+0 \ 00000048 4F00000A BEQ ??CreateMediaLibrary_1 59 { 60 do 61 { 62 if (!IsFile(de.file_name)) \ ??CreateMediaLibrary_2: \ 0000004C B1008DE2 ADD R0,SP,#+177 \ 00000050 ........ _BLF IsFile,??IsFile??rA \ 00000054 000050E3 CMP R0,#+0 \ 00000058 0E00001A BNE ??CreateMediaLibrary_3 63 { 64 sprintf(ddd,"%s\\%s",de.folder_name,de.file_name); \ 0000005C B1308DE2 ADD R3,SP,#+177 \ 00000060 30208DE2 ADD R2,SP,#+48 \ 00000064 ........ LDR R1,??DataTable2 ;; `?` \ 00000068 700F8DE2 ADD R0,SP,#+448 \ 0000006C 160000EF SWI +22 65 ddd[0]='0'; \ 00000070 3010A0E3 MOV R1,#+48 \ 00000074 C011CDE5 STRB R1,[SP, #+448] 66 mkdir(ddd,&err); \ 00000078 0D10A0E1 MOV R1,SP \ 0000007C 700F8DE2 ADD R0,SP,#+448 \ 00000080 100000EF SWI +16 67 ddd[0]='4'; \ 00000084 3410A0E3 MOV R1,#+52 \ 00000088 C011CDE5 STRB R1,[SP, #+448] 68 CreateMediaLibrary(ddd); \ 0000008C 700F8DE2 ADD R0,SP,#+448 \ 00000090 DAFFFFEB BL CreateMediaLibrary \ 00000094 370000EA B ??CreateMediaLibrary_4 69 } 70 else 71 { 72 char extension[3]; 73 sprintf(extension,"%c%c%c",de.file_name[strlen(de.file_name)-3],de.file_name[strlen(de.file_name)-2],de.file_name[strlen(de.file_name)-1]); \ ??CreateMediaLibrary_3: \ 00000098 B1008DE2 ADD R0,SP,#+177 \ 0000009C 1B0000EF SWI +27 \ 000000A0 0040A0E1 MOV R4,R0 \ 000000A4 B1008DE2 ADD R0,SP,#+177 \ 000000A8 1B0000EF SWI +27 \ 000000AC 0050A0E1 MOV R5,R0 \ 000000B0 B1008DE2 ADD R0,SP,#+177 \ 000000B4 1B0000EF SWI +27 \ 000000B8 08108DE2 ADD R1,SP,#+8 \ 000000BC 011084E0 ADD R1,R4,R1 \ 000000C0 A810D1E5 LDRB R1,[R1, #+168] \ 000000C4 02002DE9 PUSH {R1} \ 000000C8 0C108DE2 ADD R1,SP,#+12 \ 000000CC 011085E0 ADD R1,R5,R1 \ 000000D0 A730D1E5 LDRB R3,[R1, #+167] \ 000000D4 0C108DE2 ADD R1,SP,#+12 \ 000000D8 010080E0 ADD R0,R0,R1 \ 000000DC A620D0E5 LDRB R2,[R0, #+166] \ 000000E0 ........ LDR R1,??DataTable3 ;; `?` \ 000000E4 08008DE2 ADD R0,SP,#+8 \ 000000E8 160000EF SWI +22 74 if ((strcmp_nocase(extension,format_1)==0)||(strcmp_nocase(extension,format_2)==0)||(strcmp_nocase(extension,format_3)==0)||(strcmp_nocase(extension,format_4)==0)) \ 000000EC BC109FE5 LDR R1,??CreateMediaLibrary_0+0xC ;; format_1 \ 000000F0 08008DE2 ADD R0,SP,#+8 \ 000000F4 ........ _BLF strcmp_nocase,??strcmp_nocase??rA \ 000000F8 000050E3 CMP R0,#+0 \ 000000FC 04D08DE2 ADD SP,SP,#+4 ;; stack cleaning \ 00000100 0E00000A BEQ ??CreateMediaLibrary_5 \ 00000104 A8109FE5 LDR R1,??CreateMediaLibrary_0+0x10 ;; format_2 \ 00000108 04008DE2 ADD R0,SP,#+4 \ 0000010C ........ _BLF strcmp_nocase,??strcmp_nocase??rA \ 00000110 000050E3 CMP R0,#+0 \ 00000114 0900000A BEQ ??CreateMediaLibrary_5 \ 00000118 98109FE5 LDR R1,??CreateMediaLibrary_0+0x14 ;; format_3 \ 0000011C 04008DE2 ADD R0,SP,#+4 \ 00000120 ........ _BLF strcmp_nocase,??strcmp_nocase??rA \ 00000124 000050E3 CMP R0,#+0 \ 00000128 0400000A BEQ ??CreateMediaLibrary_5 \ 0000012C 88109FE5 LDR R1,??CreateMediaLibrary_0+0x18 ;; format_4 \ 00000130 04008DE2 ADD R0,SP,#+4 \ 00000134 ........ _BLF strcmp_nocase,??strcmp_nocase??rA \ 00000138 000050E3 CMP R0,#+0 \ 0000013C 0D00001A BNE ??CreateMediaLibrary_4 75 { 76 sprintf(ddd,"%s\\%s.imy",de.folder_name,de.file_name); \ ??CreateMediaLibrary_5: \ 00000140 B1308DE2 ADD R3,SP,#+177 \ 00000144 30208DE2 ADD R2,SP,#+48 \ 00000148 70109FE5 LDR R1,??CreateMediaLibrary_0+0x1C ;; `?` \ 0000014C 700F8DE2 ADD R0,SP,#+448 \ 00000150 160000EF SWI +22 77 ddd[0]='0'; \ 00000154 3010A0E3 MOV R1,#+48 \ 00000158 C011CDE5 STRB R1,[SP, #+448] 78 f=fopen(ddd, A_WriteOnly+A_Create, P_WRITE, & err ); \ 0000015C 0D30A0E1 MOV R3,SP \ 00000160 402FA0E3 MOV R2,#+256 \ 00000164 D11081E2 ADD R1,R1,#+209 \ 00000168 700F8DE2 ADD R0,SP,#+448 \ 0000016C 0A0000EF SWI +10 79 fclose(f,&err); \ 00000170 0D10A0E1 MOV R1,SP \ 00000174 0D0000EF SWI +13 80 } 81 } 82 } 83 while(FindNextFile(&de,&err)); \ ??CreateMediaLibrary_4: \ 00000178 0D10A0E1 MOV R1,SP \ 0000017C 08008DE2 ADD R0,SP,#+8 \ 00000180 6C0000EF SWI +108 \ 00000184 000050E3 CMP R0,#+0 \ 00000188 AFFFFF1A BNE ??CreateMediaLibrary_2 84 } 85 FindClose(&de,&err); \ ??CreateMediaLibrary_1: \ 0000018C 0D10A0E1 MOV R1,SP \ 00000190 08008DE2 ADD R0,SP,#+8 \ 00000194 6D0000EF SWI +109 86 return(0); \ 00000198 0000A0E3 MOV R0,#+0 \ 0000019C E0DF8DE2 ADD SP,SP,#+896 ;; stack cleaning \ 000001A0 3080BDE8 POP {R4,R5,PC} ;; return \ ??CreateMediaLibrary_0: \ 000001A4 2A000000 DC8 "*",+0,+0 \ 000001A8 ........ DC32 `?` \ 000001AC ........ DC32 nname \ 000001B0 ........ DC32 format_1 \ 000001B4 ........ DC32 format_2 \ 000001B8 ........ DC32 format_3 \ 000001BC ........ DC32 format_4 \ 000001C0 ........ DC32 `?` 87 } \ In segment CODE, align 4, keep-with-next \ ??DataTable2: \ 00000000 ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ ??DataTable3: \ 00000000 ........ DC32 `?` \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 25735C2A00 DC8 "%s\\*" \ 00000005 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 25735C257300 DC8 "%s\\%s" \ 00000006 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 256325632563 DC8 "%c%c%c" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 25732E696D79 DC8 "%s.imy" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ 00000000 696D7900 DC8 "imy" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 2573256300 DC8 "%s%c" \ 00000005 000000 DC8 0, 0, 0 \ In segment DATA_C, align 1, align-sorted \ 00000000 2A00 DC8 "*" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 25735C25732E DC8 "%s\\%s.imy" \ 696D7900 \ 0000000A 0000 DC8 0, 0 Maximum stack usage in bytes: Function CSTACK -------- ------ BEER 952 CreateMediaLibrary 912 Segment part sizes: Function/Label Bytes -------------- ----- nname 256 BEER 372 CreateMediaLibrary 452 ??DataTable2 4 ??DataTable3 4 ? 8 ? 8 ? 8 ? 8 ? 4 ? 8 ? 2 ? 12 Others 44 864 bytes in segment CODE 58 bytes in segment DATA_C 256 bytes in segment DATA_Z 12 bytes in segment INITTAB 832 bytes of CODE memory (+ 44 bytes shared) 58 bytes of CONST memory 256 bytes of DATA memory Errors: none Warnings: none