############################################################################## # # # IAR ARM ANSI C/C++ Compiler V4.40A/W32 EVALUATION 28/Mar/2008 19:05:03 # # 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 NEWSGOLD -lC # # E:\Ivo\arm\IVOPLAY\NewSGold\List\ -lA # # E:\Ivo\arm\IVOPLAY\NewSGold\List\ -o # # E:\Ivo\arm\IVOPLAY\NewSGold\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\NewSGold\List\medialibrary.lst # # Object file = E:\Ivo\arm\IVOPLAY\NewSGold\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 4DDF4DE2 SUB SP,SP,#+308 \ 00000008 40DE4DE2 SUB SP,SP,#+1024 10 DIR_ENTRY de; 11 unsigned int err; 12 char path[128],ddd[320]; 13 sprintf(path,"%s\\*",foldeer); \ 0000000C 0020A0E1 MOV R2,R0 \ 00000010 68119FE5 LDR R1,??BEER_0+0x4 ;; `?` \ 00000014 8C008DE2 ADD R0,SP,#+140 \ 00000018 400E80E2 ADD R0,R0,#+1024 \ 0000001C 160000EF SWI +22 14 path[0]='0'; \ 00000020 3010A0E3 MOV R1,#+48 \ 00000024 8C14CDE5 STRB R1,[SP, #+1164] 15 FSTATS stat; 16 if (FindFirstFile(&de,path,&err)) \ 00000028 0D20A0E1 MOV R2,SP \ 0000002C 8C108DE2 ADD R1,SP,#+140 \ 00000030 401E81E2 ADD R1,R1,#+1024 \ 00000034 08008DE2 ADD R0,SP,#+8 \ 00000038 6B0000EF SWI +107 \ 0000003C 000050E3 CMP R0,#+0 \ 00000040 4700000A BEQ ??BEER_1 17 { 18 do 19 { 20 if (!IsFile(de.file_name)) \ ??BEER_2: \ 00000044 BD008DE2 ADD R0,SP,#+189 \ 00000048 ........ _BLF IsFile,??IsFile??rA \ 0000004C 000050E3 CMP R0,#+0 \ 00000050 BD308DE2 ADD R3,SP,#+189 \ 00000054 3C208DE2 ADD R2,SP,#+60 \ 00000058 ........ LDR R1,??DataTable2 ;; `?` \ 0000005C D30F8DE2 ADD R0,SP,#+844 \ 00000060 0600001A BNE ??BEER_3 21 { 22 sprintf(ddd,"%s\\%s",de.folder_name,de.file_name); \ 00000064 160000EF SWI +22 23 BEER(ddd); \ 00000068 D30F8DE2 ADD R0,SP,#+844 \ 0000006C E3FFFFEB BL BEER 24 rmdir(ddd,&err); \ 00000070 0D10A0E1 MOV R1,SP \ 00000074 D30F8DE2 ADD R0,SP,#+844 \ 00000078 8F0000EF SWI +143 \ 0000007C 330000EA B ??BEER_4 25 } 26 else 27 { 28 sprintf(ddd,"%s\\%s",de.folder_name,de.file_name); \ ??BEER_3: \ 00000080 160000EF SWI +22 29 ddd[0]='4'; \ 00000084 3410A0E3 MOV R1,#+52 \ 00000088 4C13CDE5 STRB R1,[SP, #+844] 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]); \ 0000008C BD008DE2 ADD R0,SP,#+189 \ 00000090 1B0000EF SWI +27 \ 00000094 0040A0E1 MOV R4,R0 \ 00000098 BD008DE2 ADD R0,SP,#+189 \ 0000009C 1B0000EF SWI +27 \ 000000A0 0050A0E1 MOV R5,R0 \ 000000A4 BD008DE2 ADD R0,SP,#+189 \ 000000A8 1B0000EF SWI +27 \ 000000AC 08108DE2 ADD R1,SP,#+8 \ 000000B0 011084E0 ADD R1,R4,R1 \ 000000B4 B410D1E5 LDRB R1,[R1, #+180] \ 000000B8 02002DE9 PUSH {R1} \ 000000BC 0C108DE2 ADD R1,SP,#+12 \ 000000C0 011085E0 ADD R1,R5,R1 \ 000000C4 B330D1E5 LDRB R3,[R1, #+179] \ 000000C8 0C108DE2 ADD R1,SP,#+12 \ 000000CC 010080E0 ADD R0,R0,R1 \ 000000D0 B220D0E5 LDRB R2,[R0, #+178] \ 000000D4 ........ LDR R1,??DataTable3 ;; `?` \ 000000D8 08008DE2 ADD R0,SP,#+8 \ 000000DC 160000EF SWI +22 32 if (strcmp_nocase(extension,"imy")==0) \ 000000E0 251F8FE2 ADR R1,??BEER_0 ;; "imy" \ 000000E4 08008DE2 ADD R0,SP,#+8 \ 000000E8 ........ _BLF strcmp_nocase,??strcmp_nocase??rA \ 000000EC 000050E3 CMP R0,#+0 \ 000000F0 04D08DE2 ADD SP,SP,#+4 ;; stack cleaning \ 000000F4 1500001A BNE ??BEER_4 33 { 34 ddd[strlen(ddd)-4]=0; \ 000000F8 D30F8DE2 ADD R0,SP,#+844 \ 000000FC 1B0000EF SWI +27 \ 00000100 D31F8DE2 ADD R1,SP,#+844 \ 00000104 010080E0 ADD R0,R0,R1 \ 00000108 0010A0E3 MOV R1,#+0 \ 0000010C 041040E5 STRB R1,[R0, #-4] 35 if (GetFileStats(ddd, &stat, &err)) \ 00000110 0D20A0E1 MOV R2,SP \ 00000114 431F8DE2 ADD R1,SP,#+268 \ 00000118 401E81E2 ADD R1,R1,#+1024 \ 0000011C D30F8DE2 ADD R0,SP,#+844 \ 00000120 840000EF SWI +132 \ 00000124 000050E3 CMP R0,#+0 \ 00000128 0800000A BEQ ??BEER_4 36 { 37 ddd[0]='0'; \ 0000012C 3010A0E3 MOV R1,#+48 \ 00000130 4C13CDE5 STRB R1,[SP, #+844] 38 sprintf(ddd,"%s.imy",ddd); \ 00000134 D32F8DE2 ADD R2,SP,#+844 \ 00000138 44109FE5 LDR R1,??BEER_0+0x8 ;; `?` \ 0000013C D30F8DE2 ADD R0,SP,#+844 \ 00000140 160000EF SWI +22 39 unlink(ddd,&err); \ 00000144 0D10A0E1 MOV R1,SP \ 00000148 D30F8DE2 ADD R0,SP,#+844 \ 0000014C 6B0100EF SWI +363 40 } 41 } 42 } 43 } 44 while(FindNextFile(&de,&err)); \ ??BEER_4: \ 00000150 0D10A0E1 MOV R1,SP \ 00000154 08008DE2 ADD R0,SP,#+8 \ 00000158 6C0000EF SWI +108 \ 0000015C 000050E3 CMP R0,#+0 \ 00000160 B7FFFF1A BNE ??BEER_2 45 } 46 FindClose(&de,&err); \ ??BEER_1: \ 00000164 0D10A0E1 MOV R1,SP \ 00000168 08008DE2 ADD R0,SP,#+8 \ 0000016C 6D0000EF SWI +109 47 } \ 00000170 4DDF8DE2 ADD SP,SP,#+308 ;; stack cleaning \ 00000174 40DE8DE2 ADD SP,SP,#+1024 \ 00000178 3080BDE8 POP {R4,R5,PC} ;; return \ ??BEER_0: \ 0000017C 696D7900 DC8 "imy" \ 00000180 ........ DC32 `?` \ 00000184 ........ DC32 `?` 48 \ In segment CODE, align 4, keep-with-next 49 int CreateMediaLibrary(char *foldeer) 50 { \ CreateMediaLibrary: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 43DF4DE2 SUB SP,SP,#+268 \ 00000008 40DE4DE2 SUB SP,SP,#+1024 51 DIR_ENTRY de; 52 unsigned int err; 53 int f; 54 char path[128],ddd[320]; 55 sprintf(path,"%s%c",foldeer,'\\'); \ 0000000C 5C30A0E3 MOV R3,#+92 \ 00000010 0020A0E1 MOV R2,R0 \ 00000014 9C119FE5 LDR R1,??CreateMediaLibrary_0+0x4 ;; `?` \ 00000018 8C008DE2 ADD R0,SP,#+140 \ 0000001C 400E80E2 ADD R0,R0,#+1024 \ 00000020 160000EF SWI +22 56 strcpy(nname,path); \ 00000024 8C108DE2 ADD R1,SP,#+140 \ 00000028 401E81E2 ADD R1,R1,#+1024 \ 0000002C 88019FE5 LDR R0,??CreateMediaLibrary_0+0x8 ;; nname \ 00000030 1A0000EF SWI +26 57 strcat(nname,"*"); \ 00000034 5E1F8FE2 ADR R1,??CreateMediaLibrary_0 ;; "*" \ 00000038 7C019FE5 LDR R0,??CreateMediaLibrary_0+0x8 ;; nname \ 0000003C 170000EF SWI +23 58 if (FindFirstFile(&de,nname,&err)) \ 00000040 0D20A0E1 MOV R2,SP \ 00000044 70119FE5 LDR R1,??CreateMediaLibrary_0+0x8 ;; nname \ 00000048 08008DE2 ADD R0,SP,#+8 \ 0000004C 6B0000EF SWI +107 \ 00000050 000050E3 CMP R0,#+0 \ 00000054 4F00000A BEQ ??CreateMediaLibrary_1 59 { 60 do 61 { 62 if (!IsFile(de.file_name)) \ ??CreateMediaLibrary_2: \ 00000058 BD008DE2 ADD R0,SP,#+189 \ 0000005C ........ _BLF IsFile,??IsFile??rA \ 00000060 000050E3 CMP R0,#+0 \ 00000064 0E00001A BNE ??CreateMediaLibrary_3 63 { 64 sprintf(ddd,"%s\\%s",de.folder_name,de.file_name); \ 00000068 BD308DE2 ADD R3,SP,#+189 \ 0000006C 3C208DE2 ADD R2,SP,#+60 \ 00000070 ........ LDR R1,??DataTable2 ;; `?` \ 00000074 D30F8DE2 ADD R0,SP,#+844 \ 00000078 160000EF SWI +22 65 ddd[0]='0'; \ 0000007C 3010A0E3 MOV R1,#+48 \ 00000080 4C13CDE5 STRB R1,[SP, #+844] 66 mkdir(ddd,&err); \ 00000084 0D10A0E1 MOV R1,SP \ 00000088 D30F8DE2 ADD R0,SP,#+844 \ 0000008C 100000EF SWI +16 67 ddd[0]='4'; \ 00000090 3410A0E3 MOV R1,#+52 \ 00000094 4C13CDE5 STRB R1,[SP, #+844] 68 CreateMediaLibrary(ddd); \ 00000098 D30F8DE2 ADD R0,SP,#+844 \ 0000009C D7FFFFEB BL CreateMediaLibrary \ 000000A0 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: \ 000000A4 BD008DE2 ADD R0,SP,#+189 \ 000000A8 1B0000EF SWI +27 \ 000000AC 0040A0E1 MOV R4,R0 \ 000000B0 BD008DE2 ADD R0,SP,#+189 \ 000000B4 1B0000EF SWI +27 \ 000000B8 0050A0E1 MOV R5,R0 \ 000000BC BD008DE2 ADD R0,SP,#+189 \ 000000C0 1B0000EF SWI +27 \ 000000C4 08108DE2 ADD R1,SP,#+8 \ 000000C8 011084E0 ADD R1,R4,R1 \ 000000CC B410D1E5 LDRB R1,[R1, #+180] \ 000000D0 02002DE9 PUSH {R1} \ 000000D4 0C108DE2 ADD R1,SP,#+12 \ 000000D8 011085E0 ADD R1,R5,R1 \ 000000DC B330D1E5 LDRB R3,[R1, #+179] \ 000000E0 0C108DE2 ADD R1,SP,#+12 \ 000000E4 010080E0 ADD R0,R0,R1 \ 000000E8 B220D0E5 LDRB R2,[R0, #+178] \ 000000EC ........ LDR R1,??DataTable3 ;; `?` \ 000000F0 08008DE2 ADD R0,SP,#+8 \ 000000F4 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)) \ 000000F8 C0109FE5 LDR R1,??CreateMediaLibrary_0+0xC ;; format_1 \ 000000FC 08008DE2 ADD R0,SP,#+8 \ 00000100 ........ _BLF strcmp_nocase,??strcmp_nocase??rA \ 00000104 000050E3 CMP R0,#+0 \ 00000108 04D08DE2 ADD SP,SP,#+4 ;; stack cleaning \ 0000010C 0E00000A BEQ ??CreateMediaLibrary_5 \ 00000110 AC109FE5 LDR R1,??CreateMediaLibrary_0+0x10 ;; format_2 \ 00000114 04008DE2 ADD R0,SP,#+4 \ 00000118 ........ _BLF strcmp_nocase,??strcmp_nocase??rA \ 0000011C 000050E3 CMP R0,#+0 \ 00000120 0900000A BEQ ??CreateMediaLibrary_5 \ 00000124 9C109FE5 LDR R1,??CreateMediaLibrary_0+0x14 ;; format_3 \ 00000128 04008DE2 ADD R0,SP,#+4 \ 0000012C ........ _BLF strcmp_nocase,??strcmp_nocase??rA \ 00000130 000050E3 CMP R0,#+0 \ 00000134 0400000A BEQ ??CreateMediaLibrary_5 \ 00000138 8C109FE5 LDR R1,??CreateMediaLibrary_0+0x18 ;; format_4 \ 0000013C 04008DE2 ADD R0,SP,#+4 \ 00000140 ........ _BLF strcmp_nocase,??strcmp_nocase??rA \ 00000144 000050E3 CMP R0,#+0 \ 00000148 0D00001A BNE ??CreateMediaLibrary_4 75 { 76 sprintf(ddd,"%s\\%s.imy",de.folder_name,de.file_name); \ ??CreateMediaLibrary_5: \ 0000014C BD308DE2 ADD R3,SP,#+189 \ 00000150 3C208DE2 ADD R2,SP,#+60 \ 00000154 74109FE5 LDR R1,??CreateMediaLibrary_0+0x1C ;; `?` \ 00000158 D30F8DE2 ADD R0,SP,#+844 \ 0000015C 160000EF SWI +22 77 ddd[0]='0'; \ 00000160 3010A0E3 MOV R1,#+48 \ 00000164 4C13CDE5 STRB R1,[SP, #+844] 78 f=fopen(ddd, A_WriteOnly+A_Create, P_WRITE, & err ); \ 00000168 0D30A0E1 MOV R3,SP \ 0000016C 402FA0E3 MOV R2,#+256 \ 00000170 D11081E2 ADD R1,R1,#+209 \ 00000174 D30F8DE2 ADD R0,SP,#+844 \ 00000178 0A0000EF SWI +10 79 fclose(f,&err); \ 0000017C 0D10A0E1 MOV R1,SP \ 00000180 0D0000EF SWI +13 80 } 81 } 82 } 83 while(FindNextFile(&de,&err)); \ ??CreateMediaLibrary_4: \ 00000184 0D10A0E1 MOV R1,SP \ 00000188 08008DE2 ADD R0,SP,#+8 \ 0000018C 6C0000EF SWI +108 \ 00000190 000050E3 CMP R0,#+0 \ 00000194 AFFFFF1A BNE ??CreateMediaLibrary_2 84 } 85 FindClose(&de,&err); \ ??CreateMediaLibrary_1: \ 00000198 0D10A0E1 MOV R1,SP \ 0000019C 08008DE2 ADD R0,SP,#+8 \ 000001A0 6D0000EF SWI +109 86 return(0); \ 000001A4 0000A0E3 MOV R0,#+0 \ 000001A8 43DF8DE2 ADD SP,SP,#+268 ;; stack cleaning \ 000001AC 40DE8DE2 ADD SP,SP,#+1024 \ 000001B0 3080BDE8 POP {R4,R5,PC} ;; return \ ??CreateMediaLibrary_0: \ 000001B4 2A000000 DC8 "*",+0,+0 \ 000001B8 ........ DC32 `?` \ 000001BC ........ DC32 nname \ 000001C0 ........ DC32 format_1 \ 000001C4 ........ DC32 format_2 \ 000001C8 ........ DC32 format_3 \ 000001CC ........ DC32 format_4 \ 000001D0 ........ 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 1348 CreateMediaLibrary 1308 Segment part sizes: Function/Label Bytes -------------- ----- nname 256 BEER 392 CreateMediaLibrary 468 ??DataTable2 4 ??DataTable3 4 ? 8 ? 8 ? 8 ? 8 ? 4 ? 8 ? 2 ? 12 Others 44 900 bytes in segment CODE 58 bytes in segment DATA_C 256 bytes in segment DATA_Z 12 bytes in segment INITTAB 868 bytes of CODE memory (+ 44 bytes shared) 58 bytes of CONST memory 256 bytes of DATA memory Errors: none Warnings: none