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

📄 halether.cod

📁 EP9315的BSP包(WINCE下的BSP,内有各种驱动的详细的代码)
💻 COD
📖 第 1 页 / 共 5 页
字号:
  00258	e1a02820	 mov       r2, r0, lsr #16
  0025c	e1a00801	 mov       r0, r1, lsl #16
  00260	e1d610b4	 ldrh      r1, [r6, #4]
  00264	e1a03820	 mov       r3, r0, lsr #16
  00268	e1a00801	 mov       r0, r1, lsl #16
  0026c	e1a01422	 mov       r1, r2, lsr #8
  00270	e1a04820	 mov       r4, r0, lsr #16
  00274	e58d1008	 str       r1, [sp, #8]
  00278	e20200ff	 and       r0, r2, #0xFF
  0027c	e1a01423	 mov       r1, r3, lsr #8
  00280	e58d0004	 str       r0, [sp, #4]
  00284	e58d1000	 str       r1, [sp]
  00288	e20330ff	 and       r3, r3, #0xFF
  0028c	e59f0024	 ldr       r0, [pc, #0x24]
  00290	e1a02424	 mov       r2, r4, lsr #8
  00294	e20410ff	 and       r1, r4, #0xFF
  00298	eb000000	 bl        EdbgOutputDebugString

; 336  : 
; 337  : #ifdef IMGSHAREETH 
; 338  :     VBridgeInit();

  0029c	eb000000	 bl        VBridgeInit

; 339  :     VBridgeKSetLocalMacAddress((char *)wLocalMAC);

  002a0	e1a00005	 mov       r0, r5
  002a4	eb000000	 bl        VBridgeKSetLocalMacAddress

; 340  : #endif
; 341  : 
; 342  : 
; 343  : 
; 344  :     // Enable filtering of broadcast packets (all except ARP packets) to reduce 
; 345  :     // overhead.  We still have to take an interrupt, but the driver can 
; 346  :     // quickly determine whether a packet may be discarded without having to 
; 347  :     // copy all the data from the chip.   Note that we cannot turn this option 
; 348  :     // on until DHCP is done processing, since some DHCP servers return 
; 349  :     // responses in broadcast frames.
; 350  : 
; 351  : #ifndef IMGSHAREETH
; 352  :     if (pAdapter->Addr.dwIP)
; 353  :         pfnEDbgSetOptions(OPT_BROADCAST_FILTERING);
; 354  : #endif
; 355  : 
; 356  :     DEBUGMSG(1, (TEXT("-OEMEthInit\r\n")));
; 357  : 
; 358  :     return (TRUE);

  002a8	e3a00001	 mov       r0, #1
  002ac		 |$L14153|

; 359  : }

  002ac	e28dd00c	 add       sp, sp, #0xC
  002b0	e8bd40f0	 ldmia     sp!, {r4 - r7, lr}
  002b4	e12fff1e	 bx        lr
  002b8		 |$L14460|
  002b8	00000000	 DCD       |??_C@_0EB@CCJL@Debug?5Ethernet?5card?5initialized?0@|
  002bc	00000000	 DCD       |wLocalMAC|
  002c0	00000000	 DCD       |??_C@_0FJ@FLNM@Invalid?5Ethernet?5address?5read?5fr@|
  002c4	00000000	 DCD       |??_C@_0CG@LKBO@INFO?3?5EDBG?5using?5NE2000?5controll@|
  002c8	00000000	 DCD       |NE2000MulticastList|
  002cc	00000000	 DCD       |pfnMulticastList|
  002d0	00000000	 DCD       |Ne2000CurrentPacketFilter|
  002d4	00000000	 DCD       |pfnCurrentPacketFilter|
  002d8	00000000	 DCD       |NE2000SetOptions|
  002dc	00000000	 DCD       |pfnEDbgSetOptions|
  002e0	00000000	 DCD       |NE2000WriteEEPROM|
  002e4	00000000	 DCD       |pfnEDbgWriteEEPROM|
  002e8	00000000	 DCD       |NE2000ReadEEPROM|
  002ec	00000000	 DCD       |pfnEDbgReadEEPROM|
  002f0	00000000	 DCD       |NE2000SendFrame|
  002f4	00000000	 DCD       |pfnEDbgSendFrame|
  002f8	00000000	 DCD       |NE2000GetFrame|
  002fc	00000000	 DCD       |pfnEDbgGetFrame|
  00300	00000000	 DCD       |NE2000GetPendingInts|
  00304	00000000	 DCD       |pfnEDbgGetPendingInts|
  00308	00000000	 DCD       |NE2000DisableInts|
  0030c	00000000	 DCD       |pfnEDbgDisableInts|
  00310	00000000	 DCD       |NE2000EnableInts|
  00314	00000000	 DCD       |pfnEDbgEnableInts|
  00318	00000000	 DCD       |pfnEDbgInit|
  0031c	00000000	 DCD       |NE2000Init|
  00320	00000000	 DCD       |??_C@_0CP@BOGC@INFO?3?5EDBG?5using?5Internal?5EP931x@|
  00324	a0008818	 DCD       0xa0008818
  00328	a0008816	 DCD       0xa0008816
  0032c	a0008814	 DCD       0xa0008814
  00330	00000000	 DCD       |??_C@_0DB@LMBN@ERROR?3?5Failed?5to?5Initialize?5CS89@|
  00334	00000000	 DCD       |CS8950WriteEEPROM|
  00338	00000000	 DCD       |CS8950ReadEEPROM|
  0033c	00000000	 DCD       |CS8950SendFrame|
  00340	00000000	 DCD       |CS8950GetFrame|
  00344	00000000	 DCD       |CS8950GetPendingInterrupts|
  00348	00000000	 DCD       |CS8950DisableInts|
  0034c	00000000	 DCD       |CS8950EnableInts|
  00350	00000000	 DCD       |CS8950Init|
  00354	00000000	 DCD       |??_C@_0DF@PDDG@Unsupported?5debug?5Ethernet?5param@|
  00358	a0008860	 DCD       0xa0008860
  0035c	a000885c	 DCD       0xa000885c
  00360	a0008858	 DCD       0xa0008858
  00364	a0008810	 DCD       0xa0008810
  00368		 |$M14457|

			 ENDP  ; |OEMEthInit|

	EXPORT	|OEMEthEnableInts|

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

  00000			 AREA	 |.pdata$$OEMEthEnableInts|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMEthEnableInts| } ; comdat associative
|$T14465| DCD	|OEMEthEnableInts|
	DCD	0x40000901
; Function compile flags: /Ogsy

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

  00000		 |OEMEthEnableInts| PROC

; 368  : {

  00000	e52de004	 str       lr, [sp, #-4]!
  00004		 |$M14463|

; 369  : 
; 370  :     if(pfnEDbgEnableInts)

  00004	e59f0014	 ldr       r0, [pc, #0x14]
  00008	e5901000	 ldr       r1, [r0]
  0000c	e3510000	 cmp       r1, #0

; 371  :     {
; 372  :         pfnEDbgEnableInts();

  00010	11a0e00f	 movne     lr, pc
  00014	112fff11	 bxne      r1

; 373  :     }
; 374  : }

  00018	e8bd4000	 ldmia     sp!, {lr}
  0001c	e12fff1e	 bx        lr
  00020		 |$L14467|
  00020	00000000	 DCD       |pfnEDbgEnableInts|
  00024		 |$M14464|

			 ENDP  ; |OEMEthEnableInts|

	EXPORT	|OEMEthDisableInts|

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

  00000			 AREA	 |.pdata$$OEMEthDisableInts|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMEthDisableInts| } ; comdat associative
|$T14472| DCD	|OEMEthDisableInts|
	DCD	0x40000901
; Function compile flags: /Ogsy

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

  00000		 |OEMEthDisableInts| PROC

; 382  : {

  00000	e52de004	 str       lr, [sp, #-4]!
  00004		 |$M14470|

; 383  :     if(pfnEDbgDisableInts)

  00004	e59f0014	 ldr       r0, [pc, #0x14]
  00008	e5901000	 ldr       r1, [r0]
  0000c	e3510000	 cmp       r1, #0

; 384  :     {
; 385  :         pfnEDbgDisableInts();

  00010	11a0e00f	 movne     lr, pc
  00014	112fff11	 bxne      r1

; 386  :     }
; 387  : }

  00018	e8bd4000	 ldmia     sp!, {lr}
  0001c	e12fff1e	 bx        lr
  00020		 |$L14474|
  00020	00000000	 DCD       |pfnEDbgDisableInts|
  00024		 |$M14471|

			 ENDP  ; |OEMEthDisableInts|

	EXPORT	|ProcessVMiniSend|
	IMPORT	|VBridgeKGetOneTxBuffer|
	IMPORT	|VBridgeKGetOneTxBufferComplete|

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

  00000			 AREA	 |.pdata$$ProcessVMiniSend|, PDATA, SELECTION=5, ASSOC=|.text| { |ProcessVMiniSend| } ; comdat associative
|$T14481| DCD	|ProcessVMiniSend|
	DCD	0x40003702
; Function compile flags: /Ogsy

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

  00000		 |ProcessVMiniSend| PROC

; 399  : {

  00000	e92d4010	 stmdb     sp!, {r4, lr}
  00004	e24dd008	 sub       sp, sp, #8
  00008		 |$M14479|

; 400  :     PBYTE   pVMiniData;
; 401  :     DWORD   dwVMiniDataLength;
; 402  : 
; 403  :     ////////////////////////////////////////////////////////////////////////////
; 404  :     //  Handle the filter if we need to..
; 405  :     //
; 406  :     if (bNewFilter && pfnCurrentPacketFilter)

  00008	e59f10c8	 ldr       r1, [pc, #0xC8]
  0000c	e3a04000	 mov       r4, #0
  00010	e5910000	 ldr       r0, [r1]
  00014	e3500000	 cmp       r0, #0
  00018	159f00b4	 ldrne     r0, [pc, #0xB4]
  0001c	15902000	 ldrne     r2, [r0]
  00020	13520000	 cmpne     r2, #0

; 407  :     {
; 408  :         bNewFilter = FALSE;     
; 409  :         pfnCurrentPacketFilter(dwFilter);

  00024	159f00a4	 ldrne     r0, [pc, #0xA4]
  00028	15814000	 strne     r4, [r1]
  0002c	15900000	 ldrne     r0, [r0]
  00030	11a0e00f	 movne     lr, pc
  00034	112fff12	 bxne      r2

; 410  :     }       
; 411  : 
; 412  :     //
; 413  :     //  Handle new multicast list..
; 414  :     //  
; 415  :     
; 416  :     if (bNewMulticast && pfnMulticastList)

  00038	e59f108c	 ldr       r1, [pc, #0x8C]
  0003c	e5910000	 ldr       r0, [r1]
  00040	e3500000	 cmp       r0, #0
  00044	159f007c	 ldrne     r0, [pc, #0x7C]
  00048	15902000	 ldrne     r2, [r0]
  0004c	13520000	 cmpne     r2, #0

; 417  :     {
; 418  :         bNewMulticast = FALSE;
; 419  :         pfnMulticastList(
; 420  :             (PUCHAR)ucMultiAddr,
; 421  :             dwNoOfEntry);

  00050	159f006c	 ldrne     r0, [pc, #0x6C]
  00054	15814000	 strne     r4, [r1]
  00058	15901000	 ldrne     r1, [r0]
  0005c	159f005c	 ldrne     r0, [pc, #0x5C]
  00060	11a0e00f	 movne     lr, pc
  00064	112fff12	 bxne      r2

; 422  :     }
; 423  : 
; 424  :     ////////////////////////////////////////////////////////////////////////////
; 425  :     //  Consume all the client packets.
; 426  :     //
; 427  :     while (VBridgeKGetOneTxBuffer(&pVMiniData, &dwVMiniDataLength) == TRUE)

  00068	e28d1004	 add       r1, sp, #4
  0006c	e28d0000	 add       r0, sp, #0
  00070	eb000000	 bl        VBridgeKGetOneTxBuffer
  00074	e3500001	 cmp       r0, #1
  00078	1a00000c	 bne       |$L14204|
  0007c	e59f4038	 ldr       r4, [pc, #0x38]
  00080		 |$L14203|

; 428  :     {
; 429  :         pfnEDbgSendFrame (pVMiniData, dwVMiniDataLength);

  00080	e59d1004	 ldr       r1, [sp, #4]
  00084	e59d0000	 ldr       r0, [sp]
  00088	e5942000	 ldr       r2, [r4]
  0008c	e1a0e00f	 mov       lr, pc
  00090	e12fff12	 bx        r2

; 430  :         VBridgeKGetOneTxBufferComplete(pVMiniData);

  00094	e59d0000	 ldr       r0, [sp]
  00098	eb000000	 bl        VBridgeKGetOneTxBufferComplete
  0009c	e28d1004	 add       r1, sp, #4
  000a0	e28d0000	 add       r0, sp, #0
  000a4	eb000000	 bl        VBridgeKGetOneTxBuffer
  000a8	e3500001	 cmp       r0, #1
  000ac	0afffff3	 beq       |$L14203|
  000b0		 |$L14204|

; 431  :     } 
; 432  : 
; 433  : }   //  ProcessVMiniSend()

  000b0	e28dd008	 add       sp, sp, #8
  000b4	e8bd4010	 ldmia     sp!, {r4, lr}
  000b8	e12fff1e	 bx        lr
  000bc		 |$L14483|
  000bc	00000000	 DCD       |pfnEDbgSendFrame|
  000c0	00000000	 DCD       |ucMultiAddr|
  000c4	00000000	 DCD       |dwNoOfEntry|
  000c8	00000000	 DCD       |pfnMulticastList|
  000cc	00000000	 DCD       |bNewMulticast|
  000d0	00000000	 DCD       |dwFilter|
  000d4	00000000	 DCD       |pfnCurrentPacketFilter|
  000d8	00000000	 DCD       |bNewFilter|
  000dc		 |$M14480|

			 ENDP  ; |ProcessVMiniSend|

	EXPORT	|OEMEthISR|
	EXPORT	|??_C@_01FIAI@X?$AA@| [ DATA ]		; `string'

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

  00000			 AREA	 |.pdata$$OEMEthISR|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMEthISR| } ; comdat associative
|$T14490| DCD	|OEMEthISR|
	DCD	0x40001101

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

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

  00000		 |OEMEthISR| PROC

; 449  : {

  00000	e92d4010	 stmdb     sp!, {r4, lr}
  00004		 |$M14488|

; 450  :     DWORD dwReturnValue = 0;
; 451  : 
; 452  :     EdbgOutputDebugString("X");

  00004	e59f0034	 ldr       r0, [pc, #0x34]
  00008	e3a04000	 mov       r4, #0
  0000c	eb000000	 bl        EdbgOutputDebugString

; 453  : 
; 454  : #ifdef IMGSHAREETH
; 455  :     ProcessVMiniSend();

  00010	eb000000	 bl        ProcessVMiniSend

; 456  : #endif
; 457  :     if(pfnEDbgGetPendingInts)

  00014	e59f3020	 ldr       r3, [pc, #0x20]
  00018	e5930000	 ldr       r0, [r3]
  0001c	e3500000	 cmp       r0, #0
  00020	0a000002	 beq       |$L14208|

; 458  :     {
; 459  :         dwReturnValue = pfnEDbgGetPendingInts();

  00024	e1a0e00f	 mov       lr, pc
  00028	e12fff10	 bx        r0
  0002c	e1a04000	 mov       r4, r0
  00030		 |$L14208|

; 460  :     }
; 461  : 
; 462  :     return dwReturnValue;    

  00030	e1a00004	 mov       r0, r4

; 463  : }

  00034	e8bd4010	 ldmia     sp!, {r4, lr}
  00038	e12fff1e	 bx        lr
  0003c		 |$L14492|
  0003c	00000000	 DCD       |pfnEDbgGetPendingInts|
  00040	00000000	 DCD       |??_C@_01FIAI@X?$AA@|
  00044		 |$M14489|

⌨️ 快捷键说明

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