📄 sdmmc_load.cod
字号:
00000 e1a0f00e mov pc, lr
00004 |$M40871|
ENDP ; |SDMMC_SmcInit|
00000 AREA |.text| { |SDMMC_CardInserted| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$SDMMC_CardInserted|, PDATA, SELECTION=5, ASSOC=|.text| { |SDMMC_CardInserted| } ; comdat associative
|$T40883| DCD |SDMMC_CardInserted|
DCD 0x40001501
; Function compile flags: /Ogsy
00000 AREA |.text| { |SDMMC_CardInserted| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |SDMMC_CardInserted| PROC
; 329 : {
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M40881|
; 330 : ULONG GpioPF;
; 331 : BOOLEAN CardFullyInserted;
; 332 :
; 333 : DEBUGMSG(1, (TEXT("CardInserted entered.\r\n")) );
; 334 :
; 335 : CardFullyInserted = FALSE;
; 336 :
; 337 : GpioPF = READ_REGISTER_ULONG(&GpioRegPtr->PFDR);
00004 e59f3044 ldr r3, [pc, #0x44]
00008 e3a04000 mov r4, #0
0000c e5932000 ldr r2, [r3]
00010 e2820030 add r0, r2, #0x30
00014 e5901000 ldr r1, [r0]
; 338 :
; 339 :
; 340 : if (!(GpioPF & GPIO_SDMMC_CD)) {
00018 e3110004 tst r1, #4
0001c 1a000009 bne |$L40575|
; 341 : ULONG tmp;
; 342 : CardFullyInserted = TRUE;
; 343 :
; 344 :
; 345 :
; 346 :
; 347 : tmp = READ_REGISTER_ULONG(&GpioRegPtr->PEDDR);
00020 e2822024 add r2, r2, #0x24
00024 e5920000 ldr r0, [r2]
00028 e3a04001 mov r4, #1
; 348 : WRITE_REGISTER_ULONG(&GpioRegPtr->PEDDR, 0x10 | tmp);
0002c e3801010 orr r1, r0, #0x10
00030 e5821000 str r1, [r2]
; 349 : tmp = READ_REGISTER_ULONG(&GpioRegPtr->PEDR);
00034 e5930000 ldr r0, [r3]
00038 e2802020 add r2, r0, #0x20
0003c e5921000 ldr r1, [r2]
; 350 : WRITE_REGISTER_ULONG(&GpioRegPtr->PEDR, 0x10 | tmp);
00040 e3810010 orr r0, r1, #0x10
00044 e5820000 str r0, [r2]
00048 |$L40575|
; 351 : }
; 352 :
; 353 :
; 358 : return CardFullyInserted;
00048 e1a00004 mov r0, r4
; 359 : }
0004c e8bd8010 ldmia sp!, {r4, pc}
00050 |$L40885|
00050 00000000 DCD |GpioRegPtr|
00054 |$M40882|
ENDP ; |SDMMC_CardInserted|
EXPORT |SML_Init|
EXPORT |??_C@_1CC@DLNO@?$AAE?$AAn?$AAt?$AAe?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAI?$AAn?$AAi?$AAt?$AA?4?$AA?$AN?$AA?6?$AA?$AA@| [ DATA ] ; `string'
EXPORT |??_C@_1HC@JMAI@?$AAF?$AAa?$AAt?$AAa?$AAl?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CB?$AA?5?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd@| [ DATA ] ; `string'
EXPORT |??_C@_1FK@POJI@?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAM?$AAM?$AAC?$AA?5?$AAc?$AAa?$AAr?$AAd?$AA?5?$AAd?$AAe?$AAt?$AAe@| [ DATA ] ; `string'
IMPORT |CreateThread|
IMPORT |SetThreadPriority|
; File d:\wince420\public\common\sdk\inc\kfuncs.h
00000 AREA |.text| { |SML_Init| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$SML_Init|, PDATA, SELECTION=5, ASSOC=|.text| { |SML_Init| } ; comdat associative
|$T40894| DCD |SML_Init|
DCD 0x40002102
00000 AREA |.rdata| { |??_C@_1CC@DLNO@?$AAE?$AAn?$AAt?$AAe?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAI?$AAn?$AAi?$AAt?$AA?4?$AA?$AN?$AA?6?$AA?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CC@DLNO@?$AAE?$AAn?$AAt?$AAe?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAI?$AAn?$AAi?$AAt?$AA?4?$AA?$AN?$AA?6?$AA?$AA@| DCB "E"
DCB 0x0, "n", 0x0, "t", 0x0, "e", 0x0, "r", 0x0, "i", 0x0, "n"
DCB 0x0, "g", 0x0, " ", 0x0, "I", 0x0, "n", 0x0, "i", 0x0, "t"
DCB 0x0, ".", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_1HC@JMAI@?$AAF?$AAa?$AAt?$AAa?$AAl?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CB?$AA?5?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1HC@JMAI@?$AAF?$AAa?$AAt?$AAa?$AAl?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CB?$AA?5?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd@| DCB "F"
DCB 0x0, "a", 0x0, "t", 0x0, "a", 0x0, "l", 0x0, " ", 0x0, "E"
DCB 0x0, "r", 0x0, "r", 0x0, "o", 0x0, "r", 0x0, "!", 0x0, " "
DCB 0x0, " ", 0x0, "F", 0x0, "a", 0x0, "i", 0x0, "l", 0x0, "e"
DCB 0x0, "d", 0x0, " ", 0x0, "t", 0x0, "o", 0x0, " ", 0x0, "c"
DCB 0x0, "r", 0x0, "e", 0x0, "a", 0x0, "t", 0x0, "e", 0x0, " "
DCB 0x0, "M", 0x0, "M", 0x0, "C", 0x0, " ", 0x0, "c", 0x0, "a"
DCB 0x0, "r", 0x0, "d", 0x0, " ", 0x0, "d", 0x0, "e", 0x0, "t"
DCB 0x0, "e", 0x0, "c", 0x0, "t", 0x0, " ", 0x0, "t", 0x0, "h"
DCB 0x0, "r", 0x0, "e", 0x0, "a", 0x0, "d", 0x0, ".", 0x0, 0xd
DCB 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_1FK@POJI@?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAM?$AAM?$AAC?$AA?5?$AAc?$AAa?$AAr?$AAd?$AA?5?$AAd?$AAe?$AAt?$AAe@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1FK@POJI@?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAM?$AAM?$AAC?$AA?5?$AAc?$AAa?$AAr?$AAd?$AA?5?$AAd?$AAe?$AAt?$AAe@| DCB "c"
DCB 0x0, "r", 0x0, "e", 0x0, "a", 0x0, "t", 0x0, "e", 0x0, " "
DCB 0x0, "M", 0x0, "M", 0x0, "C", 0x0, " ", 0x0, "c", 0x0, "a"
DCB 0x0, "r", 0x0, "d", 0x0, " ", 0x0, "d", 0x0, "e", 0x0, "t"
DCB 0x0, "e", 0x0, "c", 0x0, "t", 0x0, " ", 0x0, "t", 0x0, "h"
DCB 0x0, "r", 0x0, "e", 0x0, "a", 0x0, "d", 0x0, " ", 0x0, "s"
DCB 0x0, "u", 0x0, "c", 0x0, "c", 0x0, "e", 0x0, "s", 0x0, "s"
DCB 0x0, "f", 0x0, "u", 0x0, "l", 0x0, "l", 0x0, ".", 0x0, 0xd
DCB 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Ogsy
; File d:\wince420\platform\sdklh7a404\drivers\sdmmc\load\sdmmc_load.c
00000 AREA |.text| { |SML_Init| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |SML_Init| PROC
; 512 : {
00000 e92d4010 stmdb sp!, {r4, lr}
00004 e24dd008 sub sp, sp, #8
00008 |$M40892|
; 513 :
; 514 : RETAILMSG(1, (TEXT("Entering Init.\r\n")));
00008 e59f0070 ldr r0, [pc, #0x70]
0000c eb000000 bl NKDbgPrintfW
; 515 :
; 516 : SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_NORMAL);
00010 e3a01003 mov r1, #3
00014 e3a00041 mov r0, #0x41
00018 eb000000 bl SetThreadPriority
; 517 :
; 518 : gSDMMCDetectThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) SDMMCDetectThread, NULL, 0, NULL);
0001c e59f2058 ldr r2, [pc, #0x58]
00020 e3a04000 mov r4, #0
00024 e3a03000 mov r3, #0
00028 e58d4004 str r4, [sp, #4]
0002c e3a01000 mov r1, #0
00030 e58d4000 str r4, [sp]
00034 e3a00000 mov r0, #0
00038 eb000000 bl CreateThread
0003c e59f3034 ldr r3, [pc, #0x34]
00040 e3500000 cmp r0, #0
00044 e5830000 str r0, [r3]
; 519 :
; 520 : if ( gSDMMCDetectThread == NULL )
00048 1a000002 bne |$L40615|
; 521 : {
; 522 : RETAILMSG(1, (TEXT("Fatal Error! Failed to create MMC card detect thread.\r\n")));
0004c e59f0020 ldr r0, [pc, #0x20]
00050 eb000000 bl NKDbgPrintfW
; 523 : return (FALSE);
00054 ea000002 b |$L40608|
00058 |$L40615|
; 524 : }
; 525 :
; 526 : RETAILMSG(1, (TEXT("create MMC card detect thread successfull.\r\n")));
00058 e59f0010 ldr r0, [pc, #0x10]
0005c eb000000 bl NKDbgPrintfW
; 527 : return TRUE;
00060 e3a04001 mov r4, #1
00064 |$L40608|
; 523 : return (FALSE);
00064 e1a00004 mov r0, r4
; 528 : }
00068 e28dd008 add sp, sp, #8
0006c e8bd8010 ldmia sp!, {r4, pc}
00070 |$L40896|
00070 00000000 DCD |??_C@_1FK@POJI@?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAM?$AAM?$AAC?$AA?5?$AAc?$AAa?$AAr?$AAd?$AA?5?$AAd?$AAe?$AAt?$AAe@|
00074 00000000 DCD |??_C@_1HC@JMAI@?$AAF?$AAa?$AAt?$AAa?$AAl?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CB?$AA?5?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd@|
00078 00000000 DCD |gSDMMCDetectThread|
0007c 00000000 DCD |SDMMCDetectThread|
00080 00000000 DCD |??_C@_1CC@DLNO@?$AAE?$AAn?$AAt?$AAe?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAI?$AAn?$AAi?$AAt?$AA?4?$AA?$AN?$AA?6?$AA?$AA@|
00084 |$M40893|
ENDP ; |SML_Init|
EXPORT |SML_DllEntry|
EXPORT |??_C@_1EG@EPDP@?$AAS?$AAD?$AAM?$AAM?$AAC?$AAL?$AAo?$AAa?$AAd?$AAe?$AAr?$AA?5?$AA?3?$AA?5?$AAD?$AAL?$AAL?$AA_?$AAP?$AAR@| [ DATA ] ; `string'
EXPORT |??_C@_1EG@IDDM@?$AAS?$AAD?$AAM?$AAM?$AAC?$AAL?$AAo?$AAa?$AAd?$AAe?$AAr?$AA?5?$AA?3?$AA?5?$AAD?$AAL?$AAL?$AA_?$AAP?$AAR@| [ DATA ] ; `string'
00000 AREA |.text| { |SML_DllEntry| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$SML_DllEntry|, PDATA, SELECTION=5, ASSOC=|.text| { |SML_DllEntry| } ; comdat associative
|$T40904| DCD |SML_DllEntry|
DCD 0x40000d01
00000 AREA |.rdata| { |??_C@_1EG@EPDP@?$AAS?$AAD?$AAM?$AAM?$AAC?$AAL?$AAo?$AAa?$AAd?$AAe?$AAr?$AA?5?$AA?3?$AA?5?$AAD?$AAL?$AAL?$AA_?$AAP?$AAR@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1EG@EPDP@?$AAS?$AAD?$AAM?$AAM?$AAC?$AAL?$AAo?$AAa?$AAd?$AAe?$AAr?$AA?5?$AA?3?$AA?5?$AAD?$AAL?$AAL?$AA_?$AAP?$AAR@| DCB "S"
DCB 0x0, "D", 0x0, "M", 0x0, "M", 0x0, "C", 0x0, "L", 0x0, "o"
DCB 0x0, "a", 0x0, "d", 0x0, "e", 0x0, "r", 0x0, " ", 0x0, ":"
DCB 0x0, " ", 0x0, "D", 0x0, "L", 0x0, "L", 0x0, "_", 0x0, "P"
DCB 0x0, "R", 0x0, "O", 0x0, "C", 0x0, "E", 0x0, "S", 0x0, "S"
DCB 0x0, "_", 0x0, "A", 0x0, "T", 0x0, "T", 0x0, "A", 0x0, "C"
DCB 0x0, "H", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_1EG@IDDM@?$AAS?$AAD?$AAM?$AAM?$AAC?$AAL?$AAo?$AAa?$AAd?$AAe?$AAr?$AA?5?$AA?3?$AA?5?$AAD?$AAL?$AAL?$AA_?$AAP?$AAR@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1EG@IDDM@?$AAS?$AAD?$AAM?$AAM?$AAC?$AAL?$AAo?$AAa?$AAd?$AAe?$AAr?$AA?5?$AA?3?$AA?5?$AAD?$AAL?$AAL?$AA_?$AAP?$AAR@| DCB "S"
DCB 0x0, "D", 0x0, "M", 0x0, "M", 0x0, "C", 0x0, "L", 0x0, "o"
DCB 0x0, "a", 0x0, "d", 0x0, "e", 0x0, "r", 0x0, " ", 0x0, ":"
DCB 0x0, " ", 0x0, "D", 0x0, "L", 0x0, "L", 0x0, "_", 0x0, "P"
DCB 0x0, "R", 0x0, "O", 0x0, "C", 0x0, "E", 0x0, "S", 0x0, "S"
DCB 0x0, "_", 0x0, "D", 0x0, "E", 0x0, "T", 0x0, "A", 0x0, "C"
DCB 0x0, "H", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Ogsy
00000 AREA |.text| { |SML_DllEntry| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |SML_DllEntry| PROC
; 535 : {
00000 e52de004 str lr, [sp, #-4]!
00004 |$M40902|
; 536 : switch ( dwReason )
; 537 : {
00004 e3510000 cmp r1, #0
00008 0a000003 beq |$L40632|
0000c e3510001 cmp r1, #1
00010 1a000003 bne |$L40626|
; 538 : case DLL_PROCESS_ATTACH:
; 539 : DEBUGREGISTER((HINSTANCE) hInstDll);
; 540 : RETAILMSG(1, (TEXT("SDMMCLoader : DLL_PROCESS_ATTACH\r\n")));
00014 e59f0014 ldr r0, [pc, #0x14]
; 541 : break;
00018 ea000000 b |$L40901|
0001c |$L40632|
; 542 :
; 543 : case DLL_PROCESS_DETACH:
; 544 :
; 545 : RETAILMSG(1, (TEXT("SDMMCLoader : DLL_PROCESS_DETACH\r\n")));
0001c e59f0008 ldr r0, [pc, #8]
00020 |$L40901|
00020 eb000000 bl NKDbgPrintfW
00024 |$L40626|
; 546 : break;
; 547 : }
; 548 :
; 549 : return (TRUE);
00024 e3a00001 mov r0, #1
; 550 : }
00028 e8bd8000 ldmia sp!, {pc}
0002c |$L40906|
0002c 00000000 DCD |??_C@_1EG@IDDM@?$AAS?$AAD?$AAM?$AAM?$AAC?$AAL?$AAo?$AAa?$AAd?$AAe?$AAr?$AA?5?$AA?3?$AA?5?$AAD?$AAL?$AAL?$AA_?$AAP?$AAR@|
00030 00000000 DCD |??_C@_1EG@EPDP@?$AAS?$AAD?$AAM?$AAM?$AAC?$AAL?$AAo?$AAa?$AAd?$AAe?$AAr?$AA?5?$AA?3?$AA?5?$AAD?$AAL?$AAL?$AA_?$AAP?$AAR@|
00034 |$M40903|
ENDP ; |SML_DllEntry|
EXPORT |SML_Open|
00000 AREA |.text| { |SML_Open| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$SML_Open|, PDATA, SELECTION=5, ASSOC=|.text| { |SML_Open| } ; comdat associative
|$T40912| DCD |SML_Open|
DCD 0x40000200
; Function compile flags: /Ogsy
00000 AREA |.text| { |SML_Open| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |SML_Open| PROC
; 556 : {
00000 |$M40910|
; 557 : return (4);
00000 e3a00004 mov r0, #4
; 558 : }
00004 e1a0f00e mov pc, lr
00008 |$M40911|
ENDP ; |SML_Open|
EXPORT |SML_Close|
00000 AREA |.text| { |SML_Close| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$SML_Close|, PDATA, SELECTION=5, ASSOC=|.text| { |SML_Close| } ; comdat associative
|$T40919| DCD |SML_Close|
DCD 0x40000200
; Function compile flags: /Ogsy
00000 AREA |.text| { |SML_Close| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |SML_Close| PROC
; 561 : {
00000 |$M40917|
; 562 :
; 563 : return (TRUE);
00000 e3a00001 mov r0, #1
; 564 : }
00004 e1a0f00e mov pc, lr
00008 |$M40918|
ENDP ; |SML_Close|
EXPORT |SML_Read|
00000 AREA |.text| { |SML_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$SML_Read|, PDATA, SELECTION=5, ASSOC=|.text| { |SML_Read| }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -