?? atapipcicd.cod
字號:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4091
TTL C:\WINCE500\PLATFORM\SMDK2410\DRIVERS\atapi\.\atapipcicd.cpp
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:coredll.lib "
DCB "-defaultlib:corelibc.lib "
EXPORT |?TakeCS@CPCIDisk@@UAAXXZ| ; CPCIDisk::TakeCS
EXPORT |?ReleaseCS@CPCIDisk@@UAAXXZ| ; CPCIDisk::ReleaseCS
EXPORT |??0CPCIDiskAndCD@@QAA@PAUHKEY__@@@Z| ; CPCIDiskAndCD::CPCIDiskAndCD
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
; File c:\wince500\platform\smdk2410\drivers\atapi\atapipcicd.cpp
00000 AREA |.text| { |??0CPCIDiskAndCD@@QAA@PAUHKEY__@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$??0CPCIDiskAndCD@@QAA@PAUHKEY__@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??0CPCIDiskAndCD@@QAA@PAUHKEY__@@@Z| } ; comdat associative
|$T32160| DCD |$L32159|
DCD 0x40000901
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: /Ogsy
00000 AREA |.text| { |??0CPCIDiskAndCD@@QAA@PAUHKEY__@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |??0CPCIDiskAndCD@@QAA@PAUHKEY__@@@Z| PROC ; CPCIDiskAndCD::CPCIDiskAndCD
; 55 : {
00000 |$L32159|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M32157|
00004 e1a04000 mov r4, r0
00008 eb000000 bl |??0CPCIDisk@@QAA@PAUHKEY__@@@Z|
0000c e59f300c ldr r3, [pc, #0xC]
; 56 : // empty
; 57 : }
00010 e1a00004 mov r0, r4
00014 e5843000 str r3, [r4]
00018 e8bd4010 ldmia sp!, {r4, lr}
0001c e12fff1e bx lr
00020 |$L32162|
00020 00000000 DCD |??_7CPCIDiskAndCD@@6B@|
00024 |$M32158|
ENDP ; |??0CPCIDiskAndCD@@QAA@PAUHKEY__@@@Z|, CPCIDiskAndCD::CPCIDiskAndCD
IMPORT |?TakeCS@CPort@@QAAXXZ| ; CPort::TakeCS
; File c:\wince500\platform\smdk2410\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
|$T32169| DCD |$L32168|
DCD 0x40000501
; Function compile flags: /Ogsy
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 |$L32168|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32166|
; 70 : m_pPort->TakeCS();
00004 e590003c ldr r0, [r0, #0x3C]
00008 eb000000 bl |?TakeCS@CPort@@QAAXXZ|
; 71 : }
0000c e49de004 ldr lr, [sp], #4
00010 e12fff1e bx lr
00014 |$M32167|
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
|$T32177| DCD |$L32176|
DCD 0x40000501
; Function compile flags: /Ogsy
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 |$L32176|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32174|
; 73 : m_pPort->ReleaseCS();
00004 e590003c ldr r0, [r0, #0x3C]
00008 eb000000 bl |?ReleaseCS@CPort@@QAAXXZ|
; 74 : }
0000c e49de004 ldr lr, [sp], #4
00010 e12fff1e bx lr
00014 |$M32175|
ENDP ; |?ReleaseCS@CPCIDisk@@UAAXXZ|, CPCIDisk::ReleaseCS
EXPORT |??1CPCIDiskAndCD@@UAA@XZ| ; CPCIDiskAndCD::~CPCIDiskAndCD
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
|$T32185| DCD |$L32184|
DCD 0x40000401
; Function compile flags: /Ogsy
00000 AREA |.text| { |??1CPCIDiskAndCD@@UAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |??1CPCIDiskAndCD@@UAA@XZ| PROC ; CPCIDiskAndCD::~CPCIDiskAndCD
00000 |$L32184|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32182|
00004 eb000000 bl |??1CPCIDisk@@UAA@XZ|
00008 e49de004 ldr lr, [sp], #4
0000c e12fff1e bx lr
00010 |$M32183|
ENDP ; |??1CPCIDiskAndCD@@UAA@XZ|, CPCIDiskAndCD::~CPCIDiskAndCD
IMPORT |?MainIoctl@CPCIDisk@@UAAKPAU_IOREQ@@@Z| ; CPCIDisk::MainIoctl
IMPORT |?AtapiIoctl@CPCIDiskAndCD@@QAAKPAU_IOREQ@@@Z| ; CPCIDiskAndCD::AtapiIoctl
IMPORT |?IsAtapiDevice@CDisk@@QAAHXZ| ; CDisk::IsAtapiDevice
; File c:\wince500\platform\smdk2410\drivers\atapi\atapipcicd.cpp
00000 AREA |.text| { |?MainIoctl@CPCIDiskAndCD@@UAAKPAU_IOREQ@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?MainIoctl@CPCIDiskAndCD@@UAAKPAU_IOREQ@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?MainIoctl@CPCIDiskAndCD@@UAAKPAU_IOREQ@@@Z| } ; comdat associative
|$T32202| DCD |$L32201|
DCD 0x40007601
; Function compile flags: /Ogsy
00000 AREA |.text| { |?MainIoctl@CPCIDiskAndCD@@UAAKPAU_IOREQ@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?MainIoctl@CPCIDiskAndCD@@UAAKPAU_IOREQ@@@Z| PROC ; CPCIDiskAndCD::MainIoctl
; 71 : {
00000 |$L32201|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 |$M32199|
00004 e1a04001 mov r4, r1
00008 e1a05000 mov r5, r0
; 72 : DWORD dwError;
; 73 :
; 74 : DEBUGMSG(ZONE_IOCTL, (_T(
; 75 : "Atapi!CPCIDiskAndCD::MainIoctl> IOCTL(0x%x), device(%d)\r\n"
; 76 : ),pIOReq->dwCode, m_dwDeviceId));
; 77 :
; 78 : dwError = CPCIDisk::MainIoctl(pIOReq);
0000c eb000000 bl |?MainIoctl@CPCIDisk@@UAAKPAU_IOREQ@@@Z|
; 79 :
; 80 : if (dwError == ERROR_NOT_SUPPORTED) {
00010 e3500032 cmp r0, #0x32
00014 1a00006d bne |$L32115|
; 81 :
; 82 : switch(pIOReq->dwCode) {
00018 e5942014 ldr r2, [r4, #0x14]
0001c e3a03909 mov r3, #9, 18
00020 e3833038 orr r3, r3, #0x38
00024 e1520003 cmp r2, r3
00028 8a00002d bhi |$L32189|
0002c 0a00005c beq |$L32113|
00030 e3a03909 mov r3, #9, 18
00034 e3833010 orr r3, r3, #0x10
00038 e1520003 cmp r2, r3
0003c 8a000015 bhi |$L32190|
00040 0a000057 beq |$L32113|
00044 e3a03802 mov r3, #2, 16
00048 e3833040 orr r3, r3, #0x40
0004c e1520003 cmp r2, r3
00050 0a000053 beq |$L32113|
00054 e3a03802 mov r3, #2, 16
00058 e3833080 orr r3, r3, #0x80
0005c e1520003 cmp r2, r3
00060 0a00004f beq |$L32113|
00064 e3520909 cmp r2, #9, 18
00068 0a00004d beq |$L32113|
0006c e3a03909 mov r3, #9, 18
00070 e3833004 orr r3, r3, #4
00074 e1520003 cmp r2, r3
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -