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

📄 device.cod

📁 PXA255/270平台的 DM9000AE网卡驱动程序
💻 COD
📖 第 1 页 / 共 4 页
字号:
  0009c	0a000002	 beq         |$L35437|
  000a0		 |$L35790|

; 426  : 	{
; 427  : 		return TRUE;

  000a0	e3a00001	 mov         r0, #1

; 430  : }

  000a4	e8bd4070	 ldmia       sp!, {r4 - r6, lr}
  000a8	e12fff1e	 bx          lr
  000ac		 |$L35437|

; 428  : 	}
; 429  : 	return FALSE;

  000ac	e3a00000	 mov         r0, #0

; 430  : }

  000b0	e8bd4070	 ldmia       sp!, {r4 - r6, lr}
  000b4	e12fff1e	 bx          lr
  000b8		 |$M35792|

			 ENDP  ; |?DeviceCheckForHang@NIC_DEVICE_OBJECT@@UAAHXZ|, NIC_DEVICE_OBJECT::DeviceCheckForHang

	EXPORT	|DeviceTimerTrunkRoutine|
; File e:\wince500\platform\berrydale\src\drivers\dm9000\common.h

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

  00000			 AREA	 |.pdata$$DeviceTimerTrunkRoutine|, PDATA, SELECTION=5, ASSOC=|.text| { |DeviceTimerTrunkRoutine| } ; comdat associative
|$T35808| DCD	|$L35807|
	DCD	0x40000f01
; Function compile flags: /Ogsy
; File e:\wince500\platform\berrydale\src\drivers\dm9000\device.cpp

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

  00000		 |DeviceTimerTrunkRoutine| PROC

