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

📄 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\Kernel\Hal\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|
; 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
|$T15279| DCD	|$L15278|
	DCD	0x40002701
; Function compile flags: /Ogsy

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

  00000		 |itoa10| PROC

; 41   : {

  00000		 |$L15278|
  00000	e92d4070	 stmdb       sp!, {r4 - r6, lr}
  00004		 |$M15276|
  00004	e1a04001	 mov         r4, r1
  00008	e3500000	 cmp         r0, #0

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

  0000c	e59f6084	 ldr         r6, [pc, #0x84]
  00010	42605000	 rsbmi       r5, r0, #0
  00014	51a05000	 movpl       r5, r0
  00018	e3a0e000	 mov         lr, #0
  0001c		 |$L15194|

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

  0001c	e0832695	 umull       r2, r3, r5, r6
  00020	e1a011a3	 mov         r1, r3, lsr #3
  00024	e0813101	 add         r3, r1, r1, lsl #2
  00028	e0453083	 sub         r3, r5, r3, lsl #1
  0002c	e2833030	 add         r3, r3, #0x30
  00030	e7ce3004	 strb        r3, [lr, +r4]
  00034	e28ee001	 add         lr, lr, #1

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

  00038	e1b05001	 movs        r5, r1
  0003c	1afffff6	 bne         |$L15194|

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

  00040	e3500000	 cmp         r0, #0
  00044	43a0302d	 movmi       r3, #0x2D
  00048	47ce3004	 strmib      r3, [lr, +r4]
  0004c	428ee001	 addmi       lr, lr, #1

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

  00050	e3a03000	 mov         r3, #0
  00054	e7ce3004	 strb        r3, [lr, +r4]
  00058	e24ee001	 sub         lr, lr, #1

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

  0005c	e35e0000	 cmp         lr, #0
  00060	e3a05000	 mov         r5, #0
  00064	da000009	 ble         |$L15200|
  00068		 |$L15198|
  00068	e1a01005	 mov         r1, r5
  0006c	e1a0000e	 mov         r0, lr

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

  00070	e1b120d4	 ldrsb       r2, [r1, +r4]!

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

  00074	e1b030d4	 ldrsb       r3, [r0, +r4]!
  00078	e2855001	 add         r5, r5, #1
  0007c	e24ee001	 sub         lr, lr, #1
  00080	e155000e	 cmp         r5, lr
  00084	e5c13000	 strb        r3, [r1]

; 62   :         s[i] = swap;

  00088	e5c02000	 strb        r2, [r0]
  0008c	bafffff5	 blt         |$L15198|
  00090		 |$L15200|

; 63   :     }
; 64   : }

  00090	e8bd4070	 ldmia       sp!, {r4 - r6, lr}
  00094	e12fff1e	 bx          lr
  00098		 |$L15281|
  00098	cccccccd	 DCD         0xcccccccd
  0009c		 |$M15277|

			 ENDP  ; |itoa10|


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

  00000			 AREA	 |.pdata$$UpperDWFromMAC|, PDATA, SELECTION=5, ASSOC=|.text| { |UpperDWFromMAC| } ; comdat associative
|$T15290| DCD	|$L15289|
	DCD	0x40000800
; Function compile flags: /Ogsy

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

  00000		 |UpperDWFromMAC| PROC

; 73   : {

  00000		 |$L15289|
  00000		 |$M15287|
  00000	e1d010b4	 ldrh        r1, [r0, #4]

; 74   :     DWORD ret;
; 75   : 
; 76   :     //
; 77   :     // The WORDs in wMAC field are in net order, so we need to do some
; 78   :     // serious shifting around.
; 79   :     // A hex ethernet address of 12 34 56 78 9a bc is stored in wMAC array as
; 80   :     // wMAC[0] = 3412, wMAC[1] = 7856, wMAC[2] = bc9a.
; 81   :     // The 4 byte return value should look like 0x00123456
; 82   :     //
; 83   :     ret = (pAddr->wMAC[0] & 0x00ff) << 16;
; 84   :     ret |= pAddr->wMAC[0] & 0xff00;
; 85   :     ret |= pAddr->wMAC[1] & 0x00ff;
; 86   :     return ret;

  00004	e1d030b6	 ldrh        r3, [r0, #6]
  00008	e20120ff	 and         r2, r1, #0xFF
  0000c	e20330ff	 and         r3, r3, #0xFF
  00010	e1832802	 orr         r2, r3, r2, lsl #16
  00014	e2013cff	 and         r3, r1, #0xFF, 24
  00018	e1820003	 orr         r0, r2, r3

; 87   : }

  0001c	e12fff1e	 bx          lr
  00020		 |$M15288|

			 ENDP  ; |UpperDWFromMAC|

	EXPORT	|CreateDeviceName|

⌨️ 快捷键说明

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