############################################################################## # # # IAR ARM ANSI C/C++ Compiler V4.42A/W32 EVALUATION 22/Feb/2009 18:52:34 # # Copyright 1999-2005 IAR Systems. All rights reserved. # # # # Cpu mode = interwork # # Endian = little # # Stack alignment = 4 # # Source file = D:\pasha\elf\_MY_PROJECT_\strtok\main.c # # Command line = D:\pasha\elf\_MY_PROJECT_\strtok\main.c -D NEWSGOLD # # -D ELKA -D UIN_WRITE -D kluchnik -D BCFG # # --preprocess D:\pasha\elf\_MY_PROJECT_\strtok\kluchn # # ik\List\ -lC D:\pasha\elf\_MY_PROJECT_\strtok\kluchn # # ik\List\ -o D:\pasha\elf\_MY_PROJECT_\strtok\kluchni # # k\Obj\ -s9 --no_unroll --cpu_mode arm --endian # # little --cpu ARM926EJ-S --stack_align 4 --interwork # # -e --fpu None --dlib_config "D:\Embedded Workbench # # 4.0 Evaluation2\ARM\LIB\dl5tpainl8n.h" -I # # "D:\Embedded Workbench 4.0 Evaluation2\ARM\INC\" # # --inline_threshold=2 # # List file = D:\pasha\elf\_MY_PROJECT_\strtok\kluchnik\List\main. # # lst # # Object file = D:\pasha\elf\_MY_PROJECT_\strtok\kluchnik\Obj\main.r # # 79 # # # # # ############################################################################## D:\pasha\elf\_MY_PROJECT_\strtok\main.c 1 #include "../inc/swilib.h" 2 #include "string.h" 3 \ In segment CODE, align 4, keep-with-next 4 int main(char *filename) 5 { \ main: \ 00000000 70402DE9 PUSH {R4-R6,LR} 6 char *str="jfghjfgj_fkfkf,ssss;"; 7 char *p = strtok(str,"_,;"); \ 00000004 64409FE5 LDR R4,??main_0+0x4 ;; `?` \ 00000008 175F8FE2 ADR R5,??main_0 ;; "_,;" \ 0000000C 0510A0E1 MOV R1,R5 \ 00000010 0400A0E1 MOV R0,R4 \ 00000014 ........ _BLF strtok,??strtok??rA \ 00000018 0060B0E1 MOVS R6,R0 8 if(p) \ 0000001C 0900000A BEQ ??main_1 9 ShowMSG(1,(int)(p-(strlen(str)-strlen(p)))); \ 00000020 0400A0E1 MOV R0,R4 \ 00000024 1B0000EF SWI +27 \ 00000028 0040A0E1 MOV R4,R0 \ 0000002C 0600A0E1 MOV R0,R6 \ 00000030 1B0000EF SWI +27 \ 00000034 000044E0 SUB R0,R4,R0 \ 00000038 000060E2 RSB R0,R0,#+0 \ 0000003C 061080E0 ADD R1,R0,R6 \ 00000040 0100A0E3 MOV R0,#+1 \ 00000044 480100EF SWI +328 10 p = strtok(NULL,"_,;"); \ ??main_1: \ 00000048 0510A0E1 MOV R1,R5 \ 0000004C 0000A0E3 MOV R0,#+0 \ 00000050 ........ _BLF strtok,??strtok??rA \ 00000054 0010B0E1 MOVS R1,R0 11 if(p) \ 00000058 0100000A BEQ ??main_2 12 ShowMSG(1,(int)p); \ 0000005C 0100A0E3 MOV R0,#+1 \ 00000060 480100EF SWI +328 13 return 0; \ ??main_2: \ 00000064 0000A0E3 MOV R0,#+0 \ 00000068 7080BDE8 POP {R4-R6,PC} ;; return \ ??main_0: \ 0000006C 5F2C3B00 DC8 "_,;" \ 00000070 ........ DC32 `?` 14 } \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 6A6667686A66 DC8 "jfghjfgj_fkfkf,ssss;" \ 676A5F666B66 \ 6B662C737373 \ 733B00 \ 00000015 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ 00000000 5F2C3B00 DC8 "_,;" Maximum stack usage in bytes: Function CSTACK -------- ------ main 16 Segment part sizes: Function/Label Bytes -------------- ----- main 116 ? 24 ? 4 Others 16 132 bytes in segment CODE 28 bytes in segment DATA_C 116 bytes of CODE memory (+ 16 bytes shared) 28 bytes of CONST memory Errors: none Warnings: none