📄 drv.cod
字号:
; 372 :
; 373 : default:
; 374 : // Unrecognized IOCTL
; 375 : DEBUGMSG(I2S_ZONE_IOCTL, (TEXT(" Unknown IOCTL: 0x%08lx\r\n-I2S_IOCntrol\r\n"), dwCode ));
; 376 : if( pdwActualOut ) *pdwActualOut = 0;
003c4 e59b3018 ldr r3, [r11, #0x18]
003c8 e3530000 cmp r3, #0
003cc 13a02000 movne r2, #0
003d0 15832000 strne r2, [r3]
; 377 : return FALSE;
003d4 e3a03000 mov r3, #0
003d8 e50b3020 str r3, [r11, #-0x20]
003dc e3a00000 mov r0, #0
; 389 : }
003e0 ea000028 b |$L36318|
003e4 |$L36425|
; 367 : case IOCTL_STOPINDMA:
; 368 : RETAILMSG(1, (TEXT("Andrew!! IOCTL_STOPINDMA\t\n")));
003e4 e59f00bc ldr r0, [pc, #0xBC]
003e8 eb000000 bl NKDbgPrintfW
; 369 : pDeviceI2S->StopInDMA();
003ec e1a00006 mov r0, r6
003f0 eb000000 bl |?StopInDMA@BASEI2S@@QAAXXZ|
; 370 : result = TRUE;
; 371 : break;
003f4 ea000006 b |$L37448|
003f8 |$L36424|
; 361 : break;
; 362 : case IOCTL_STOPOUTDMA:
; 363 : // RETAILMSG(1, (TEXT("Andrew!! IOCTL_STOPOUTDMA\t\n")));
; 364 : pDeviceI2S->StopOutDMA();
003f8 e1a00006 mov r0, r6
003fc eb000000 bl |?StopOutDMA@BASEI2S@@QAAXXZ|
; 365 : result = TRUE;
; 366 : break;
00400 ea000003 b |$L37448|
00404 |$L36422|
; 357 : case IOCTL_STARTINDMA:
; 358 : RETAILMSG(1, (TEXT("Andrew!! IOCTL_STARTINDMA\t\n")));
00404 e59f0098 ldr r0, [pc, #0x98]
00408 eb000000 bl NKDbgPrintfW
; 359 : pDeviceI2S->StartInDMA();
0040c e1a00006 mov r0, r6
00410 eb000000 bl |?StartInDMA@BASEI2S@@QAAXXZ|
00414 |$L37448|
; 360 : result = TRUE;
00414 e3a04001 mov r4, #1
00418 e50b4028 str r4, [r11, #-0x28]
0041c |$L37416|
; 389 : }
0041c e51b0024 ldr r0, [r11, #-0x24]
00420 ea000017 b |$L37417|
00424 |$L37412|
; 381 : {
; 382 : ERRORMSG(1, (TEXT("I2S_IOControl - exception in ioctl\r\nHandle = 0x%08X, dwCode = 0x%08X, pBufIn = 0x%08X, dwLenIn = %d, pdwBufOut = 0x%08X, dwLenOut = %d, pdwActualOut = 0x%08X\r\n"), pOHandle, dwCode, pBufIn, dwLenIn, pdwBufOut, dwLenOut, pdwActualOut ));
00424 e59f1074 ldr r1, [pc, #0x74]
00428 e59f006c ldr r0, [pc, #0x6C]
0042c e3a02f5f mov r2, #0x5F, 30
00430 e3822002 orr r2, r2, #2
00434 eb000000 bl NKDbgPrintfW
00438 e59b6018 ldr r6, [r11, #0x18]
0043c e59be014 ldr lr, [r11, #0x14]
00440 e59b4010 ldr r4, [r11, #0x10]
00444 e59b500c ldr r5, [r11, #0xC]
00448 e59b3008 ldr r3, [r11, #8]
0044c e59b2004 ldr r2, [r11, #4]
00450 e59b1000 ldr r1, [r11]
00454 e59f003c ldr r0, [pc, #0x3C]
00458 e58d600c str r6, [sp, #0xC]
0045c e58de008 str lr, [sp, #8]
00460 e58d4004 str r4, [sp, #4]
00464 e58d5000 str r5, [sp]
00468 eb000000 bl NKDbgPrintfW
; 383 : if( pdwActualOut ) *pdwActualOut = 0;
0046c e3560000 cmp r6, #0
00470 13a03000 movne r3, #0
00474 15863000 strne r3, [r6]
; 384 : return FALSE;
00478 e3a00000 mov r0, #0
; 389 : }
0047c e51b4028 ldr r4, [r11, #-0x28]
00480 ea000000 b |$L36318|
00484 |$L37417|
; 385 : }
; 386 :
; 387 : DEBUGMSG(I2S_ZONE_IOCTL, (TEXT("-I2S_IOCntrol\r\n")));
; 388 : return result;
00484 e1a00004 mov r0, r4
00488 |$L36318|
; 389 : }
00488 e91b68f0 ldmdb r11, {r4 - r7, r11, sp, lr}
0048c e12fff1e bx lr
ENDP ; |I2S_IOControl|
00490 |$L37414|
00490 |$L37455|
00490 |$L37411|
; 378 : }
; 379 : }
; 380 : __except(EXCEPTION_EXECUTE_HANDLER)
00490 e3a00001 mov r0, #1
00494 |$L37413|
00494 e1a0f00e mov pc, lr
00498 |$L37464|
00498 00000000 DCD |??_C@_1BEA@BFACPPAL@?$AAI?$AA2?$AAS?$AA_?$AAI?$AAO?$AAC?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AA?5?$AA?9?$AA?5?$AAe?$AAx?$AAc?$AAe@|
0049c 00000000 DCD |??_C@_1CI@OHCJFJPM@?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?5?$AAl?$AAi?$AAn?$AAe?$AA?5?$AA?$CF?$AAd?$AA?3?$AA?5?$AA?$AA@|
004a0 00000000 DCD |??_C@_1JO@EBIKJEIO@?$AAc?$AA?3?$AA?2?$AAw?$AAi?$AAn?$AAc?$AAe?$AA5?$AA0?$AA0?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm@|
004a4 00000000 DCD |??_C@_1DI@BJIEBLIE@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAS?$AAT?$AAA?$AAR?$AAT@|
004a8 00000000 DCD |??_C@_1DG@EJHBEKCF@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAS?$AAT?$AAO?$AAP?$AAI@|
004ac f0002048 DCD 0xf0002048
004b0 f0002044 DCD 0xf0002044
004b4 00000000 DCD |??_C@_1DE@CDOOCFFL@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAP?$AAO?$AAW?$AAE?$AAR@|
004b8 f0002038 DCD 0xf0002038
004bc f0002034 DCD 0xf0002034
004c0 f0002030 DCD 0xf0002030
004c4 f000202c DCD 0xf000202c
004c8 f000203c DCD 0xf000203c
004cc 00000000 DCD |??_C@_1DG@LKGOMIOJ@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAS?$AAE?$AAT?$AAI?$AAN@|
004d0 00000000 DCD |??_C@_1DK@MHFNMFJP@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAS?$AAE?$AAT?$AAO?$AAU@|
004d4 00000000 DCD |??_C@_1DG@ONFHKJPN@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAS?$AAE?$AAT?$AAO?$AAU@|
004d8 f0002024 DCD 0xf0002024
004dc f0002018 DCD 0xf0002018
004e0 f0002014 DCD 0xf0002014
004e4 00000000 DCD |??_C@_1DK@DDMFAAD@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAC?$AAO?$AAD?$AAE?$AAC@|
004e8 00000000 DCD |??_C@_1DK@MPJGFAJN@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAC?$AAO?$AAD?$AAE?$AAC@|
004ec 00000000 DCD |??_C@_1DG@KBAEDFCG@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAC?$AAO?$AAD?$AAE?$AAC@|
004f0 00000000 DCD |??_C@_1DI@GPOAFDFL@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAC?$AAO?$AAD?$AAE?$AAC@|
004f4 00000000 DCD |??_C@_1DK@LLLPDHNA@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAC?$AAO?$AAD?$AAE?$AAC@|
004f8 00000000 DCD |??_C@_1DE@IHGEBLEM@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAI?$AAO?$AAC?$AAT?$AAL?$AA_?$AAS?$AAE?$AAT?$AAI?$AAN@|
004fc f000200c DCD 0xf000200c
00500 f0002008 DCD 0xf0002008
00504 f0002004 DCD 0xf0002004
00508 f0002010 DCD 0xf0002010
0050c f0002028 DCD 0xf0002028
00510 |$L37459|
EXPORT |??0?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@QAA@XZ| ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>
EXPORT |?GetNumberOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKXZ| ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::GetNumberOfRegisterSet
EXPORT |?GetSizeOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKK@Z| ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::GetSizeOfRegisterSet
EXPORT |?SetVirtualAddressOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAXKK@Z| ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::SetVirtualAddressOfRegisterSet
EXPORT |?GetNumerOfClockGroup@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKXZ| ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::GetNumerOfClockGroup
EXPORT |?GetOffsetOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKK@Z| ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::GetOffsetOfRegisterSet
EXPORT |??_7?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@6BMES_IModule@@@| [ DATA ] ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::`vftable'
EXPORT |??_7?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@6BMES_IClockControl@@@| [ DATA ] ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::`vftable'
EXPORT |??_G?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAPAXI@Z| ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::`scalar deleting destructor'
IMPORT |??0MES_IModule@@QAA@XZ| ; MES_IModule::MES_IModule
IMPORT |?Initialize@MES_IModule@@UAAXXZ| ; MES_IModule::Initialize
IMPORT |?OpenModule@MES_IModule@@UAAXXZ| ; MES_IModule::OpenModule
IMPORT |?CloseModule@MES_IModule@@UAAXXZ| ; MES_IModule::CloseModule
IMPORT |?CheckBusy@MES_IModule@@UAAHXZ| ; MES_IModule::CheckBusy
IMPORT |?CanPowerDown@MES_IModule@@UAAHXZ| ; MES_IModule::CanPowerDown
IMPORT |??_E?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAPAXI@Z|, WEAK |??_G?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAPAXI@Z| ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::`vector deleting destructor', MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::`scalar deleting destructor'
; File c:\wince500\platform\mp2530f\src\prototype\mes_base\mes_iclockcontrol.h
00000 AREA |.text| { |??0?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@QAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$??0?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@QAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??0?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@QAA@XZ| } ; comdat associative
|$T37478| DCD |$L37477|
DCD 0x40001301
00000 AREA |.rdata| { |??_7?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@6BMES_IModule@@@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_7?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@6BMES_IModule@@@| DCD |??_E?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAPAXI@Z| ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::`vftable'
DCD |_purecall|
DCD |?GetNumberOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKXZ|
DCD |?GetSizeOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKK@Z|
DCD |?SetVirtualAddressOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAXKK@Z|
DCD |?GetOffsetOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKK@Z|
DCD |?Initialize@MES_IModule@@UAAXXZ|
DCD |?OpenModule@MES_IModule@@UAAXXZ|
DCD |?CloseModule@MES_IModule@@UAAXXZ|
DCD |?CheckBusy@MES_IModule@@UAAHXZ|
DCD |?CanPowerDown@MES_IModule@@UAAHXZ|
00000 AREA |.rdata| { |??_7?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@6BMES_IClockControl@@@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_7?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@6BMES_IClockControl@@@| DCD |?GetNumerOfClockGroup@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKXZ| ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::`vftable'
; Function compile flags: /Ogsy
00000 AREA |.text| { |??0?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@QAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |??0?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@QAA@XZ| PROC ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>
; 151 : {}
00000 |$L37477|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M37475|
00004 e1a04000 mov r4, r0
00008 eb000000 bl |??0MES_IModule@@QAA@XZ|
0000c e59f3034 ldr r3, [pc, #0x34]
00010 e1a02004 mov r2, r4
00014 e59f1028 ldr r1, [pc, #0x28]
00018 e5a23008 str r3, [r2, #8]!
0001c e59f301c ldr r3, [pc, #0x1C]
00020 e3a00000 mov r0, #0
00024 e5820004 str r0, [r2, #4]
00028 e5840010 str r0, [r4, #0x10]
0002c e1a00004 mov r0, r4
00030 e5841000 str r1, [r4]
00034 e5843008 str r3, [r4, #8]
00038 e8bd4010 ldmia sp!, {r4, lr}
0003c e12fff1e bx lr
00040 |$L37480|
00040 00000000 DCD |??_7?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@6BMES_IClockControl@@@|
00044 00000000 DCD |??_7?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@6BMES_IModule@@@|
00048 00000000 DCD |??_7MES_IClockControl@@6B@|
0004c |$M37476|
ENDP ; |??0?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@QAA@XZ|, MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>
00000 AREA |.text| { |?GetNumberOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?GetNumberOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetNumberOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKXZ| } ; comdat associative
|$T37488| DCD |$L37487|
DCD 0x40000200
; Function compile flags: /Ogsy
00000 AREA |.text| { |?GetNumberOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?GetNumberOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKXZ| PROC ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::GetNumberOfRegisterSet
; 159 : {
00000 |$L37487|
00000 |$M37485|
; 160 : return 2;
00000 e3a00002 mov r0, #2
; 161 : }
00004 e12fff1e bx lr
00008 |$M37486|
ENDP ; |?GetNumberOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKXZ|, MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::GetNumberOfRegisterSet
00000 AREA |.text| { |?GetSizeOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKK@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?GetSizeOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetSizeOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKK@Z| } ; comdat associative
|$T37501| DCD |$L37500|
DCD 0x40001402
; Function compile flags: /Ogsy
00000 AREA |.text| { |?GetSizeOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKK@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?GetSizeOfRegisterSet@?$MES_BasicModuleWithClock@UMES_AUDIO03_RegisterSet@@$01$0DMA@@@UAAKK@Z| PROC ; MES_BasicModuleWithClock<MES_AUDIO03_RegisterSet,2,960>::GetSizeOfRegisterSet
; 171 : {
00000 |$L37500|
00000 e52de004 str lr, [sp, #-4]!
00004 e24dd004 sub sp, sp, #4
00008 |$M37498|
00008 e3510000 cmp r1, #0
; 172 : MES_REQUIRE( RegisterSetIndex < GetNumberOfRegisterSet() );
; 173 : U32 result;
; 174 : switch( RegisterSetIndex )
0000c 0a000009 beq |$L36852|
00010 e3510001 cmp r1, #1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -