📄 atapipcicd.cod
字号:
; 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 + -