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

📄 atapipcicd.cod

📁 2440 CE500BSP包, EBOOT可用DEBUG版调试
💻 COD
📖 第 1 页 / 共 2 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4091 

	TTL	D:\WINCE500\PLATFORM\smdk2440\DRIVERS\atapi\.\atapipcicd.cpp
	CODE32

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

	EXPORT	|??0CPCIDiskAndCD@@QAA@PAUHKEY__@@@Z|	; CPCIDiskAndCD::CPCIDiskAndCD
	EXPORT	|CreatePCIHDCD|
	IMPORT	|??2@YAPAXI@Z|				; operator new

  00000			 AREA	 |.pdata|, PDATA
|$T32159| DCD	|$L32158|
	DCD	0x40001b04
; Function compile flags: /Odt
; File d:\wince500\platform\smdk2440\drivers\atapi\atapipcicd.cpp

  00000			 AREA	 |.text|, CODE, ARM

  00000		 |CreatePCIHDCD| PROC

; 40   : {

  00000		 |$L32158|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd014	 sub         sp, sp, #0x14
  00010		 |$M32156|

; 41   :     return new CPCIDiskAndCD(hDevKey);

  00010	e3a00e77	 mov         r0, #0x77, 28
  00014	eb000000	 bl          |??2@YAPAXI@Z|
  00018	e58d0008	 str         r0, [sp, #8]
  0001c	e59d3008	 ldr         r3, [sp, #8]
  00020	e58d3000	 str         r3, [sp]
  00024	e59d3000	 ldr         r3, [sp]
  00028	e3530000	 cmp         r3, #0
  0002c	0a000006	 beq         |$L32153|
  00030	e59d101c	 ldr         r1, [sp, #0x1C]
  00034	e59d0000	 ldr         r0, [sp]
  00038	eb000000	 bl          |??0CPCIDiskAndCD@@QAA@PAUHKEY__@@@Z|
  0003c	e58d000c	 str         r0, [sp, #0xC]
  00040	e59d300c	 ldr         r3, [sp, #0xC]
  00044	e58d3010	 str         r3, [sp, #0x10]
  00048	ea000001	 b           |$L32154|
  0004c		 |$L32153|
  0004c	e3a03000	 mov         r3, #0
  00050	e58d3010	 str         r3, [sp, #0x10]
  00054		 |$L32154|
  00054	e59d3010	 ldr         r3, [sp, #0x10]
  00058	e58d3004	 str         r3, [sp, #4]
  0005c	e59d0004	 ldr         r0, [sp, #4]

; 42   : }

  00060	e28dd014	 add         sp, sp, #0x14
  00064	e89d6000	 ldmia       sp, {sp, lr}
  00068	e12fff1e	 bx          lr
  0006c		 |$M32157|

			 ENDP  ; |CreatePCIHDCD|

	EXPORT	|?TakeCS@CPCIDisk@@UAAXXZ|		; CPCIDisk::TakeCS
	EXPORT	|?ReleaseCS@CPCIDisk@@UAAXXZ|		; CPCIDisk::ReleaseCS
	EXPORT	|?MainIoctl@CPCIDiskAndCD@@UAAKPAU_IOREQ@@@Z| ; CPCIDiskAndCD::MainIoctl
	EXPORT	|??_7CPCIDiskAndCD@@6B@| [ DATA ]	; CPCIDiskAndCD::`vftable'
	EXPORT	|??_GCPCIDiskAndCD@@UAAPAXI@Z|		; CPCIDiskAndCD::`scalar deleting destructor'
	IMPORT	|??0CPCIDisk@@QAA@PAUHKEY__@@@Z|	; CPCIDisk::CPCIDisk
	IMPORT	|?ConfigureRegisterBlock@CPCIDisk@@UAAXK@Z| ; CPCIDisk::ConfigureRegisterBlock
	IMPORT	|?Init@CPCIDisk@@UAAHPAUHKEY__@@@Z|	; CPCIDisk::Init
	IMPORT	|?WaitForInterrupt@CPCIDisk@@UAAHK@Z|	; CPCIDisk::WaitForInterrupt
	IMPORT	|?EnableInterrupt@CPCIDisk@@UAAXXZ|	; CPCIDisk::EnableInterrupt
	IMPORT	|?ConfigPort@CPCIDisk@@UAAHXZ|		; CPCIDisk::ConfigPort
	IMPORT	|?SetupDMA@CPCIDisk@@UAAHPAU_SG_BUF@@KH@Z| ; CPCIDisk::SetupDMA
	IMPORT	|?BeginDMA@CPCIDisk@@UAAHH@Z|		; CPCIDisk::BeginDMA
	IMPORT	|?EndDMA@CPCIDisk@@UAAHXZ|		; CPCIDisk::EndDMA
	IMPORT	|?AbortDMA@CPCIDisk@@UAAHXZ|		; CPCIDisk::AbortDMA
	IMPORT	|?CompleteDMA@CPCIDisk@@UAAHPAU_SG_BUF@@KH@Z| ; CPCIDisk::CompleteDMA
	IMPORT	|?ReadCdRomDMA@CPCIDiskAndCD@@UAAKKKGKPAU_SGX_BUF@@@Z| ; CPCIDiskAndCD::ReadCdRomDMA
	IMPORT	|??_ECPCIDiskAndCD@@UAAPAXI@Z|, WEAK |??_GCPCIDiskAndCD@@UAAPAXI@Z| ; CPCIDiskAndCD::`vector deleting destructor', CPCIDiskAndCD::`scalar deleting destructor'
	IMPORT	|?InitController@CDisk@@UAAHH@Z|	; CDisk::InitController
	IMPORT	|?GetDeviceInfo@CDisk@@UAAKPAU_IOREQ@@@Z| ; CDisk::GetDeviceInfo
	IMPORT	|?WaitForDRQ@CDisk@@UAAHXZ|		; CDisk::WaitForDRQ
	IMPORT	|?WaitForDisc@CDisk@@UAAHEKK@Z|		; CDisk::WaitForDisc
	IMPORT	|?ReadWriteDiskDMA@CDisk@@UAAKPAU_IOREQ@@H@Z| ; CDisk::ReadWriteDiskDMA
	IMPORT	|?GetDiskPowerInterface@CDisk@@UAAPAVCDiskPower@@XZ| ; CDisk::GetDiskPowerInterface
	IMPORT	|?SetDiskPowerState@CDisk@@UAAHW4_CEDEVICE_POWER_STATE@@@Z| ; CDisk::SetDiskPowerState
	IMPORT	|?WakeUp@CDisk@@UAAHXZ|			; CDisk::WakeUp

  00008			 AREA	 |.pdata|, PDATA
|$T32165| DCD	|$L32164|
	DCD	0x40001204

  00000			 AREA	 |.rdata| { |??_7CPCIDiskAndCD@@6B@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_7CPCIDiskAndCD@@6B@| DCD |??_ECPCIDiskAndCD@@UAAPAXI@Z| ; CPCIDiskAndCD::`vftable'
	DCD	|?ConfigureRegisterBlock@CPCIDisk@@UAAXK@Z|
	DCD	|?Init@CPCIDisk@@UAAHPAUHKEY__@@@Z|
	DCD	|?InitController@CDisk@@UAAHH@Z|
	DCD	|?GetDeviceInfo@CDisk@@UAAKPAU_IOREQ@@@Z|
	DCD	|?MainIoctl@CPCIDiskAndCD@@UAAKPAU_IOREQ@@@Z|
	DCD	|?WaitForDRQ@CDisk@@UAAHXZ|
	DCD	|?WaitForDisc@CDisk@@UAAHEKK@Z|
	DCD	|?ReadWriteDiskDMA@CDisk@@UAAKPAU_IOREQ@@H@Z|
	DCD	|?GetDiskPowerInterface@CDisk@@UAAPAVCDiskPower@@XZ|
	DCD	|?SetDiskPowerState@CDisk@@UAAHW4_CEDEVICE_POWER_STATE@@@Z|
	DCD	|?WakeUp@CDisk@@UAAHXZ|
	DCD	|?TakeCS@CPCIDisk@@UAAXXZ|
	DCD	|?ReleaseCS@CPCIDisk@@UAAXXZ|
	DCD	|?WaitForInterrupt@CPCIDisk@@UAAHK@Z|
	DCD	|?EnableInterrupt@CPCIDisk@@UAAXXZ|
	DCD	|?SetupDMA@CPCIDisk@@UAAHPAU_SG_BUF@@KH@Z|
	DCD	|?BeginDMA@CPCIDisk@@UAAHH@Z|
	DCD	|?EndDMA@CPCIDisk@@UAAHXZ|
	DCD	|?AbortDMA@CPCIDisk@@UAAHXZ|
	DCD	|?CompleteDMA@CPCIDisk@@UAAHPAU_SG_BUF@@KH@Z|
	DCD	|?ConfigPort@CPCIDisk@@UAAHXZ|
	DCD	|?ReadCdRomDMA@CPCIDiskAndCD@@UAAKKKGKPAU_SGX_BUF@@@Z|
; Function compile flags: /Odt

  0006c			 AREA	 |.text|, CODE, ARM

  0006c		 |??0CPCIDiskAndCD@@QAA@PAUHKEY__@@@Z| PROC ; CPCIDiskAndCD::CPCIDiskAndCD

; 55   : {

  0006c		 |$L32164|
  0006c	e1a0c00d	 mov         r12, sp
  00070	e92d0003	 stmdb       sp!, {r0, r1}
  00074	e92d5000	 stmdb       sp!, {r12, lr}
  00078	e24dd008	 sub         sp, sp, #8
  0007c		 |$M32162|
  0007c	e59d1014	 ldr         r1, [sp, #0x14]
  00080	e59d0010	 ldr         r0, [sp, #0x10]
  00084	eb000000	 bl          |??0CPCIDisk@@QAA@PAUHKEY__@@@Z|
  00088	e58d0004	 str         r0, [sp, #4]
  0008c	e59f201c	 ldr         r2, [pc, #0x1C]
  00090	e59d3010	 ldr         r3, [sp, #0x10]
  00094	e5832000	 str         r2, [r3]

; 56   :     // empty
; 57   : }

  00098	e59d3010	 ldr         r3, [sp, #0x10]
  0009c	e58d3000	 str         r3, [sp]
  000a0	e59d0000	 ldr         r0, [sp]
  000a4	e28dd008	 add         sp, sp, #8
  000a8	e89d6000	 ldmia       sp, {sp, lr}
  000ac	e12fff1e	 bx          lr
  000b0		 |$L32166|
  000b0	00000000	 DCD         |??_7CPCIDiskAndCD@@6B@|
  000b4		 |$M32163|

			 ENDP  ; |??0CPCIDiskAndCD@@QAA@PAUHKEY__@@@Z|, CPCIDiskAndCD::CPCIDiskAndCD

	IMPORT	|?TakeCS@CPort@@QAAXXZ|			; CPort::TakeCS
; File d:\wince500\platform\smdk2440\drivers\atapi\atapipci.h

  00000			 AREA	 |.text| { |?TakeCS@CPCIDisk@@UAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?TakeCS@CPCIDisk@@UAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?TakeCS@CPCIDisk@@UAAXXZ| } ; comdat associative
|$T32171| DCD	|$L32170|
	DCD	0x40000903
; Function compile flags: /Odt

  00000			 AREA	 |.text| { |?TakeCS@CPCIDisk@@UAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?TakeCS@CPCIDisk@@UAAXXZ| PROC	; CPCIDisk::TakeCS

; 69   :     inline virtual void CPCIDisk::TakeCS() {

  00000		 |$L32170|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M32168|

; 70   :         m_pPort->TakeCS();

  0000c	e59d3008	 ldr         r3, [sp, #8]
  00010	e283303c	 add         r3, r3, #0x3C
  00014	e5930000	 ldr         r0, [r3]
  00018	eb000000	 bl          |?TakeCS@CPort@@QAAXXZ|

; 71   :     }

  0001c	e89d6000	 ldmia       sp, {sp, lr}
  00020	e12fff1e	 bx          lr
  00024		 |$M32169|

			 ENDP  ; |?TakeCS@CPCIDisk@@UAAXXZ|, CPCIDisk::TakeCS

	IMPORT	|?ReleaseCS@CPort@@QAAXXZ|		; CPort::ReleaseCS

  00000			 AREA	 |.text| { |?ReleaseCS@CPCIDisk@@UAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?ReleaseCS@CPCIDisk@@UAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?ReleaseCS@CPCIDisk@@UAAXXZ| } ; comdat associative
|$T32178| DCD	|$L32177|
	DCD	0x40000903
; Function compile flags: /Odt

  00000			 AREA	 |.text| { |?ReleaseCS@CPCIDisk@@UAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?ReleaseCS@CPCIDisk@@UAAXXZ| PROC	; CPCIDisk::ReleaseCS

; 72   :     inline virtual void CPCIDisk::ReleaseCS() {

  00000		 |$L32177|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M32175|

; 73   :         m_pPort->ReleaseCS();

  0000c	e59d3008	 ldr         r3, [sp, #8]
  00010	e283303c	 add         r3, r3, #0x3C
  00014	e5930000	 ldr         r0, [r3]
  00018	eb000000	 bl          |?ReleaseCS@CPort@@QAAXXZ|

; 74   :     }

  0001c	e89d6000	 ldmia       sp, {sp, lr}
  00020	e12fff1e	 bx          lr
  00024		 |$M32176|

			 ENDP  ; |?ReleaseCS@CPCIDisk@@UAAXXZ|, CPCIDisk::ReleaseCS

	EXPORT	|??1CPCIDiskAndCD@@UAA@XZ|		; CPCIDiskAndCD::~CPCIDiskAndCD
	IMPORT	|??3@YAXPAX@Z|				; operator delete

  00000			 AREA	 |.text| { |??_GCPCIDiskAndCD@@UAAPAXI@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$??_GCPCIDiskAndCD@@UAAPAXI@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??_GCPCIDiskAndCD@@UAAPAXI@Z| } ; comdat associative
|$T32186| DCD	|$L32185|
	DCD	0x40001104
; Function compile flags: /Odt

  00000			 AREA	 |.text| { |??_GCPCIDiskAndCD@@UAAPAXI@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |??_GCPCIDiskAndCD@@UAAPAXI@Z| PROC	; CPCIDiskAndCD::`scalar deleting destructor'
  00000		 |$L32185|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd004	 sub         sp, sp, #4
  00010		 |$M32183|
  00010	e59d000c	 ldr         r0, [sp, #0xC]
  00014	eb000000	 bl          |??1CPCIDiskAndCD@@UAA@XZ|
  00018	e59d3010	 ldr         r3, [sp, #0x10]
  0001c	e3130001	 tst         r3, #1
  00020	0a000001	 beq         |$L32107|
  00024	e59d000c	 ldr         r0, [sp, #0xC]
  00028	eb000000	 bl          |??3@YAXPAX@Z|
  0002c		 |$L32107|
  0002c	e59d300c	 ldr         r3, [sp, #0xC]
  00030	e58d3000	 str         r3, [sp]
  00034	e59d0000	 ldr         r0, [sp]
  00038	e28dd004	 add         sp, sp, #4
  0003c	e89d6000	 ldmia       sp, {sp, lr}
  00040	e12fff1e	 bx          lr
  00044		 |$M32184|

			 ENDP  ; |??_GCPCIDiskAndCD@@UAAPAXI@Z|, CPCIDiskAndCD::`scalar deleting destructor'

	IMPORT	|??1CPCIDisk@@UAA@XZ|			; CPCIDisk::~CPCIDisk

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

  00000			 AREA	 |.pdata$$??1CPCIDiskAndCD@@UAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??1CPCIDiskAndCD@@UAA@XZ| } ; comdat associative
|$T32193| DCD	|$L32192|
	DCD	0x40000703
; Function compile flags: /Odt

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

  00000		 |??1CPCIDiskAndCD@@UAA@XZ| PROC	; CPCIDiskAndCD::~CPCIDiskAndCD
  00000		 |$L32192|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M32190|
  0000c	e59d0008	 ldr         r0, [sp, #8]
  00010	eb000000	 bl          |??1CPCIDisk@@UAA@XZ|
  00014	e89d6000	 ldmia       sp, {sp, lr}
  00018	e12fff1e	 bx          lr
  0001c		 |$M32191|

			 ENDP  ; |??1CPCIDiskAndCD@@UAA@XZ|, CPCIDiskAndCD::~CPCIDiskAndCD

	EXPORT	|??_C@_1HE@IGEJDPHE@?$AAA?$AAt?$AAa?$AAp?$AAi?$AA?$CB?$AAC?$AAP?$AAC?$AAI?$AAD?$AAi?$AAs?$AAk?$AAA?$AAn?$AAd?$AAC?$AAD?$AA?3@| [ DATA ] ; `string'
	IMPORT	|?MainIoctl@CPCIDisk@@UAAKPAU_IOREQ@@@Z| ; CPCIDisk::MainIoctl
	IMPORT	|NKDbgPrintfW|
	IMPORT	|dpCurSettings|
	IMPORT	|?AtapiIoctl@CPCIDiskAndCD@@QAAKPAU_IOREQ@@@Z| ; CPCIDiskAndCD::AtapiIoctl
	IMPORT	|?IsAtapiDevice@CDisk@@QAAHXZ|		; CDisk::IsAtapiDevice

  00010			 AREA	 |.pdata|, PDATA
|$T32211| DCD	|$L32210|
	DCD	0x4000e004
; File d:\wince500\platform\smdk2440\drivers\atapi\atapipcicd.cpp

  00000			 AREA	 |.rdata| { |??_C@_1HE@IGEJDPHE@?$AAA?$AAt?$AAa?$AAp?$AAi?$AA?$CB?$AAC?$AAP?$AAC?$AAI?$AAD?$AAi?$AAs?$AAk?$AAA?$AAn?$AAd?$AAC?$AAD?$AA?3@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1HE@IGEJDPHE@?$AAA?$AAt?$AAa?$AAp?$AAi?$AA?$CB?$AAC?$AAP?$AAC?$AAI?$AAD?$AAi?$AAs?$AAk?$AAA?$AAn?$AAd?$AAC?$AAD?$AA?3@| DCB "A"
	DCB	0x0, "t", 0x0, "a", 0x0, "p", 0x0, "i", 0x0, "!", 0x0, "C"
	DCB	0x0, "P", 0x0, "C", 0x0, "I", 0x0, "D", 0x0, "i", 0x0, "s"
	DCB	0x0, "k", 0x0, "A", 0x0, "n", 0x0, "d", 0x0, "C", 0x0, "D"
	DCB	0x0, ":", 0x0, ":", 0x0, "M", 0x0, "a", 0x0, "i", 0x0, "n"
	DCB	0x0, "I", 0x0, "o", 0x0, "c", 0x0, "t", 0x0, "l", 0x0, ">"
	DCB	0x0, " ", 0x0, "I", 0x0, "O", 0x0, "C", 0x0, "T", 0x0, "L"
	DCB	0x0, "(", 0x0, "0", 0x0, "x", 0x0, "%", 0x0, "x", 0x0, ")"
	DCB	0x0, ",", 0x0, " ", 0x0, "d", 0x0, "e", 0x0, "v", 0x0, "i"
	DCB	0x0, "c", 0x0, "e", 0x0, "(", 0x0, "%", 0x0, "d", 0x0, ")"
	DCB	0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0	; `string'
; Function compile flags: /Odt

  000b4			 AREA	 |.text|, CODE, ARM

  000b4		 |?MainIoctl@CPCIDiskAndCD@@UAAKPAU_IOREQ@@@Z| PROC ; CPCIDiskAndCD::MainIoctl

; 71   : {

  000b4		 |$L32210|
  000b4	e1a0c00d	 mov         r12, sp
  000b8	e92d0003	 stmdb       sp!, {r0, r1}
  000bc	e92d5000	 stmdb       sp!, {r12, lr}

⌨️ 快捷键说明

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