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

📄 deviceinfo.cod

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

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

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


  00000			 AREA	 |.rdata|, DATA, READONLY
|EdbgVendorIds| DCW 0x0
	DCW	0x0
	DCD	0x4033
	DCB	0x1
	DCB	0x0
	DCB	"AD", 0x0
	%	3
	DCW	0x1050
	DCW	0x940
	DCD	0x4005
	DCB	0x1
	DCB	0x0
	DCB	"LS", 0x0
	%	3
	DCW	0x1050
	DCW	0x940
	DCD	0x2078
	DCB	0x1
	DCB	0x0
	DCB	"LS", 0x0
	%	3
	DCW	0x10ec
	DCW	0x8029
	DCD	0xc0f0
	DCB	0x1
	DCB	0x0
	DCB	"KS", 0x0
	%	3
	DCW	0x10ec
	DCW	0x8129
	DCD	0x0
	DCB	0x4
	DCB	0x0
	DCB	"RT", 0x0
	%	3
	DCW	0x10ec
	DCW	0x8139
	DCD	0x900b
	DCB	0x4
	DCB	0x0
	DCB	"RT", 0x0
	%	3
	DCW	0x10ec
	DCW	0x8139
	DCD	0xd0c9
	DCB	0x4
	DCB	0x0
	DCB	"RT", 0x0
	%	3
	DCW	0x10ec
	DCW	0x8139
	DCD	0xe04c
	DCB	0x4
	DCB	0x0
	DCB	"RT", 0x0
	%	3
	DCW	0x1186
	DCW	0x1300
	DCD	0x50ba
	DCB	0x4
	DCB	0x0
	DCB	"DL", 0x0
	%	3
	DCW	0x100b
	DCW	0x20
	DCD	0xa0cc
	DCB	0x5
	DCB	0x0
	DCB	"NG", 0x0
	%	3
	DCW	0x10b7
	DCW	0x9050
	DCD	0x6008
	DCB	0x6
	DCB	0x0
	DCB	"3C", 0x0
	%	3
	DCW	0x10b7
	DCW	0x9200
	DCD	0x476
	DCB	0x6
	DCB	0x0
	DCB	"3C", 0x0
	%	3
	DCW	0x8086
	DCW	0x1039
	DCD	0x4033
	DCB	0x7
	DCB	0x1
	DCB	"IN", 0x0
	%	3
	DCW	0x8086
	DCW	0x103a
	DCD	0x4033
	DCB	0x7
	DCB	0x1
	DCB	"IN", 0x0
	%	3
	DCW	0x8086
	DCW	0x1051
	DCD	0x4033
	DCB	0x7
	DCB	0x1
	DCB	"IN", 0x0
	%	3
	DCW	0x8086
	DCW	0x1229
	DCD	0x4033
	DCB	0x7
	DCB	0x1
	DCB	"IN", 0x0
	%	3
	DCW	0x8086
	DCW	0x2449
	DCD	0x4033
	DCB	0x7
	DCB	0x1
	DCB	"IN", 0x0
	%	3
	EXPORT	|itoa10|
	IMPORT	|__rt_udiv|
; File c:\wince500\platform\ep93xx\src\kernel\hal\common\deviceinfo.c

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

  00000			 AREA	 |.pdata$$itoa10|, PDATA, SELECTION=5, ASSOC=|.text| { |itoa10| } ; comdat associative
|$T38150| DCD	|$L38149|
	DCD	0x40005b04
; Function compile flags: /Ods

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

  00000		 |itoa10| PROC

