⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 format.cod

📁 Ep93XX TionProV2 BSP
💻 COD
📖 第 1 页 / 共 4 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4237 

	TTL	C:\WINCE500\PLATFORM\Ep93xx\Src\Bootloader\Common\.\format.c
	CODE32

  00000			 AREA	 |.drectve|, DRECTVE
	DCB	"-defaultlib:coredll.lib "
	DCB	"-defaultlib:corelibc.lib "

	EXPORT	|szSprintf| [ DATA ]

  00000			 AREA	 |.bss|, NOINIT
|szSprintf| %	0x4
	EXPORT	|EdbgOutputDebugString|
; File c:\wince500\platform\ep93xx\src\bootloader\common\format.c

  00000			 AREA	 |.text| { |EdbgOutputDebugString| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$EdbgOutputDebugString|, PDATA, SELECTION=5, ASSOC=|.text| { |EdbgOutputDebugString| } ; comdat associative
|$T37621| DCD	|$L37620|
	DCD	0x4000a504
; Function compile flags: /Ods

  00000			 AREA	 |.text| { |EdbgOutputDebugString| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |EdbgOutputDebugString| PROC

; 94   : {

  00000		 |$L37620|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d000f	 stmdb       sp!, {r0 - r3}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd014	 sub         sp, sp, #0x14
  00010		 |$M37618|

; 95   :     unsigned char c;
; 96   :     va_list vl;
; 97   : 
; 98   :     va_start(vl, sz);

  00010	e28d301c	 add         r3, sp, #0x1C
  00014	e2833004	 add         r3, r3, #4
  00018	e58d3000	 str         r3, [sp]
  0001c		 |$L37217|

; 99   : 
; 100  :     while (*sz)

  0001c	e59d301c	 ldr         r3, [sp, #0x1C]
  00020	e5d33000	 ldrb        r3, [r3]
  00024	e3530000	 cmp         r3, #0
  00028	0a000094	 beq         |$L37218|

; 101  :     {
; 102  :         c = *sz++;

  0002c	e59d301c	 ldr         r3, [sp, #0x1C]
  00030	e5d33000	 ldrb        r3, [r3]
  00034	e5cd3004	 strb        r3, [sp, #4]
  00038	e59d301c	 ldr         r3, [sp, #0x1C]
  0003c	e2833001	 add         r3, r3, #1
  00040	e58d301c	 str         r3, [sp, #0x1C]

; 103  :         switch (c)

  00044	e5dd3004	 ldrb        r3, [sp, #4]
  00048	e58d300c	 str         r3, [sp, #0xC]
  0004c	e59d300c	 ldr         r3, [sp, #0xC]
  00050	e353000a	 cmp         r3, #0xA
  00054	0a000084	 beq         |$L37298|
  00058	e59d300c	 ldr         r3, [sp, #0xC]
  0005c	e3530025	 cmp         r3, #0x25
  00060	0a000000	 beq         |$L37224|
  00064	ea000082	 b           |$L37299|
  00068		 |$L37224|

; 104  :         {
; 105  :           case (unsigned char)'%':
; 106  :               c = *sz++;

  00068	e59d301c	 ldr         r3, [sp, #0x1C]
  0006c	e5d33000	 ldrb        r3, [r3]
  00070	e5cd3004	 strb        r3, [sp, #4]
  00074	e59d301c	 ldr         r3, [sp, #0x1C]
  00078	e2833001	 add         r3, r3, #1
  0007c	e58d301c	 str         r3, [sp, #0x1C]

; 107  :               switch (c)

  00080	e5dd3004	 ldrb        r3, [sp, #4]
  00084	e58d3010	 str         r3, [sp, #0x10]
  00088	e59d3010	 ldr         r3, [sp, #0x10]
  0008c	e3530063	 cmp         r3, #0x63
  00090	ca000012	 bgt         |$L37617|
  00094	e59d3010	 ldr         r3, [sp, #0x10]
  00098	e3530063	 cmp         r3, #0x63
  0009c	0a000065	 beq         |$L37289|
  000a0	e59d3010	 ldr         r3, [sp, #0x10]
  000a4	e3530025	 cmp         r3, #0x25
  000a8	0a00005f	 beq         |$L37288|
  000ac	e59d3010	 ldr         r3, [sp, #0x10]
  000b0	e3530042	 cmp         r3, #0x42
  000b4	0a00001f	 beq         |$L37237|
  000b8	e59d3010	 ldr         r3, [sp, #0x10]
  000bc	e3530048	 cmp         r3, #0x48
  000c0	0a000025	 beq         |$L37245|
  000c4	e59d3010	 ldr         r3, [sp, #0x10]
  000c8	e3530058	 cmp         r3, #0x58
  000cc	0a00002b	 beq         |$L37253|
  000d0	e59d3010	 ldr         r3, [sp, #0x10]
  000d4	e3530061	 cmp         r3, #0x61
  000d8	0a00004b	 beq         |$L37280|
  000dc	ea00005f	 b           |$L37297|
  000e0		 |$L37617|
  000e0	e59d3010	 ldr         r3, [sp, #0x10]
  000e4	e3530064	 cmp         r3, #0x64
  000e8	0a00002d	 beq         |$L37261|
  000ec	e59d3010	 ldr         r3, [sp, #0x10]
  000f0	e3530073	 cmp         r3, #0x73
  000f4	0a000044	 beq         |$L37280|
  000f8	e59d3010	 ldr         r3, [sp, #0x10]
  000fc	e3530075	 cmp         r3, #0x75
  00100	0a000039	 beq         |$L37272|
  00104	e59d3010	 ldr         r3, [sp, #0x10]
  00108	e3530078	 cmp         r3, #0x78
  0010c	0a000000	 beq         |$L37229|
  00110	ea000052	 b           |$L37297|
  00114		 |$L37229|

; 108  :               {
; 109  :                 case 'x':
; 110  :                     pOutputNumHex(va_arg(vl, unsigned long), 0);

  00114	e59d3000	 ldr         r3, [sp]
  00118	e2833004	 add         r3, r3, #4
  0011c	e58d3000	 str         r3, [sp]
  00120	e3a01000	 mov         r1, #0
  00124	e59d3000	 ldr         r3, [sp]
  00128	e2433004	 sub         r3, r3, #4
  0012c	e5930000	 ldr         r0, [r3]
  00130	eb000000	 bl          pOutputNumHex

; 111  :                     break;

  00134	ea00004b	 b           |$L37226|
  00138		 |$L37237|

; 112  : 
; 113  :                 case 'B':
; 114  :                     pOutputNumHex(va_arg(vl, unsigned long), 2);

  00138	e59d3000	 ldr         r3, [sp]
  0013c	e2833004	 add         r3, r3, #4
  00140	e58d3000	 str         r3, [sp]
  00144	e3a01002	 mov         r1, #2
  00148	e59d3000	 ldr         r3, [sp]
  0014c	e2433004	 sub         r3, r3, #4
  00150	e5930000	 ldr         r0, [r3]
  00154	eb000000	 bl          pOutputNumHex

; 115  :                     break;

  00158	ea000042	 b           |$L37226|
  0015c		 |$L37245|

; 116  : 
; 117  :                 case 'H':
; 118  :                     pOutputNumHex(va_arg(vl, unsigned long), 4);

  0015c	e59d3000	 ldr         r3, [sp]
  00160	e2833004	 add         r3, r3, #4
  00164	e58d3000	 str         r3, [sp]
  00168	e3a01004	 mov         r1, #4
  0016c	e59d3000	 ldr         r3, [sp]
  00170	e2433004	 sub         r3, r3, #4
  00174	e5930000	 ldr         r0, [r3]
  00178	eb000000	 bl          pOutputNumHex

; 119  :                     break;

  0017c	ea000039	 b           |$L37226|
  00180		 |$L37253|

; 120  : 
; 121  :                 case 'X':
; 122  :                     pOutputNumHex(va_arg(vl, unsigned long), 8);

  00180	e59d3000	 ldr         r3, [sp]
  00184	e2833004	 add         r3, r3, #4
  00188	e58d3000	 str         r3, [sp]
  0018c	e3a01008	 mov         r1, #8
  00190	e59d3000	 ldr         r3, [sp]
  00194	e2433004	 sub         r3, r3, #4
  00198	e5930000	 ldr         r0, [r3]
  0019c	eb000000	 bl          pOutputNumHex

; 123  :                     break;

  001a0	ea000030	 b           |$L37226|
  001a4		 |$L37261|

; 124  : 
; 125  :                 case 'd':
; 126  :                 {
; 127  :                     long l;
; 128  : 
; 129  :                     l = va_arg(vl, long);

  001a4	e59d3000	 ldr         r3, [sp]
  001a8	e2833004	 add         r3, r3, #4
  001ac	e58d3000	 str         r3, [sp]
  001b0	e59d3000	 ldr         r3, [sp]
  001b4	e2433004	 sub         r3, r3, #4
  001b8	e5933000	 ldr         r3, [r3]
  001bc	e58d3008	 str         r3, [sp, #8]

; 130  : 
; 131  :                     if (l < 0)

  001c0	e59d3008	 ldr         r3, [sp, #8]
  001c4	e3530000	 cmp         r3, #0
  001c8	aa000004	 bge         |$L37270|

; 132  :                     {
; 133  :                         pOutputByte('-');

  001cc	e3a0002d	 mov         r0, #0x2D
  001d0	eb000000	 bl          pOutputByte

; 134  :                         l = -l;

  001d4	e59d3008	 ldr         r3, [sp, #8]
  001d8	e2633000	 rsb         r3, r3, #0
  001dc	e58d3008	 str         r3, [sp, #8]
  001e0		 |$L37270|

; 135  :                     }
; 136  :                     pOutputNumDecimal((unsigned long)l);

  001e0	e59d0008	 ldr         r0, [sp, #8]
  001e4	eb000000	 bl          pOutputNumDecimal

; 137  :                 }
; 138  :                 break;

  001e8	ea00001e	 b           |$L37226|
  001ec		 |$L37272|

; 139  : 
; 140  :                 case 'u':
; 141  :                 pOutputNumDecimal(va_arg(vl, unsigned long));

  001ec	e59d3000	 ldr         r3, [sp]
  001f0	e2833004	 add         r3, r3, #4
  001f4	e58d3000	 str         r3, [sp]
  001f8	e59d3000	 ldr         r3, [sp]
  001fc	e2433004	 sub         r3, r3, #4
  00200	e5930000	 ldr         r0, [r3]
  00204	eb000000	 bl          pOutputNumDecimal

; 142  :                 break;

  00208	ea000016	 b           |$L37226|
  0020c		 |$L37280|

; 143  : 
; 144  :                 case 'a':
; 145  :                 case 's':
; 146  :                     OutputString(va_arg(vl, char *));

  0020c	e59d3000	 ldr         r3, [sp]
  00210	e2833004	 add         r3, r3, #4
  00214	e58d3000	 str         r3, [sp]
  00218	e59d3000	 ldr         r3, [sp]
  0021c	e2433004	 sub         r3, r3, #4
  00220	e5930000	 ldr         r0, [r3]
  00224	eb000000	 bl          OutputString

; 147  :                     break;

  00228	ea00000e	 b           |$L37226|
  0022c		 |$L37288|

; 148  : 
; 149  :                 case '%':
; 150  :                     pOutputByte('%');

  0022c	e3a00025	 mov         r0, #0x25
  00230	eb000000	 bl          pOutputByte

; 151  :                     break;

  00234	ea00000b	 b           |$L37226|
  00238		 |$L37289|

; 152  : 
; 153  :                 case 'c':
; 154  :                     c = va_arg(vl, unsigned char);

  00238	e59d3000	 ldr         r3, [sp]
  0023c	e2833004	 add         r3, r3, #4
  00240	e58d3000	 str         r3, [sp]
  00244	e59d3000	 ldr         r3, [sp]
  00248	e2433004	 sub         r3, r3, #4
  0024c	e5d33000	 ldrb        r3, [r3]
  00250	e5cd3004	 strb        r3, [sp, #4]

; 155  :                     pOutputByte(c);

  00254	e5dd0004	 ldrb        r0, [sp, #4]
  00258	eb000000	 bl          pOutputByte

; 156  :                     break;

  0025c	ea000001	 b           |$L37226|
  00260		 |$L37297|

; 157  : 
; 158  :                 default:
; 159  :                     pOutputByte(' ');

  00260	e3a00020	 mov         r0, #0x20
  00264	eb000000	 bl          pOutputByte
  00268		 |$L37226|

; 160  :                     break;
; 161  :               }
; 162  :               break;

  00268	ea000003	 b           |$L37220|
  0026c		 |$L37298|

; 163  : 
; 164  :           case '\n':
; 165  :               pOutputByte('\r');

  0026c	e3a0000d	 mov         r0, #0xD
  00270	eb000000	 bl          pOutputByte
  00274		 |$L37299|

; 166  :               // fall through
; 167  : 
; 168  :           default:
; 169  :               pOutputByte(c);

  00274	e5dd0004	 ldrb        r0, [sp, #4]
  00278	eb000000	 bl          pOutputByte
  0027c		 |$L37220|

; 170  :         }
; 171  :     }

  0027c	eaffff66	 b           |$L37217|
  00280		 |$L37218|

; 172  : 
; 173  :     va_end(vl);

  00280	e3a03000	 mov         r3, #0
  00284	e58d3000	 str         r3, [sp]

; 174  : }

  00288	e28dd014	 add         sp, sp, #0x14
  0028c	e89d6000	 ldmia       sp, {sp, lr}
  00290	e12fff1e	 bx          lr
  00294		 |$M37619|

			 ENDP  ; |EdbgOutputDebugString|

	EXPORT	|NKDbgPrintfW|

  00000			 AREA	 |.text| { |NKDbgPrintfW| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$NKDbgPrintfW|, PDATA, SELECTION=5, ASSOC=|.text| { |NKDbgPrintfW| } ; comdat associative
|$T37629| DCD	|$L37628|
	DCD	0x4000a904
; Function compile flags: /Ods

  00000			 AREA	 |.text| { |NKDbgPrintfW| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |NKDbgPrintfW| PROC

; 206  : {

  00000		 |$L37628|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d000f	 stmdb       sp!, {r0 - r3}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd014	 sub         sp, sp, #0x14
  00010		 |$M37626|

; 207  :     unsigned char c;
; 208  :     va_list vl;
; 209  : 
; 210  :     va_start(vl, sz);

  00010	e28d301c	 add         r3, sp, #0x1C
  00014	e2833004	 add         r3, r3, #4
  00018	e58d3000	 str         r3, [sp]
  0001c		 |$L37310|

; 211  : 
; 212  :     while (*sz)

  0001c	e59d301c	 ldr         r3, [sp, #0x1C]
  00020	e1d330b0	 ldrh        r3, [r3]
  00024	e3530000	 cmp         r3, #0
  00028	0a000098	 beq         |$L37311|

; 213  :     {
; 214  :         c = (*sz++) & 0xff;

  0002c	e59d301c	 ldr         r3, [sp, #0x1C]
  00030	e1d330b0	 ldrh        r3, [r3]
  00034	e20330ff	 and         r3, r3, #0xFF
  00038	e20330ff	 and         r3, r3, #0xFF
  0003c	e5cd3004	 strb        r3, [sp, #4]
  00040	e59d301c	 ldr         r3, [sp, #0x1C]
  00044	e2833002	 add         r3, r3, #2
  00048	e58d301c	 str         r3, [sp, #0x1C]

; 215  :         switch (c)

  0004c	e5dd3004	 ldrb        r3, [sp, #4]
  00050	e58d300c	 str         r3, [sp, #0xC]
  00054	e59d300c	 ldr         r3, [sp, #0xC]
  00058	e353000a	 cmp         r3, #0xA
  0005c	0a000086	 beq         |$L37390|
  00060	e59d300c	 ldr         r3, [sp, #0xC]
  00064	e3530025	 cmp         r3, #0x25
  00068	0a000000	 beq         |$L37316|
  0006c	ea000084	 b           |$L37391|
  00070		 |$L37316|

; 216  :         {
; 217  :           case '%':
; 218  :               c = (*sz++) & 0xff;

  00070	e59d301c	 ldr         r3, [sp, #0x1C]
  00074	e1d330b0	 ldrh        r3, [r3]
  00078	e20330ff	 and         r3, r3, #0xFF
  0007c	e20330ff	 and         r3, r3, #0xFF
  00080	e5cd3004	 strb        r3, [sp, #4]
  00084	e59d301c	 ldr         r3, [sp, #0x1C]
  00088	e2833002	 add         r3, r3, #2
  0008c	e58d301c	 str         r3, [sp, #0x1C]

; 219  : 
; 220  :               switch (c)

  00090	e5dd3004	 ldrb        r3, [sp, #4]
  00094	e58d3010	 str         r3, [sp, #0x10]
  00098	e59d3010	 ldr         r3, [sp, #0x10]
  0009c	e3530063	 cmp         r3, #0x63
  000a0	ca000012	 bgt         |$L37625|
  000a4	e59d3010	 ldr         r3, [sp, #0x10]
  000a8	e3530063	 cmp         r3, #0x63
  000ac	0a000065	 beq         |$L37381|
  000b0	e59d3010	 ldr         r3, [sp, #0x10]
  000b4	e3530025	 cmp         r3, #0x25
  000b8	0a00005f	 beq         |$L37380|
  000bc	e59d3010	 ldr         r3, [sp, #0x10]
  000c0	e3530042	 cmp         r3, #0x42
  000c4	0a00001f	 beq         |$L37329|

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -