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

📄 dm9000.cod

📁 PXA255/270平台的 DM9000AE网卡驱动程序
💻 COD
📖 第 1 页 / 共 5 页
字号:
  00000		 |??0CMutex@@QAA@XZ| PROC		; CMutex::CMutex

; 270  : 	{

  00000		 |$L36263|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M36261|
  00004	e1a04000	 mov         r4, r0

; 271  : 		memset((void*)&m_Critical,0,sizeof(m_Critical));

  00008	e3a02014	 mov         r2, #0x14
  0000c	e3a01000	 mov         r1, #0
  00010	eb000000	 bl          memset

; 272  : 		InitializeCriticalSection(&m_Critical);

  00014	e1a00004	 mov         r0, r4
  00018	eb000000	 bl          InitializeCriticalSection

; 273  : 	};

  0001c	e1a00004	 mov         r0, r4
  00020	e8bd4010	 ldmia       sp!, {r4, lr}
  00024	e12fff1e	 bx          lr
  00028		 |$M36262|

			 ENDP  ; |??0CMutex@@QAA@XZ|, CMutex::CMutex

	EXPORT	|??1CMutex@@QAA@XZ|			; CMutex::~CMutex
	IMPORT	|DeleteCriticalSection|

  00000			 AREA	 |.text| { |??1CMutex@@QAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$??1CMutex@@QAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??1CMutex@@QAA@XZ| } ; comdat associative
|$T36272| DCD	|$L36271|
	DCD	0x40000401
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |??1CMutex@@QAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |??1CMutex@@QAA@XZ| PROC		; CMutex::~CMutex

; 276  : 	{

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

; 277  : 		DeleteCriticalSection(&m_Critical);

  00004	eb000000	 bl          DeleteCriticalSection

; 278  : 	};

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

			 ENDP  ; |??1CMutex@@QAA@XZ|, CMutex::~CMutex

	EXPORT	|?TryLock@CMutex@@QAAHXZ|		; CMutex::TryLock
	IMPORT	|TryEnterCriticalSection|

  00000			 AREA	 |.text| { |?TryLock@CMutex@@QAAHXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?TryLock@CMutex@@QAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?TryLock@CMutex@@QAAHXZ| } ; comdat associative
|$T36282| DCD	|$L36281|
	DCD	0x40000401
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?TryLock@CMutex@@QAAHXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?TryLock@CMutex@@QAAHXZ| PROC		; CMutex::TryLock

; 281  : 	{

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

; 282  : 		return TryEnterCriticalSection(&m_Critical);

  00004	eb000000	 bl          TryEnterCriticalSection

; 283  : 	};

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

			 ENDP  ; |?TryLock@CMutex@@QAAHXZ|, CMutex::TryLock

	EXPORT	|?Lock@CMutex@@QAAHKK@Z|		; CMutex::Lock
	IMPORT	|EnterCriticalSection|

  00000			 AREA	 |.text| { |?Lock@CMutex@@QAAHKK@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?Lock@CMutex@@QAAHKK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?Lock@CMutex@@QAAHKK@Z| } ; comdat associative
|$T36292| DCD	|$L36291|
	DCD	0x40000501
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?Lock@CMutex@@QAAHKK@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?Lock@CMutex@@QAAHKK@Z| PROC		; CMutex::Lock

; 286  : 	{

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

; 287  : 		EnterCriticalSection(&m_Critical);

  00004	eb000000	 bl          EnterCriticalSection

; 288  : 		return 1;

  00008	e3a00001	 mov         r0, #1

; 289  : 	};

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

			 ENDP  ; |?Lock@CMutex@@QAAHKK@Z|, CMutex::Lock

	EXPORT	|?Release@CMutex@@QAAXXZ|		; CMutex::Release
	IMPORT	|LeaveCriticalSection|

  00000			 AREA	 |.text| { |?Release@CMutex@@QAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?Release@CMutex@@QAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?Release@CMutex@@QAAXXZ| } ; comdat associative