; 41   : {

  00000		 |$L38149|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd010	 sub         sp, sp, #0x10
  00010		 |$M38147|

; 42   :     int i = 0; 

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

; 43   : 
; 44   :     // Get absolute value of number
; 45   :     unsigned int val = (unsigned int)((n < 0) ? -n : n);

  00018	e59d3018	 ldr         r3, [sp, #0x18]
  0001c	e3530000	 cmp         r3, #0
  00020	aa000003	 bge         |$L38144|
  00024	e59d3018	 ldr         r3, [sp, #0x18]
  00028	e2633000	 rsb         r3, r3, #0
  0002c	e58d300c	 str         r3, [sp, #0xC]
  00030	ea000001	 b           |$L38145|
  00034		 |$L38144|
  00034	e59d3018	 ldr         r3, [sp, #0x18]
  00038	e58d300c	 str         r3, [sp, #0xC]
  0003c		 |$L38145|
  0003c	e59d300c	 ldr         r3, [sp, #0xC]
  00040	e58d3004	 str         r3, [sp, #4]
  00044		 |$L38082|

; 46   : 
; 47   :     // Extract digits in reverse order
; 48   :     do {
; 49   :         s[i++] = (val % 10) + '0';

  00044	e59d1004	 ldr         r1, [sp, #4]
  00048	e3a0000a	 mov         r0, #0xA
  0004c	eb000000	 bl          __rt_udiv
  00050	e2811030	 add         r1, r1, #0x30
  00054	e59d201c	 ldr         r2, [sp, #0x1C]
  00058	e59d3000	 ldr         r3, [sp]
  0005c	e0822003	 add         r2, r2, r3
  00060	e1a03c01	 mov         r3, r1, lsl #24
  00064	e1a03c43	 mov         r3, r3, asr #24
  00068	e5c23000	 strb        r3, [r2]
  0006c	e59d3000	 ldr         r3, [sp]
  00070	e2833001	 add         r3, r3, #1
  00074	e58d3000	 str         r3, [sp]

; 50   :     } while (val /= 10);

  00078	e59d1004	 ldr         r1, [sp, #4]
  0007c	e3a0000a	 mov         r0, #0xA
  00080	eb000000	 bl          __rt_udiv
  00084	e58d0004	 str         r0, [sp, #4]
  00088	e59d3004	 ldr         r3, [sp, #4]
  0008c	e3530000	 cmp         r3, #0
  00090	1affffeb	 bne         |$L38082|

; 51   : 
; 52   :     // Add sign if number negative
; 53   :     if (n < 0) s[i++] = '-';

  00094	e59d3018	 ldr         r3, [sp, #0x18]
  00098	e3530000	 cmp         r3, #0
  0009c	aa000007	 bge         |$L38085|
  000a0	e59d201c	 ldr         r2, [sp, #0x1C]
  000a4	e59d3000	 ldr         r3, [sp]
  000a8	e0822003	 add         r2, r2, r3
  000ac	e3a0302d	 mov         r3, #0x2D
  000b0	e5c23000	 strb        r3, [r2]
  000b4	e59d3000	 ldr         r3, [sp]
  000b8	e2833001	 add         r3, r3, #1
  000bc	e58d3000	 str         r3, [sp]
  000c0		 |$L38085|

; 54   : 
; 55   :     s[i--] = '\0';

  000c0	e59d201c	 ldr         r2, [sp, #0x1C]
  000c4	e59d3000	 ldr         r3, [sp]
  000c8	e0822003	 add         r2, r2, r3
  000cc	e3a03000	 mov         r3, #0
  000d0	e5c23000	 strb        r3, [r2]
  000d4	e59d3000	 ldr         r3, [sp]
  000d8	e2433001	 sub         r3, r3, #1
  000dc	e58d3000	 str         r3, [sp]

; 56   : 
; 57   :     // Reverse string
; 58   :     for (n = 0; n < i; n++, i--) 

  000e0	e3a03000	 mov         r3, #0
  000e4	e58d3018	 str         r3, [sp, #0x18]
  000e8	ea000005	 b           |$L38086|
  000ec		 |$L38087|
  000ec	e59d3018	 ldr         r3, [sp, #0x18]
  000f0	e2833001	 add         r3, r3, #1
  000f4	e58d3018	 str         r3, [sp, #0x18]
  000f8	e59d3000	 ldr         r3, [sp]
  000fc	e2433001	 sub         r3, r3, #1
  00100	e58d3000	 str         r3, [sp]
  00104		 |$L38086|
  00104	e59d2018	 ldr         r2, [sp, #0x18]
  00108	e59d3000	 ldr         r3, [sp]
  0010c	e1520003	 cmp         r2, r3
  00110	aa000012	 bge         |$L38088|

; 59   :     {
; 60   :         char swap = s[n];

  00114	e59d201c	 ldr         r2, [sp, #0x1C]
  00118	e59d3018	 ldr         r3, [sp, #0x18]
  0011c	e0823003	 add         r3, r2, r3
  00120	e1d330d0	 ldrsb       r3, [r3]
  00124	e5cd3008	 strb        r3, [sp, #8]

; 61   :         s[n] = s[i];

  00128	e59d201c	 ldr         r2, [sp, #0x1C]
  0012c	e59d3000	 ldr         r3, [sp]
  00130	e0821003	 add         r1, r2, r3
  00134	e59d201c	 ldr         r2, [sp, #0x1C]
  00138	e59d3018	 ldr         r3, [sp, #0x18]
  0013c	e0822003	 add         r2, r2, r3
  00140	e1d130d0	 ldrsb       r3, [r1]
  00144	e5c23000	 strb        r3, [r2]

; 62   :         s[i] = swap;

  00148	e59d201c	 ldr         r2, [sp, #0x1C]
  0014c	e59d3000	 ldr         r3, [sp]
  00150	e0822003	 add         r2, r2, r3
  00154	e1dd30d8	 ldrsb       r3, [sp, #8]
  00158	e5c23000	 strb        r3, [r2]

; 63   :     }

  0015c	eaffffe2	 b           |$L38087|
  00160		 |$L38088|

; 64   : }

  00160	e28dd010	 add         sp, sp, #0x10
  00164	e89d6000	 ldmia       sp, {sp, lr}
  00168	e12fff1e	 bx          lr
  0016c		 |$M38148|

			 ENDP  ; |itoa10|

	EXPORT	|CreateDeviceName|
	EXPORT	|??_C@_0L@OPLKAENE@EDB9307?11X?$AA@| [ DATA ] ; `string'
	IMPORT	|gBoardInformation|
	IMPORT	|gBoardInformationValid|
	IMPORT	|strlen|
	IMPORT	|strcpy|
	IMPORT	|memcpy|

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

  00000			 AREA	 |.pdata$$CreateDeviceName|, PDATA, SELECTION=5, ASSOC=|.text| { |CreateDeviceName| } ; comdat associative
|$T38157| DCD	|$L38156|
	DCD	0x40004304

  00000			 AREA	 |.rdata| { |??_C@_0L@OPLKAENE@EDB9307?11X?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0L@OPLKAENE@EDB9307?11X?$AA@| DCB "EDB9307/1X", 0x0 ; `string'
; Function compile flags: /Ods

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

  00000		 |CreateDeviceName| PROC

; 100  : {

  00000		 |$L38156|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd00c	 sub         sp, sp, #0xC
  00010		 |$M38154|

; 101  :     DWORD dwUpperMAC;
; 102  : 
; 103  :     if(gBoardInformationValid &&
; 104  :         ( gBoardInformation.strEdbgName[0] != 0xFF ||
; 105  :           gBoardInformation.strEdbgName[1] != 0xFF || 
; 106  :           gBoardInformation.strEdbgName[2] != 0xFF || 
; 107  :           gBoardInformation.strEdbgName[3] != 0xFF ))

  00010	e59f30f0	 ldr         r3, [pc, #0xF0]
  00014	e5933000	 ldr         r3, [r3]
  00018	e3530000	 cmp         r3, #0
  0001c	0a000019	 beq         |$L38102|
  00020	e59f30dc	 ldr         r3, [pc, #0xDC]
  00024	e1d331d0	 ldrsb       r3, [r3, #0x10]
  00028	e35300ff	 cmp         r3, #0xFF
  0002c	1a00000b	 bne         |$L38103|
  00030	e59f30cc	 ldr         r3, [pc, #0xCC]
  00034	e1d331d1	 ldrsb       r3, [r3, #0x11]
  00038	e35300ff	 cmp         r3, #0xFF
  0003c	1a000007	 bne         |$L38103|
  00040	e59f30bc	 ldr         r3, [pc, #0xBC]
  00044	e1d331d2	 ldrsb       r3, [r3, #0x12]
  00048	e35300ff	 cmp         r3, #0xFF
  0004c	1a000003	 bne         |$L38103|
  00050	e59f30ac	 ldr         r3, [pc, #0xAC]

⌨️ 快捷键说明

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