; generated by Component: ARM Compiler 5.06 update 7 (build 960) Tool: ArmCC [4d365d] ; commandline ArmCC [--list --split_sections --debug -c --asm --interleave -o..\list\myprintf.o --asm_dir=..\List\ --list_dir=..\List\ --depend=..\list\myprintf.d --cpu=Cortex-M3 --apcs=interwork -O0 --diag_suppress=9931 -I..\src\myprintf -I..\src\RTT -I.\RTE\_XWY -ID:\Keil\ARM\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -ID:\Keil\ARM\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include -D__MICROLIB -D__UVISION_VERSION=538 -D_RTE_ -DSTM32F10X_HD -D_RTE_ -D_DEBUG --omf_browse=..\list\myprintf.crf ..\src\myprintf\MyPrintf.c] THUMB AREA ||i.MyPrintf||, CODE, READONLY, ALIGN=2 MyPrintf PROC ;;;12 static char buffer[256] = {0}; ;;;13 int MyPrintf(const char* fmt, ...) 000000 b40f PUSH {r0-r3} ;;;14 { 000002 b51c PUSH {r2-r4,lr} ;;;15 va_list args; ;;;16 int tmp_size = 0; 000004 2400 MOVS r4,#0 ;;;17 if(bInitPrint==0) 000006 4816 LDR r0,|L1.96| 000008 6800 LDR r0,[r0,#0] ; bInitPrint 00000a 2800 CMP r0,#0 00000c d114 BNE |L1.56| ;;;18 { ;;;19 bInitPrint = 1; 00000e 2001 MOVS r0,#1 000010 4913 LDR r1,|L1.96| 000012 6008 STR r0,[r1,#0] ; bInitPrint ;;;20 SEGGER_RTT_Init(); 000014 f7fffffe BL SEGGER_RTT_Init ;;;21 SEGGER_RTT_ConfigUpBuffer(0, NULL, NULL, 0, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL); 000018 2002 MOVS r0,#2 00001a 2300 MOVS r3,#0 00001c 461a MOV r2,r3 00001e 4619 MOV r1,r3 000020 9000 STR r0,[sp,#0] 000022 4618 MOV r0,r3 000024 f7fffffe BL SEGGER_RTT_ConfigUpBuffer ;;;22 SEGGER_RTT_WriteString(0, "SEGGER Real-Time-Terminal Sample\r\n\r\n"); 000028 a10e ADR r1,|L1.100| 00002a 2000 MOVS r0,#0 00002c f7fffffe BL SEGGER_RTT_WriteString ;;;23 SEGGER_RTT_WriteString(0, "###### Testing SEGGER_printf() ######\r\n"); 000030 a116 ADR r1,|L1.140| 000032 2000 MOVS r0,#0 000034 f7fffffe BL SEGGER_RTT_WriteString |L1.56| ;;;24 } ;;;25 va_start(args,fmt); 000038 a805 ADD r0,sp,#0x14 00003a 9001 STR r0,[sp,#4] ;;;26 tmp_size = vsnprintf(buffer,sizeof(buffer),fmt,args); 00003c f44f7180 MOV r1,#0x100 000040 481c LDR r0,|L1.180| 000042 9b01 LDR r3,[sp,#4] 000044 9a04 LDR r2,[sp,#0x10] 000046 f7fffffe BL __c89vsnprintf 00004a 4604 MOV r4,r0 ;;;27 SEGGER_RTT_WriteString(0,buffer); 00004c 4919 LDR r1,|L1.180| 00004e 2000 MOVS r0,#0 000050 f7fffffe BL SEGGER_RTT_WriteString ;;;28 va_end(args); 000054 2000 MOVS r0,#0 000056 9001 STR r0,[sp,#4] ;;;29 return tmp_size; 000058 4620 MOV r0,r4 ;;;30 } 00005a bc1c POP {r2-r4} 00005c f85dfb14 LDR pc,[sp],#0x14 ENDP |L1.96| DCD bInitPrint |L1.100| 000064 53454747 DCB "SEGGER Real-Time-Terminal Sample\r\n\r\n",0 000068 45522052 00006c 65616c2d 000070 54696d65 000074 2d546572 000078 6d696e61 00007c 6c205361 000080 6d706c65 000084 0d0a0d0a 000088 00 000089 00 DCB 0 00008a 00 DCB 0 00008b 00 DCB 0 |L1.140| 00008c 23232323 DCB "###### Testing SEGGER_printf() ######\r\n",0 000090 23232054 000094 65737469 000098 6e672053 00009c 45474745 0000a0 525f7072 0000a4 696e7466 0000a8 28292023 0000ac 23232323 0000b0 230d0a00 |L1.180| DCD buffer AREA ||.bss||, DATA, NOINIT, ALIGN=0 buffer % 256 AREA ||.data||, DATA, ALIGN=2 bInitPrint DCD 0x00000000