; 443  : {

  00000		 |$L35807|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M35805|
  00004	e1a04001	 mov         r4, r1

; 444  : 	NIC_DEVICE_OBJECT	*dev = (NIC_DEVICE_OBJECT*)FunctionContext;
; 445  : 
; 446  : 	if(!dev->m_mutexTimer.TryLock()) return;

  00008	e2840d0f	 add         r0, r4, #0xF, 26
  0000c	eb000000	 bl          TryEnterCriticalSection
  00010	e3500000	 cmp         r0, #0
  00014	0a000006	 beq         |$L35802|

; 447  : 	dev->DeviceOnTimer();

  00018	e5943000	 ldr         r3, [r4]
  0001c	e1a00004	 mov         r0, r4
  00020	e59330a0	 ldr         r3, [r3, #0xA0]
  00024	e1a0e00f	 mov         lr, pc
  00028	e12fff13	 bx          r3

; 448  : 	dev->m_mutexTimer.Release();

  0002c	e2840d0f	 add         r0, r4, #0xF, 26
  00030	eb000000	 bl          LeaveCriticalSection
  00034		 |$L35802|

; 449  : }

  00034	e8bd4010	 ldmia       sp!, {r4, lr}
  00038	e12fff1e	 bx          lr
  0003c		 |$M35806|

			 ENDP  ; |DeviceTimerTrunkRoutine|

	EXPORT	|?DeviceInitializeTimer@NIC_DEVICE_OBJECT@@UAAXXZ| ; NIC_DEVICE_OBJECT::DeviceInitializeTimer
	IMPORT	|NdisMInitializeTimer|
; File e:\wince500\platform\berrydale\src\drivers\dm9000\driver.h

  00000			 AREA	 |.text| { |?DeviceInitializeTimer@NIC_DEVICE_OBJECT@@UAAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?DeviceInitializeTimer@NIC_DEVICE_OBJECT@@UAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?DeviceInitializeTimer@NIC_DEVICE_OBJECT@@UAAXXZ| } ; comdat associative
|$T35820| DCD	|$L35819|
	DCD	0x40000a01
; Function compile flags: /Ogsy
; File e:\wince500\platform\berrydale\src\drivers\dm9000\device.cpp

  00000			 AREA	 |.text| { |?DeviceInitializeTimer@NIC_DEVICE_OBJECT@@UAAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?DeviceInitializeTimer@NIC_DEVICE_OBJECT@@UAAXXZ| PROC ; NIC_DEVICE_OBJECT::DeviceInitializeTimer

; 453  : {

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

; 454  : 	NdisMInitializeTimer(
; 455  : 		&m_timerObject,
; 456  : 		m_pUpper->GetNdisHandle(),
; 457  : 		(PNDIS_TIMER_FUNCTION)DeviceTimerTrunkRoutine,
; 458  : 		(PVOID)this);

  00004	e5901004	 ldr         r1, [r0, #4]
  00008	e59f2014	 ldr         r2, [pc, #0x14]
  0000c	e1a03000	 mov         r3, r0
  00010	e5911014	 ldr         r1, [r1, #0x14]
  00014	e2800ff5	 add         r0, r0, #0xF5, 30
  00018	eb000000	 bl          NdisMInitializeTimer

; 459  : }

  0001c	e49de004	 ldr         lr, [sp], #4
  00020	e12fff1e	 bx          lr
  00024		 |$L35822|
  00024	00000000	 DCD         |DeviceTimerTrunkRoutine|
  00028		 |$M35818|

			 ENDP  ; |?DeviceInitializeTimer@NIC_DEVICE_OBJECT@@UAAXXZ|, NIC_DEVICE_OBJECT::DeviceInitializeTimer

	EXPORT	|?DeviceCancelTimer@NIC_DEVICE_OBJECT@@UAAXXZ| ; NIC_DEVICE_OBJECT::DeviceCancelTimer
	IMPORT	|NdisMCancelTimer|

  00000			 AREA	 |.text| { |?DeviceCancelTimer@NIC_DEVICE_OBJECT@@UAAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?DeviceCancelTimer@NIC_DEVICE_OBJECT@@UAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?DeviceCancelTimer@NIC_DEVICE_OBJECT@@UAAXXZ| } ; comdat associative
|$T35829| DCD	|$L35828|
	DCD	0x40000802
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?DeviceCancelTimer@NIC_DEVICE_OBJECT@@UAAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?DeviceCancelTimer@NIC_DEVICE_OBJECT@@UAAXXZ| PROC ; NIC_DEVICE_OBJECT::DeviceCancelTimer

; 462  : {

  00000		 |$L35828|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004	e24dd004	 sub         sp, sp, #4
  00008		 |$M35826|

; 463  : 	BOOLEAN	result;
; 464  : 	NdisMCancelTimer(
; 465  : 		&m_timerObject,
; 466  : 		&result);

  00008	e28d1000	 add         r1, sp, #0
  0000c	e2800ff5	 add         r0, r0, #0xF5, 30
  00010	eb000000	 bl          NdisMCancelTimer

; 467  : }

  00014	e28dd004	 add         sp, sp, #4
  00018	e49de004	 ldr         lr, [sp], #4
  0001c	e12fff1e	 bx          lr
  00020		 |$M35827|

			 ENDP  ; |?DeviceCancelTimer@NIC_DEVICE_OBJECT@@UAAXXZ|, NIC_DEVICE_OBJECT::DeviceCancelTimer

	EXPORT	|?DeviceSetTimer@NIC_DEVICE_OBJECT@@UAAXK@Z| ; NIC_DEVICE_OBJECT::DeviceSetTimer
	IMPORT	|NdisSetTimer|

  00000			 AREA	 |.text| { |?DeviceSetTimer@NIC_DEVICE_OBJECT@@UAAXK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?DeviceSetTimer@NIC_DEVICE_OBJECT@@UAAXK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?DeviceSetTimer@NIC_DEVICE_OBJECT@@UAAXK@Z| } ; comdat associative
|$T35838| DCD	|$L35837|
	DCD	0x40000501
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?DeviceSetTimer@NIC_DEVICE_OBJECT@@UAAXK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?DeviceSetTimer@NIC_DEVICE_OBJECT@@UAAXK@Z| PROC ; NIC_DEVICE_OBJECT::DeviceSetTimer

; 471  : {

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

; 472  : 	NdisMSetTimer(&m_timerObject,milliseconds);

  00004	e2800ff5	 add         r0, r0, #0xF5, 30
  00008	eb000000	 bl          NdisSetTimer

; 473  : }

  0000c	e49de004	 ldr         lr, [sp], #4
  00010	e12fff1e	 bx          lr
  00014		 |$M35836|

			 ENDP  ; |?DeviceSetTimer@NIC_DEVICE_OBJECT@@UAAXK@Z|, NIC_DEVICE_OBJECT::DeviceSetTimer

	EXPORT	|?DeviceOnTimer@NIC_DEVICE_OBJECT@@UAAXXZ| ; NIC_DEVICE_OBJECT::DeviceOnTimer

  00000			 AREA	 |.text| { |?DeviceOnTimer@NIC_DEVICE_OBJECT@@UAAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?DeviceOnTimer@NIC_DEVICE_OBJECT@@UAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?DeviceOnTimer@NIC_DEVICE_OBJECT@@UAAXXZ| } ; comdat associative
|$T35845| DCD	|$L35844|
	DCD	0x40000100
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?DeviceOnTimer@NIC_DEVICE_OBJECT@@UAAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?DeviceOnTimer@NIC_DEVICE_OBJECT@@UAAXXZ| PROC ; NIC_DEVICE_OBJECT::DeviceOnTimer

; 476  : {

  00000		 |$L35844|
  00000		 |$M35842|

; 477  : }

  00000	e12fff1e	 bx          lr
  00004		 |$M35843|

			 ENDP  ; |?DeviceOnTimer@NIC_DEVICE_OBJECT@@UAAXXZ|, NIC_DEVICE_OBJECT::DeviceOnTimer

	EXPORT	|??0C_Exception@@QAA@PAEK@Z|		; C_Exception::C_Exception
; File e:\wince500\platform\berrydale\src\drivers\dm9000\common.h

  00000			 AREA	 |.text| { |??0C_Exception@@QAA@PAEK@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$??0C_Exception@@QAA@PAEK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??0C_Exception@@QAA@PAEK@Z| } ; comdat associative
|$T35860| DCD	|$L35859|
	DCD	0x40000701
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |??0C_Exception@@QAA@PAEK@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |??0C_Exception@@QAA@PAEK@Z| PROC	; C_Exception::C_Exception

; 113  : 		{ Constructor(ptrErr, uErr); }

  00000		 |$L35859|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M35857|
  00004	e1a04000	 mov         r4, r0
  00008	e4802004	 str         r2, [r0], #4
  0000c	eb000000	 bl          NdisInitializeString
  00010	e1a00004	 mov         r0, r4
  00014	e8bd4010	 ldmia       sp!, {r4, lr}
  00018	e12fff1e	 bx          lr
  0001c		 |$M35858|

			 ENDP  ; |??0C_Exception@@QAA@PAEK@Z|, C_Exception::C_Exception

	EXPORT	|?EDeviceRegisterInterrupt@NIC_DEVICE_OBJECT@@UAAXXZ| ; NIC_DEVICE_OBJECT::EDeviceRegisterInterrupt
	EXPORT	|??_C@_0BP@IMCKHPLH@Error?5in?5registering?5interrupt?$AA@| [ DATA ] ; `string'
	IMPORT	|longjmp|
	IMPORT	|??2@YAPAXI@Z|				; operator new
	IMPORT	|NdisMRegisterInterrupt|
	IMPORT	|?_gpExpData@@3PAU_EXCEPTION_DATA@@A|	; _gpExpData

  00000			 AREA	 |.text| { |?EDeviceRegisterInterrupt@NIC_DEVICE_OBJECT@@UAAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?EDeviceRegisterInterrupt@NIC_DEVICE_OBJECT@@UAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?EDeviceRegisterInterrupt@NIC_DEVICE_OBJECT@@UAAXXZ| } ; comdat associative
|$T35885| DCD	|$L35884|
	DCD	0x40002f02

  00000			 AREA	 |.rdata| { |??_C@_0BP@IMCKHPLH@Error?5in?5registering?5interrupt?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BP@IMCKHPLH@Error?5in?5registering?5interrupt?$AA@| DCB "Error in"
	DCB	" registering interrupt", 0x0		; `string'
; Function compile flags: /Ogsy
; File e:\wince500\platform\berrydale\src\drivers\dm9000\device.cpp

  00000			 AREA	 |.text| { |?EDeviceRegisterInterrupt@NIC_DEVICE_OBJECT@@UAAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?EDeviceRegisterInterrupt@NIC_DEVICE_OBJECT@@UAAXXZ| PROC ; NIC_DEVICE_OBJECT::EDeviceRegisterInterrupt

; 336  : {

  00000		 |$L35884|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004	e24dd00c	 sub         sp, sp, #0xC
  00008		 |$M35882|

; 337  : 	if(!m_szConfigures[CID_NEED_INTERRUPT]) return;

  00008	e59030b4	 ldr         r3, [r0, #0xB4]
  0000c	e3530000	 cmp         r3, #0
  00010	0a000024	 beq         |$L35398|

; 338  : 
; 339  : 	NDIS_STATUS	status;
; 340  : 	if((status=NdisMRegisterInterrupt(
; 341  : 		&m_InterruptHandle,
; 342  : 		m_pUpper->GetNdisHandle(),
; 343  : 		m_szConfigures[CID_IRQ_NUMBER],	// or say, irq vector
; 344  : 		m_szConfigures[CID_IRQ_LEVEL],	// irql level
; 345  : 		TRUE,		// request ISR
; 346  : 		(BOOLEAN)m_szConfigures[CID_IRQ_SHARED],		// shared interrupt
; 347  : 		(KINTERRUPT_MODE)m_szConfigures[CID_IRQ_GEN_TYPE])) != NDIS_STATUS_SUCCESS)	

  00014	e5903004	 ldr         r3, [r0, #4]
  00018	e5d0e098	 ldrb        lr, [r0, #0x98]
  0001c	e5904094	 ldr         r4, [r0, #0x94]
  00020	e5931014	 ldr         r1, [r3, #0x14]
  00024	e5903090	 ldr         r3, [r0, #0x90]
  00028	e590208c	 ldr         r2, [r0, #0x8C]
  0002c	e3a05001	 mov         r5, #1
  00030	e2800e37	 add         r0, r0, #0x37, 28
  00034	e58d4008	 str         r4, [sp, #8]
  00038	e58de004	 str         lr, [sp, #4]
  0003c	e58d5000	 str         r5, [sp]
  00040	eb000000	 bl          NdisMRegisterInterrupt
  00044	e1b05000	 movs        r5, r0
  00048	0a000016	 beq         |$L35398|

; 348  : 		THROW((ERR_STRING("Error in registering interrupt"),status));

  0004c	e3a0000c	 mov         r0, #0xC
  00050	eb000000	 bl          |??2@YAPAXI@Z|
  00054	e1b04000	 movs        r4, r0
  00058	0a000004	 beq         |$L35865|
  0005c	e1a00004	 mov         r0, r4
  00060	e59f1050	 ldr         r1, [pc, #0x50]
  00064	e4805004	 str         r5, [r0], #4
  00068	eb000000	 bl          NdisInitializeString
  0006c	ea000000	 b           |$L35866|
  00070		 |$L35865|
  00070	e3a04000	 mov         r4, #0
  00074		 |$L35866|
  00074	e59f0038	 ldr         r0, [pc, #0x38]
  00078	e3a0e02c	 mov         lr, #0x2C
  0007c	e3e01000	 mvn         r1, #0
  00080	e5902000	 ldr         r2, [r0]
  00084	e5923000	 ldr         r3, [r2]
  00088	e0823103	 add         r3, r2, r3, lsl #2
  0008c	e2833a02	 add         r3, r3, #2, 20
  00090	e5834c04	 str         r4, [r3, #0xC04]
  00094	e5902000	 ldr         r2, [r0]
  00098	e5923000	 ldr         r3, [r2]
  0009c	e0222e93	 mla         r2, r3, lr, r2
  000a0	e2820004	 add         r0, r2, #4
  000a4	eb000000	 bl          longjmp
  000a8		 |$L35398|

; 349  : }

  000a8	e28dd00c	 add         sp, sp, #0xC
  000ac	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  000b0	e12fff1e	 bx          lr
  000b4		 |$L35887|
  000b4	00000000	 DCD         |?_gpExpData@@3PAU_EXCEPTION_DATA@@A|
  000b8	00000000	 DCD         |??_C@_0BP@IMCKHPLH@Error?5in?5registering?5interrupt?$AA@|
  000bc		 |$M35883|

			 ENDP  ; |?EDeviceRegisterInterrupt@NIC_DEVICE_OBJECT@@UAAXXZ|, NIC_DEVICE_OBJECT::EDeviceRegisterInterrupt

	END

⌨️ 快捷键说明

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