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

📄 format.cod

📁 Ep93XX TionProV2 BSP
💻 COD
📖 第 1 页 / 共 4 页
字号:

  00058	eaffffec	 b           |$L37515|
  0005c		 |$L37516|

; 490  : }

  0005c	e28dd004	 add         sp, sp, #4
  00060	e89d6000	 ldmia       sp, {sp, lr}
  00064	e12fff1e	 bx          lr
  00068		 |$M37667|

			 ENDP  ; |OutputString|

	EXPORT	|inet_ntoa|
	EXPORT	|??_C@_0M@CDHNGIPM@?$CFu?4?$CFu?4?$CFu?4?$CFu?$AA@| [ DATA ] ; `string'

  00004			 AREA	 |.bss|, NOINIT
|?szDottedD@?1??inet_ntoa@@9@9| % 0x10			; `inet_ntoa'::`2'::szDottedD

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

  00000			 AREA	 |.pdata$$inet_ntoa|, PDATA, SELECTION=5, ASSOC=|.text| { |inet_ntoa| } ; comdat associative
|$T37677| DCD	|$L37676|
	DCD	0x40001c04

  00000			 AREA	 |.rdata| { |??_C@_0M@CDHNGIPM@?$CFu?4?$CFu?4?$CFu?4?$CFu?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0M@CDHNGIPM@?$CFu?4?$CFu?4?$CFu?4?$CFu?$AA@| DCB "%u.%u.%u.%u", 0x0 ; `string'
; Function compile flags: /Ods

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

  00000		 |inet_ntoa| PROC

; 497  : {

  00000		 |$L37676|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd00c	 sub         sp, sp, #0xC
  00010		 |$M37674|

; 498  :     static char szDottedD[16];
; 499  : 
; 500  :     FormatString(szDottedD, "%u.%u.%u.%u",
; 501  :                  (BYTE)dwIP, (BYTE)(dwIP >> 8),
; 502  :                  (BYTE)(dwIP >> 16), (BYTE)(dwIP >> 24));

  00010	e59d3014	 ldr         r3, [sp, #0x14]
  00014	e1a03c23	 mov         r3, r3, lsr #24
  00018	e20330ff	 and         r3, r3, #0xFF
  0001c	e58d3004	 str         r3, [sp, #4]
  00020	e59d3014	 ldr         r3, [sp, #0x14]
  00024	e1a03823	 mov         r3, r3, lsr #16
  00028	e20330ff	 and         r3, r3, #0xFF
  0002c	e58d3000	 str         r3, [sp]
  00030	e59d3014	 ldr         r3, [sp, #0x14]
  00034	e1a03423	 mov         r3, r3, lsr #8
  00038	e20330ff	 and         r3, r3, #0xFF
  0003c	e59d2014	 ldr         r2, [sp, #0x14]
  00040	e20220ff	 and         r2, r2, #0xFF
  00044	e59f1020	 ldr         r1, [pc, #0x20]
  00048	e59f0018	 ldr         r0, [pc, #0x18]
  0004c	eb000000	 bl          FormatString

; 503  : 
; 504  :     return szDottedD;

  00050	e59f3010	 ldr         r3, [pc, #0x10]
  00054	e58d3008	 str         r3, [sp, #8]
  00058	e59d0008	 ldr         r0, [sp, #8]

; 505  : }

  0005c	e28dd00c	 add         sp, sp, #0xC
  00060	e89d6000	 ldmia       sp, {sp, lr}
  00064	e12fff1e	 bx          lr
  00068		 |$L37679|
  00068	00000000	 DCD         |?szDottedD@?1??inet_ntoa@@9@9|
  0006c	00000000	 DCD         |??_C@_0M@CDHNGIPM@?$CFu?4?$CFu?4?$CFu?4?$CFu?$AA@|
  00070		 |$M37675|

			 ENDP  ; |inet_ntoa|

	EXPORT	|AsciiToInt|

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

  00000			 AREA	 |.pdata$$AsciiToInt|, PDATA, SELECTION=5, ASSOC=|.text| { |AsciiToInt| } ; comdat associative
|$T37686| DCD	|$L37685|
	DCD	0x40002604
; Function compile flags: /Ods

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

  00000		 |AsciiToInt| PROC

; 508  : {

  00000		 |$L37685|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd00c	 sub         sp, sp, #0xC
  00010		 |$M37683|

; 509  :     char c;
; 510  :     int total = 0;

  00010	e3a03000	 mov         r3, #0
  00014	e58d3000	 str         r3, [sp]

; 511  : 
; 512  :     c = *szNumber++;

  00018	e59d3014	 ldr         r3, [sp, #0x14]
  0001c	e1d330d0	 ldrsb       r3, [r3]
  00020	e5cd3004	 strb        r3, [sp, #4]
  00024	e59d3014	 ldr         r3, [sp, #0x14]
  00028	e2833001	 add         r3, r3, #1
  0002c	e58d3014	 str         r3, [sp, #0x14]
  00030		 |$L37536|

; 513  : 
; 514  :     while ((c >= '0') && (c <= '9'))

  00030	e1dd30d4	 ldrsb       r3, [sp, #4]
  00034	e3530030	 cmp         r3, #0x30
  00038	ba000010	 blt         |$L37537|
  0003c	e1dd30d4	 ldrsb       r3, [sp, #4]
  00040	e3530039	 cmp         r3, #0x39
  00044	ca00000d	 bgt         |$L37537|

; 515  :     {
; 516  :         total = 10 * total + (c - '0');

  00048	e59d1000	 ldr         r1, [sp]
  0004c	e3a0300a	 mov         r3, #0xA
  00050	e0020391	 mul         r2, r1, r3
  00054	e1dd30d4	 ldrsb       r3, [sp, #4]
  00058	e2433030	 sub         r3, r3, #0x30
  0005c	e0823003	 add         r3, r2, r3
  00060	e58d3000	 str         r3, [sp]

; 517  :         c = *szNumber++;

  00064	e59d3014	 ldr         r3, [sp, #0x14]
  00068	e1d330d0	 ldrsb       r3, [r3]
  0006c	e5cd3004	 strb        r3, [sp, #4]
  00070	e59d3014	 ldr         r3, [sp, #0x14]
  00074	e2833001	 add         r3, r3, #1
  00078	e58d3014	 str         r3, [sp, #0x14]

; 518  :     }

  0007c	eaffffeb	 b           |$L37536|
  00080		 |$L37537|

; 519  : 
; 520  :     return (total);

  00080	e59d3000	 ldr         r3, [sp]
  00084	e58d3008	 str         r3, [sp, #8]
  00088	e59d0008	 ldr         r0, [sp, #8]

; 521  : }

  0008c	e28dd00c	 add         sp, sp, #0xC
  00090	e89d6000	 ldmia       sp, {sp, lr}
  00094	e12fff1e	 bx          lr
  00098		 |$M37684|

			 ENDP  ; |AsciiToInt|

	EXPORT	|inet_addr|

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

  00000			 AREA	 |.pdata$$inet_addr|, PDATA, SELECTION=5, ASSOC=|.text| { |inet_addr| } ; comdat associative
|$T37694| DCD	|$L37693|
	DCD	0x40004104
; Function compile flags: /Ods

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

  00000		 |inet_addr| PROC

; 528  : {

  00000		 |$L37693|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd014	 sub         sp, sp, #0x14
  00010		 |$M37691|

; 529  :     DWORD dwIP = 0;

  00010	e3a03000	 mov         r3, #0
  00014	e58d3004	 str         r3, [sp, #4]

; 530  :     DWORD cBytes;
; 531  :     char *pszLastNum;
; 532  :     int atoi (const char *s);
; 533  : 
; 534  :     // Replace the dots with NULL terminators
; 535  :     pszLastNum = pszDottedD;

  00018	e59d301c	 ldr         r3, [sp, #0x1C]
  0001c	e58d3000	 str         r3, [sp]

; 536  : 
; 537  :     for( cBytes = 0; cBytes < 4; cBytes++ )

  00020	e3a03000	 mov         r3, #0
  00024	e58d3008	 str         r3, [sp, #8]
  00028	ea000002	 b           |$L37548|
  0002c		 |$L37549|
  0002c	e59d3008	 ldr         r3, [sp, #8]
  00030	e2833001	 add         r3, r3, #1
  00034	e58d3008	 str         r3, [sp, #8]
  00038		 |$L37548|
  00038	e59d3008	 ldr         r3, [sp, #8]
  0003c	e3530004	 cmp         r3, #4
  00040	2a000029	 bcs         |$L37550|
  00044		 |$L37552|

; 538  :     {
; 539  :         while(*pszDottedD != '.' && *pszDottedD != '\0')

  00044	e59d301c	 ldr         r3, [sp, #0x1C]
  00048	e1d330d0	 ldrsb       r3, [r3]
  0004c	e353002e	 cmp         r3, #0x2E
  00050	0a000007	 beq         |$L37553|
  00054	e59d301c	 ldr         r3, [sp, #0x1C]
  00058	e1d330d0	 ldrsb       r3, [r3]
  0005c	e3530000	 cmp         r3, #0
  00060	0a000003	 beq         |$L37553|

; 540  :             pszDottedD++;

  00064	e59d301c	 ldr         r3, [sp, #0x1C]
  00068	e2833001	 add         r3, r3, #1
  0006c	e58d301c	 str         r3, [sp, #0x1C]
  00070	eafffff3	 b           |$L37552|
  00074		 |$L37553|

; 541  : 
; 542  :         if (pszDottedD == '\0' && cBytes != 3)

  00074	e59d301c	 ldr         r3, [sp, #0x1C]
  00078	e3530000	 cmp         r3, #0
  0007c	1a000005	 bne         |$L37554|
  00080	e59d3008	 ldr         r3, [sp, #8]
  00084	e3530003	 cmp         r3, #3
  00088	0a000002	 beq         |$L37554|

; 543  :             return 0;

  0008c	e3a03000	 mov         r3, #0
  00090	e58d300c	 str         r3, [sp, #0xC]
  00094	ea000016	 b           |$L37541|
  00098		 |$L37554|

; 544  : 
; 545  :         *pszDottedD = '\0';

  00098	e59d201c	 ldr         r2, [sp, #0x1C]
  0009c	e3a03000	 mov         r3, #0
  000a0	e5c23000	 strb        r3, [r2]

; 546  :         dwIP |= (AsciiToInt(pszLastNum) & 0xFF) << (8*cBytes);

  000a4	e59d0000	 ldr         r0, [sp]
  000a8	eb000000	 bl          AsciiToInt
  000ac	e58d0010	 str         r0, [sp, #0x10]
  000b0	e59d3010	 ldr         r3, [sp, #0x10]
  000b4	e20310ff	 and         r1, r3, #0xFF
  000b8	e59d2008	 ldr         r2, [sp, #8]
  000bc	e3a03008	 mov         r3, #8
  000c0	e0030392	 mul         r3, r2, r3
  000c4	e1a02311	 mov         r2, r1, lsl r3
  000c8	e59d3004	 ldr         r3, [sp, #4]
  000cc	e1833002	 orr         r3, r3, r2
  000d0	e58d3004	 str         r3, [sp, #4]

; 547  :         pszLastNum = ++pszDottedD;

  000d4	e59d301c	 ldr         r3, [sp, #0x1C]
  000d8	e2833001	 add         r3, r3, #1
  000dc	e58d301c	 str         r3, [sp, #0x1C]
  000e0	e59d301c	 ldr         r3, [sp, #0x1C]
  000e4	e58d3000	 str         r3, [sp]

; 548  :     }

  000e8	eaffffcf	 b           |$L37549|
  000ec		 |$L37550|

; 549  : 
; 550  :     return dwIP;

  000ec	e59d3004	 ldr         r3, [sp, #4]
  000f0	e58d300c	 str         r3, [sp, #0xC]
  000f4		 |$L37541|

; 543  :             return 0;

  000f4	e59d000c	 ldr         r0, [sp, #0xC]

; 551  : }

  000f8	e28dd014	 add         sp, sp, #0x14
  000fc	e89d6000	 ldmia       sp, {sp, lr}
  00100	e12fff1e	 bx          lr
  00104		 |$M37692|

			 ENDP  ; |inet_addr|

	EXPORT	|EdbgDumpHexBuf|
	EXPORT	|??_C@_0BJ@BLAJNKBF@Dump?5of?5?$CFu?5bytes?5?$EA?50x?$CFX?6?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_09OLLBDDGO@?60x?$CFX?5?5?5?5?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_01EEMJAFIK@?6?$AA@| [ DATA ]	; `string'
	EXPORT	|??_C@_03KPMNACOD@?$CFB?5?$AA@| [ DATA ] ; `string'

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

  00000			 AREA	 |.pdata$$EdbgDumpHexBuf|, PDATA, SELECTION=5, ASSOC=|.text| { |EdbgDumpHexBuf| } ; comdat associative
|$T37701| DCD	|$L37700|
	DCD	0x40003a04

  00000			 AREA	 |.rdata| { |??_C@_03KPMNACOD@?$CFB?5?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_03KPMNACOD@?$CFB?5?$AA@| DCB "%B ", 0x0		; `string'

  00000			 AREA	 |.rdata| { |??_C@_01EEMJAFIK@?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_01EEMJAFIK@?6?$AA@| DCB 0xa, 0x0			; `string'

  00000			 AREA	 |.rdata| { |??_C@_09OLLBDDGO@?60x?$CFX?5?5?5?5?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_09OLLBDDGO@?60x?$CFX?5?5?5?5?$AA@| DCB 0xa, "0x%X    ", 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_0BJ@BLAJNKBF@Dump?5of?5?$CFu?5bytes?5?$EA?50x?$CFX?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BJ@BLAJNKBF@Dump?5of?5?$CFu?5bytes?5?$EA?50x?$CFX?6?$AA@| DCB "Du"
	DCB	"mp of %u bytes @ 0x%X", 0xa, 0x0	; `string'
; Function compile flags: /Ods

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

  00000		 |EdbgDumpHexBuf| PROC

; 557  : {

  00000		 |$L37700|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd008	 sub         sp, sp, #8
  00010		 |$M37698|

; 558  :     DWORD i,j;
; 559  : 
; 560  :     EdbgOutputDebugString("Dump of %u bytes @ 0x%X\n", Count, (DWORD)pBuf);

  00010	e59d2010	 ldr         r2, [sp, #0x10]
  00014	e59d1014	 ldr         r1, [sp, #0x14]
  00018	e59f00c4	 ldr         r0, [pc, #0xC4]
  0001c	eb000000	 bl          EdbgOutputDebugString

; 561  : 
; 562  :     for (i = 0; i < Count; i += ENTRIES_PER_LINE)

  00020	e3a03000	 mov         r3, #0
  00024	e58d3000	 str         r3, [sp]
  00028	ea000002	 b           |$L37565|
  0002c		 |$L37566|
  0002c	e59d3000	 ldr         r3, [sp]
  00030	e2833010	 add         r3, r3, #0x10
  00034	e58d3000	 str         r3, [sp]
  00038		 |$L37565|
  00038	e59d2000	 ldr         r2, [sp]
  0003c	e59d3014	 ldr         r3, [sp, #0x14]
  00040	e1520003	 cmp         r2, r3
  00044	2a00001e	 bcs         |$L37567|

; 563  :     {
; 564  :         EdbgOutputDebugString("\n0x%X    ",i);

  00048	e59d1000	 ldr         r1, [sp]
  0004c	e59f008c	 ldr         r0, [pc, #0x8C]
  00050	eb000000	 bl          EdbgOutputDebugString

; 565  : 
; 566  :         for (j = 0; j < ENTRIES_PER_LINE; j++)

  00054	e3a03000	 mov         r3, #0
  00058	e58d3004	 str         r3, [sp, #4]
  0005c	ea000002	 b           |$L37569|
  00060		 |$L37570|
  00060	e59d3004	 ldr         r3, [sp, #4]
  00064	e2833001	 add         r3, r3, #1
  00068	e58d3004	 str         r3, [sp, #4]
  0006c		 |$L37569|
  0006c	e59d3004	 ldr         r3, [sp, #4]
  00070	e3530010	 cmp         r3, #0x10
  00074	2a000011	 bcs         |$L37571|

; 567  :             if ((i+j) >= Count)

  00078	e59d2000	 ldr         r2, [sp]
  0007c	e59d3004	 ldr         r3, [sp, #4]
  00080	e0822003	 add         r2, r2, r3
  00084	e59d3014	 ldr         r3, [sp, #0x14]
  00088	e1520003	 cmp         r2, r3
  0008c	3a000002	 bcc         |$L37572|

; 568  :                 EdbgOutputDebugString("\n");

  00090	e59f0040	 ldr         r0, [pc, #0x40]
  00094	eb000000	 bl          EdbgOutputDebugString

; 569  :             else

  00098	ea000007	 b           |$L37574|
  0009c		 |$L37572|

; 570  :                 EdbgOutputDebugString("%B ", pBuf[i+j]);

  0009c	e59d2000	 ldr         r2, [sp]
  000a0	e59d3004	 ldr         r3, [sp, #4]
  000a4	e0822003	 add         r2, r2, r3
  000a8	e59d3010	 ldr         r3, [sp, #0x10]
  000ac	e0833002	 add         r3, r3, r2
  000b0	e5d31000	 ldrb        r1, [r3]
  000b4	e59f0020	 ldr         r0, [pc, #0x20]
  000b8	eb000000	 bl          EdbgOutputDebugString
  000bc		 |$L37574|
  000bc	eaffffe7	 b           |$L37570|
  000c0		 |$L37571|

; 571  :     }

  000c0	eaffffd9	 b           |$L37566|
  000c4		 |$L37567|

; 572  : 
; 573  :     EdbgOutputDebugString("\n");

  000c4	e59f000c	 ldr         r0, [pc, #0xC]
  000c8	eb000000	 bl          EdbgOutputDebugString

; 574  : }

  000cc	e28dd008	 add         sp, sp, #8
  000d0	e89d6000	 ldmia       sp, {sp, lr}
  000d4	e12fff1e	 bx          lr
  000d8		 |$L37703|
  000d8	00000000	 DCD         |??_C@_01EEMJAFIK@?6?$AA@|
  000dc	00000000	 DCD         |??_C@_03KPMNACOD@?$CFB?5?$AA@|
  000e0	00000000	 DCD         |??_C@_09OLLBDDGO@?60x?$CFX?5?5?5?5?$AA@|
  000e4	00000000	 DCD         |??_C@_0BJ@BLAJNKBF@Dump?5of?5?$CFu?5bytes?5?$EA?50x?$CFX?6?$AA@|
  000e8		 |$M37699|

			 ENDP  ; |EdbgDumpHexBuf|

	END

⌨️ 快捷键说明

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