|$T36300| DCD	|$L36299|
	DCD	0x40000401
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?Release@CMutex@@QAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?Release@CMutex@@QAAXXZ| PROC		; CMutex::Release

; 292  : 	{

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

; 293  : 		LeaveCriticalSection(&m_Critical);

  00004	eb000000	 bl          LeaveCriticalSection

; 294  : 	};

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

			 ENDP  ; |?Release@CMutex@@QAAXXZ|, CMutex::Release

	EXPORT	|??0CQueue@@QAA@XZ|			; CQueue::CQueue

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

  00000			 AREA	 |.pdata$$??0CQueue@@QAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??0CQueue@@QAA@XZ| } ; comdat associative
|$T36313| DCD	|$L36312|
	DCD	0x40000d01
; Function compile flags: /Ogsy

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

  00000		 |??0CQueue@@QAA@XZ| PROC		; CQueue::CQueue

; 322  : 	{

  00000		 |$L36312|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M36310|
  00004	e1a04000	 mov         r4, r0
  00008	e3a02014	 mov         r2, #0x14
  0000c	e3a01000	 mov         r1, #0
  00010	eb000000	 bl          memset
  00014	e1a00004	 mov         r0, r4
  00018	eb000000	 bl          NdisAllocateSpinLock

; 323  : 		m_pHead = m_pTail = NULL;

  0001c	e3a03000	 mov         r3, #0
  00020	e5843018	 str         r3, [r4, #0x18]
  00024	e5843014	 str         r3, [r4, #0x14]

; 324  : 	};

  00028	e1a00004	 mov         r0, r4
  0002c	e8bd4010	 ldmia       sp!, {r4, lr}
  00030	e12fff1e	 bx          lr
  00034		 |$M36311|

			 ENDP  ; |??0CQueue@@QAA@XZ|, CQueue::CQueue

	EXPORT	|?Enqueue@CQueue@@QAAXPAU_CQUEUE_GEN_HEADER@@@Z| ; CQueue::Enqueue
	EXPORT	|??_C@_1BK@KENPOFKP@?$AAF?$AAA?$AAT?$AAA?$AAL?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?6?$AA?$AA@| [ DATA ] ; `string'
	IMPORT	|NKDbgPrintfW|

  00000			 AREA	 |.text| { |?Enqueue@CQueue@@QAAXPAU_CQUEUE_GEN_HEADER@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?Enqueue@CQueue@@QAAXPAU_CQUEUE_GEN_HEADER@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?Enqueue@CQueue@@QAAXPAU_CQUEUE_GEN_HEADER@@@Z| } ; comdat associative
|$T36329| DCD	|$L36328|
	DCD	0x40001301

  00000			 AREA	 |.rdata| { |??_C@_1BK@KENPOFKP@?$AAF?$AAA?$AAT?$AAA?$AAL?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?6?$AA?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1BK@KENPOFKP@?$AAF?$AAA?$AAT?$AAA?$AAL?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?6?$AA?$AA@| DCB "F"
	DCB	0x0, "A", 0x0, "T", 0x0, "A", 0x0, "L", 0x0, " ", 0x0, "E"
	DCB	0x0, "R", 0x0, "R", 0x0, "O", 0x0, "R", 0x0, 0xa, 0x0, 0x0
	DCB	0x0					; `string'
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?Enqueue@CQueue@@QAAXPAU_CQUEUE_GEN_HEADER@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?Enqueue@CQueue@@QAAXPAU_CQUEUE_GEN_HEADER@@@Z| PROC ; CQueue::Enqueue

; 328  : 	{

  00000		 |$L36328|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004		 |$M36326|
  00004	e1b05001	 movs        r5, r1
  00008	e1a04000	 mov         r4, r0

; 329  : 		HALT(!pObject);

  0000c	059f0034	 ldreq       r0, [pc, #0x34]
  00010	0b000000	 bleq        NKDbgPrintfW

; 330  : 
; 331  : 		m_spinLock.Lock();

  00014	e1a00004	 mov         r0, r4
  00018	eb000000	 bl          NdisAcquireSpinLock

; 332  : 		pObject->pNext = NULL;

  0001c	e3a03000	 mov         r3, #0
  00020	e5853000	 str         r3, [r5]

; 333  : 		if(m_pTail == NULL)

  00024	e5943018	 ldr         r3, [r4, #0x18]

; 334  : 		{
; 335  : 			m_pHead = m_pTail = pObject;
; 336  : 		}
; 337  : 		else	
; 338  : 		{
; 339  : 			m_pTail->pNext = pObject;
; 340  : 			m_pTail = pObject;
; 341  : 		}
; 342  : 		m_spinLock.Release();

  00028	e1a00004	 mov         r0, r4
  0002c	e3530000	 cmp         r3, #0
  00030	05845014	 streq       r5, [r4, #0x14]
  00034	15835000	 strne       r5, [r3]
  00038	e5845018	 str         r5, [r4, #0x18]
  0003c	eb000000	 bl          NdisReleaseSpinLock

; 343  : 	};

  00040	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  00044	e12fff1e	 bx          lr
  00048		 |$L36331|
  00048	00000000	 DCD         |??_C@_1BK@KENPOFKP@?$AAF?$AAA?$AAT?$AAA?$AAL?$AA?5?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?6?$AA?$AA@|
  0004c		 |$M36327|

			 ENDP  ; |?Enqueue@CQueue@@QAAXPAU_CQUEUE_GEN_HEADER@@@Z|, CQueue::Enqueue

	EXPORT	|?Dequeue@CQueue@@QAAPAU_CQUEUE_GEN_HEADER@@XZ| ; CQueue::Dequeue

  00000			 AREA	 |.text| { |?Dequeue@CQueue@@QAAPAU_CQUEUE_GEN_HEADER@@XZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?Dequeue@CQueue@@QAAPAU_CQUEUE_GEN_HEADER@@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?Dequeue@CQueue@@QAAPAU_CQUEUE_GEN_HEADER@@XZ| } ; comdat associative
|$T36348| DCD	|$L36347|
	DCD	0x40001201
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?Dequeue@CQueue@@QAAPAU_CQUEUE_GEN_HEADER@@XZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?Dequeue@CQueue@@QAAPAU_CQUEUE_GEN_HEADER@@XZ| PROC ; CQueue::Dequeue

; 346  : 	{

  00000		 |$L36347|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004		 |$M36345|
  00004	e1a04000	 mov         r4, r0

; 347  : 		PCQUEUE_GEN_HEADER	pcurr = m_pHead;
; 348  : 		m_spinLock.Lock();

  00008	e5945014	 ldr         r5, [r4, #0x14]
  0000c	eb000000	 bl          NdisAcquireSpinLock

; 349  : 		if(m_pHead != NULL) 

  00010	e5943014	 ldr         r3, [r4, #0x14]
  00014	e1b02003	 movs        r2, r3
  00018	0a000005	 beq         |$L34891|

; 350  : 		{
; 351  : 			if(m_pHead == m_pTail)

  0001c	e5943018	 ldr         r3, [r4, #0x18]
  00020	e1520003	 cmp         r2, r3

; 352  : 				m_pHead = m_pTail = NULL;

  00024	03a03000	 moveq       r3, #0
  00028	05843018	 streq       r3, [r4, #0x18]

; 353  : 			else
; 354  : 				m_pHead = m_pHead->pNext;

  0002c	15923000	 ldrne       r3, [r2]
  00030	e5843014	 str         r3, [r4, #0x14]
  00034		 |$L34891|

; 355  : 		}
; 356  : 		m_spinLock.Release();

  00034	e1a00004	 mov         r0, r4
  00038	eb000000	 bl          NdisReleaseSpinLock

; 357  : 		return pcurr;

  0003c	e1a00005	 mov         r0, r5

; 358  : 	};

  00040	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  00044	e12fff1e	 bx          lr
  00048		 |$M36346|

			 ENDP  ; |?Dequeue@CQueue@@QAAPAU_CQUEUE_GEN_HEADER@@XZ|, CQueue::Dequeue

⌨️ 快捷键说明

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