📄 diskmain.cod
字号:
EXPORT |?GetBaseStatus@CDisk@@QAAEXZ| ; CDisk::GetBaseStatus
IMPORT |CeLogData|
IMPORT |?dpCurSettings@@3U_DBGPARAM@@A| ; dpCurSettings
00000 AREA |.text| { |?GetBaseStatus@CDisk@@QAAEXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?GetBaseStatus@CDisk@@QAAEXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetBaseStatus@CDisk@@QAAEXZ| } ; comdat associative
|$T33023| DCD |$L33022|
DCD 0x40001c02
; Function compile flags: /Ogsy
00000 AREA |.text| { |?GetBaseStatus@CDisk@@QAAEXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?GetBaseStatus@CDisk@@QAAEXZ| PROC ; CDisk::GetBaseStatus
; 257 : inline BYTE GetBaseStatus() {
00000 |$L33022|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 e24dd014 sub sp, sp, #0x14
00008 |$M33020|
; 258 : BYTE bStatus = ATA_READ_BYTE(m_pATAReg + m_dwCommandStatusOffset);
00008 e5902030 ldr r2, [r0, #0x30]
0000c e5903024 ldr r3, [r0, #0x24]
00010 e0820003 add r0, r2, r3
00014 eb000000 bl READ_PORT_UCHAR
; 259 : if (ZONE_CELOG) CeLogData(TRUE, CELID_ATAPI_BASESTATUS, &bStatus, sizeof(bStatus), 0, CELZONE_ALWAYSON, 0, FALSE);
00018 e59f304c ldr r3, [pc, #0x4C]
0001c e5cd0010 strb r0, [sp, #0x10]
00020 e5933440 ldr r3, [r3, #0x440]
00024 e3130902 tst r3, #2, 18
00028 0a00000c beq |$L31616|
0002c e3a01d86 mov r1, #0x86, 26
00030 e3a0e101 mov lr, #1, 2
00034 e3a04000 mov r4, #0
00038 e3811002 orr r1, r1, #2
0003c e3a03001 mov r3, #1
00040 e28d2010 add r2, sp, #0x10
00044 e3a00001 mov r0, #1
00048 e58d400c str r4, [sp, #0xC]
0004c e58d4008 str r4, [sp, #8]
00050 e58de004 str lr, [sp, #4]
00054 e58d4000 str r4, [sp]
00058 eb000000 bl CeLogData
0005c e5dd0010 ldrb r0, [sp, #0x10]
00060 |$L31616|
; 260 : return bStatus;
; 261 : }
00060 e28dd014 add sp, sp, #0x14
00064 e8bd4010 ldmia sp!, {r4, lr}
00068 e12fff1e bx lr
0006c |$L33025|
0006c 00000000 DCD |?dpCurSettings@@3U_DBGPARAM@@A|
00070 |$M33021|
ENDP ; |?GetBaseStatus@CDisk@@QAAEXZ|, CDisk::GetBaseStatus
EXPORT |?WriteCommand@CDisk@@QAAXE@Z| ; CDisk::WriteCommand
00000 AREA |.text| { |?WriteCommand@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?WriteCommand@CDisk@@QAAXE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?WriteCommand@CDisk@@QAAXE@Z| } ; comdat associative
|$T33033| DCD |$L33032|
DCD 0x40000701
; Function compile flags: /Ogsy
00000 AREA |.text| { |?WriteCommand@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?WriteCommand@CDisk@@QAAXE@Z| PROC ; CDisk::WriteCommand
; 263 : inline void WriteCommand(BYTE bCommand) {
00000 |$L33032|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M33030|
; 264 : ATA_WRITE_BYTE(m_pATAReg + m_dwCommandStatusOffset, bCommand);
00004 e5902030 ldr r2, [r0, #0x30]
00008 e5903024 ldr r3, [r0, #0x24]
0000c e0820003 add r0, r2, r3
00010 eb000000 bl WRITE_PORT_UCHAR
; 265 : }
00014 e49de004 ldr lr, [sp], #4
00018 e12fff1e bx lr
0001c |$M33031|
ENDP ; |?WriteCommand@CDisk@@QAAXE@Z|, CDisk::WriteCommand
EXPORT |?GetAltStatus@CDisk@@QAAEXZ| ; CDisk::GetAltStatus
00000 AREA |.text| { |?GetAltStatus@CDisk@@QAAEXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?GetAltStatus@CDisk@@QAAEXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetAltStatus@CDisk@@QAAEXZ| } ; comdat associative
|$T33043| DCD |$L33042|
DCD 0x40000701
; Function compile flags: /Ogsy
00000 AREA |.text| { |?GetAltStatus@CDisk@@QAAEXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?GetAltStatus@CDisk@@QAAEXZ| PROC ; CDisk::GetAltStatus
; 267 : inline BYTE GetAltStatus() {
00000 |$L33042|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M33040|
; 268 : return (BYTE) ATA_READ_BYTE(m_pATARegAlt + m_dwAltStatusOffset);
00004 e5902034 ldr r2, [r0, #0x34]
00008 e5903028 ldr r3, [r0, #0x28]
0000c e0820003 add r0, r2, r3
00010 eb000000 bl READ_PORT_UCHAR
; 269 : }
00014 e49de004 ldr lr, [sp], #4
00018 e12fff1e bx lr
0001c |$M33041|
ENDP ; |?GetAltStatus@CDisk@@QAAEXZ|, CDisk::GetAltStatus
EXPORT |?WriteAltDriveController@CDisk@@QAAXE@Z| ; CDisk::WriteAltDriveController
00000 AREA |.text| { |?WriteAltDriveController@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?WriteAltDriveController@CDisk@@QAAXE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?WriteAltDriveController@CDisk@@QAAXE@Z| } ; comdat associative
|$T33052| DCD |$L33051|
DCD 0x40000701
; Function compile flags: /Ogsy
00000 AREA |.text| { |?WriteAltDriveController@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?WriteAltDriveController@CDisk@@QAAXE@Z| PROC ; CDisk::WriteAltDriveController
; 270 : inline void WriteAltDriveController(BYTE bData) {
00000 |$L33051|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M33049|
; 271 : ATA_WRITE_BYTE(m_pATARegAlt + m_dwAltDrvCtrl, bData);
00004 e5902034 ldr r2, [r0, #0x34]
00008 e590302c ldr r3, [r0, #0x2C]
0000c e0820003 add r0, r2, r3
00010 eb000000 bl WRITE_PORT_UCHAR
; 272 : }
00014 e49de004 ldr lr, [sp], #4
00018 e12fff1e bx lr
0001c |$M33050|
ENDP ; |?WriteAltDriveController@CDisk@@QAAXE@Z|, CDisk::WriteAltDriveController
EXPORT |??0CDisk@@QAA@XZ| ; CDisk::CDisk
EXPORT |?ConfigureRegisterBlock@CDisk@@UAAXK@Z| ; CDisk::ConfigureRegisterBlock
EXPORT |?Init@CDisk@@UAAHPAUHKEY__@@@Z| ; CDisk::Init
EXPORT |?InitController@CDisk@@UAAHH@Z| ; CDisk::InitController
EXPORT |?GetDeviceInfo@CDisk@@UAAKPAU_IOREQ@@@Z| ; CDisk::GetDeviceInfo
EXPORT |?MainIoctl@CDisk@@UAAKPAU_IOREQ@@@Z| ; CDisk::MainIoctl
EXPORT |?ReadWriteDiskDMA@CDisk@@UAAKPAU_IOREQ@@H@Z| ; CDisk::ReadWriteDiskDMA
EXPORT |?GetDiskPowerInterface@CDisk@@UAAPAVCDiskPower@@XZ| ; CDisk::GetDiskPowerInterface
EXPORT |?SetDiskPowerState@CDisk@@UAAHW4_CEDEVICE_POWER_STATE@@@Z| ; CDisk::SetDiskPowerState
EXPORT |?WakeUp@CDisk@@UAAHXZ| ; CDisk::WakeUp
EXPORT |?TakeCS@CDisk@@UAAXXZ| ; CDisk::TakeCS
EXPORT |?ReleaseCS@CDisk@@UAAXXZ| ; CDisk::ReleaseCS
EXPORT |??_7CDisk@@6B@| [ DATA ] ; CDisk::`vftable'
EXPORT |??_GCDisk@@UAAPAXI@Z| ; CDisk::`scalar deleting destructor'
IMPORT |_purecall|
IMPORT |?WaitForDRQ@CDisk@@UAAHXZ| ; CDisk::WaitForDRQ
IMPORT |?WaitForDisc@CDisk@@UAAHEKK@Z| ; CDisk::WaitForDisc
IMPORT |??_ECDisk@@UAAPAXI@Z|, WEAK |??_GCDisk@@UAAPAXI@Z| ; CDisk::`vector deleting destructor', CDisk::`scalar deleting destructor'
; File d:\wince500\platform\smdk2440\drivers\atapi\diskmain.cpp
00000 AREA |.text| { |??0CDisk@@QAA@XZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$??0CDisk@@QAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??0CDisk@@QAA@XZ| } ; comdat associative
|$T33062| DCD |$L33061|
DCD 0x40000500
00000 AREA |.rdata| { |??_7CDisk@@6B@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_7CDisk@@6B@| DCD |??_ECDisk@@UAAPAXI@Z| ; CDisk::`vftable'
DCD |?ConfigureRegisterBlock@CDisk@@UAAXK@Z|
DCD |?Init@CDisk@@UAAHPAUHKEY__@@@Z|
DCD |?InitController@CDisk@@UAAHH@Z|
DCD |?GetDeviceInfo@CDisk@@UAAKPAU_IOREQ@@@Z|
DCD |?MainIoctl@CDisk@@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@CDisk@@UAAXXZ|
DCD |?ReleaseCS@CDisk@@UAAXXZ|
DCD |_purecall|
DCD |_purecall|
DCD |_purecall|
DCD |_purecall|
DCD |_purecall|
DCD |_purecall|
DCD |_purecall|
; Function compile flags: /Ogsy
00000 AREA |.text| { |??0CDisk@@QAA@XZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |??0CDisk@@QAA@XZ| PROC ; CDisk::CDisk
; 36 : {
00000 |$L33061|
00000 |$M33059|
00000 e1a02000 mov r2, r0
00004 e59f3004 ldr r3, [pc, #4]
; 37 : // empty
; 38 : }
00008 e5823000 str r3, [r2]
0000c e12fff1e bx lr
00010 |$L33064|
00010 00000000 DCD |??_7CDisk@@6B@|
00014 |$M33060|
ENDP ; |??0CDisk@@QAA@XZ|, CDisk::CDisk
EXPORT |??0CDisk@@QAA@PAUHKEY__@@@Z| ; CDisk::CDisk
IMPORT |memset|
IMPORT |InitializeCriticalSection|
00000 AREA |.text| { |??0CDisk@@QAA@PAUHKEY__@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$??0CDisk@@QAA@PAUHKEY__@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??0CDisk@@QAA@PAUHKEY__@@@Z| } ; comdat associative
|$T33075| DCD |$L33074|
DCD 0x40002e01
; Function compile flags: /Ogsy
00000 AREA |.text| { |??0CDisk@@QAA@PAUHKEY__@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |??0CDisk@@QAA@PAUHKEY__@@@Z| PROC ; CDisk::CDisk
; 51 : {
00000 |$L33074|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M33072|
00004 e1a04000 mov r4, r0
00008 e59f30a4 ldr r3, [pc, #0xA4]
; 52 : m_dwDeviceFlags = 0;
; 53 : m_pNextDisk = NULL;
; 54 : m_pATAReg = NULL;
0000c e3a0e000 mov lr, #0
; 55 : m_pATARegAlt = NULL;
; 56 : m_dwDevice = 0;
; 57 : m_hDevKey = hKey;
; 58 : m_dwDeviceId = 0;
; 59 : m_dwPort = 0;
; 60 : m_f16Bit = FALSE;
; 61 : m_fAtapiDevice = FALSE;
; 62 : m_fInterruptSupported = FALSE;
; 63 : m_szDiskName = NULL;
; 64 : m_fDMAActive = FALSE;
; 65 : m_dwOpenCount = 0;
; 66 : m_dwUnitReadyTime = 0;
; 67 : m_dwStateFlag = 0;
; 68 : m_dwLastCheckTime = 0;
; 69 : m_dwStride = 1;
00010 e3a02001 mov r2, #1
00014 e584e030 str lr, [r4, #0x30]
; 70 : m_pDiskPower = NULL;
; 71 : m_rgbDoubleBuffer = NULL;
; 72 :
; 73 : m_pPort = NULL;
; 74 :
; 75 : // init generic structures
; 76 : InitializeCriticalSection(&m_csDisk);
00018 e2840054 add r0, r4, #0x54
0001c e5843000 str r3, [r4]
00020 e584e690 str lr, [r4, #0x690]
00024 e584e06c str lr, [r4, #0x6C]
00028 e584e034 str lr, [r4, #0x34]
0002c e584e484 str lr, [r4, #0x484]
00030 e5841480 str r1, [r4, #0x480]
00034 e584e488 str lr, [r4, #0x488]
00038 e584e48c str lr, [r4, #0x48C]
0003c e584e038 str lr, [r4, #0x38]
00040 e584e698 str lr, [r4, #0x698]
00044 e584e040 str lr, [r4, #0x40]
00048 e584e6b8 str lr, [r4, #0x6B8]
0004c e584e044 str lr, [r4, #0x44]
00050 e584e068 str lr, [r4, #0x68]
00054 e584e6cc str lr, [r4, #0x6CC]
00058 e584e6e0 str lr, [r4, #0x6E0]
0005c e584e6d0 str lr, [r4, #0x6D0]
00060 e5842004 str r2, [r4, #4]
00064 e584e6d4 str lr, [r4, #0x6D4]
00068 e584e04c str lr, [r4, #0x4C]
0006c e584e03c str lr, [r4, #0x3C]
00070 eb000000 bl InitializeCriticalSection
; 77 : memset(&m_Id, 0, sizeof(IDENTIFY_DATA));
00074 e3a02c02 mov r2, #2, 24
00078 e3a01000 mov r1, #0
0007c e2840e49 add r0, r4, #0x49, 28
00080 eb000000 bl memset
; 78 : memset(&m_DiskInfo, 0, sizeof(DISK_INFO));
00084 e3a02018 mov r2, #0x18
00088 e3a01000 mov r1, #0
0008c e2840e6a add r0, r4, #0x6A, 28
00090 eb000000 bl memset
; 79 : memset(&m_InqData, 0, sizeof(INQUIRY_DATA));
00094 e2843c06 add r3, r4, #6, 24
00098 e28300e4 add r0, r3, #0xE4
0009c e3a02060 mov r2, #0x60
000a0 e3a01000 mov r1, #0
000a4 eb000000 bl memset
; 80 : }
000a8 e1a00004 mov r0, r4
000ac e8bd4010 ldmia sp!, {r4, lr}
000b0 e12fff1e bx lr
000b4 |$L33077|
000b4 00000000 DCD |??_7CDisk@@6B@|
000b8 |$M33073|
ENDP ; |??0CDisk@@QAA@PAUHKEY__@@@Z|, CDisk::CDisk
EXPORT |??1CDisk@@UAA@XZ| ; CDisk::~CDisk
IMPORT |LocalFree|
IMPORT |RegCloseKey|
IMPORT |DeleteCriticalSection|
00000 AREA |.text| { |??1CDisk@@UAA@XZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$??1CDisk@@UAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??1CDisk@@UAA@XZ| } ; comdat associative
|$T33089| DCD |$L33088|
DCD 0x40001801
; Function compile flags: /Ogsy
00000 AREA |.text| { |??1CDisk@@UAA@XZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -