📄 sdmmc.cod
字号:
; 548 : }
; 549 : else
002b0 ea000012 b |$L36609|
002b4 |$L37242|
; 453 : }
; 454 : #endif
; 455 :
; 456 : if (resErr == MMC_CARD_IS_NOT_RESPONDING)
; 457 : {
; 458 :
; 459 : resErr = MMC_INTERFACE_ERROR;
002b4 e3a000d7 mov r0, #0xD7
002b8 e1a05000 mov r5, r0
; 519 : {
; 520 :
; 521 : resErr = MMC_CARD_IS_NOT_READY;
002bc e58d500c str r5, [sp, #0xC]
; 522 : goto END_OF_CARDS_SEARCH;
002c0 ea00003c b |$END_OF_CARDS_SEARCH$36588|
002c4 |$L37244|
; 509 : {
; 510 : RETAILMSG(1, (TEXT("card is ready!\r\n")));
002c4 e59f0190 ldr r0, [pc, #0x190]
002c8 eb000000 bl NKDbgPrintfW
; 511 : break;
002cc eaffffde b |$L36576|
002d0 |$L37245|
; 519 : {
; 520 :
; 521 : resErr = MMC_CARD_IS_NOT_READY;
002d0 e3a050ce mov r5, #0xCE
002d4 e58d500c str r5, [sp, #0xC]
; 522 : goto END_OF_CARDS_SEARCH;
002d8 ea000036 b |$END_OF_CARDS_SEARCH$36588|
002dc |$L36607|
; 550 : {
; 551 :
; 552 : (pc->drive)->RCA = (UINT16)i + 1;
002dc e2840001 add r0, r4, #1
002e0 e59d5010 ldr r5, [sp, #0x10]
002e4 e1a01800 mov r1, r0, lsl #16
002e8 e5950000 ldr r0, [r5]
002ec e1a02821 mov r2, r1, lsr #16
; 553 : RETAILMSG(1, (TEXT("MMCReset - pc->drive->RCA is %d\r\n"),1));
002f0 e3a01001 mov r1, #1
002f4 e1c020be strh r2, [r0, #0xE]
002f8 e59f0158 ldr r0, [pc, #0x158]
002fc eb000000 bl NKDbgPrintfW
00300 |$L36609|
; 554 : }
; 555 :
; 556 :
; 557 : (pc->drive)->drv_type = cardType;
00300 e5950000 ldr r0, [r5]
; 558 :
; 559 : i++;
00304 e2841001 add r1, r4, #1
00308 e5808010 str r8, [r0, #0x10]
0030c e1a00801 mov r0, r1, lsl #16
00310 e1a05820 mov r5, r0, lsr #16
; 560 :
; 561 : RETAILMSG(1, (TEXT("now, the number of i is %d\r\n"),i));
00314 e59f0138 ldr r0, [pc, #0x138]
00318 e1a01805 mov r1, r5, lsl #16
0031c e1a04821 mov r4, r1, lsr #16
00320 e1a01004 mov r1, r4
00324 eb000000 bl NKDbgPrintfW
; 562 : if(i>=1)
00328 e3540001 cmp r4, #1
0032c 2a000010 bcs |$L37261|
00330 e59f0118 ldr r0, [pc, #0x118]
00334 e1a01004 mov r1, r4
00338 eb000000 bl NKDbgPrintfW
0033c e59d3010 ldr r3, [sp, #0x10]
00340 e1a02005 mov r2, r5
00344 e1a01008 mov r1, r8
00348 e1c351be strh r5, [r3, #0x1E]
0034c e1a00003 mov r0, r3
00350 eb000000 bl mmcIdentify
00354 e3500000 cmp r0, #0
00358 0affffca beq |$L36601|
0035c e3a04000 mov r4, #0
00360 |$L37246|
; 535 : {
; 536 : RETAILMSG(1, (TEXT("asssign RCA is not sucessful! with ID %d\r\n"), i));
00360 e1a00805 mov r0, r5, lsl #16
00364 e1a01820 mov r1, r0, lsr #16
00368 e59f00dc ldr r0, [pc, #0xDC]
0036c eb000000 bl NKDbgPrintfW
00370 ea000000 b |$L37247|
00374 |$L37261|
; 387 : #endif
; 388 : #if (USE_SD)
; 389 : DO_ALL_BUS_INTERFACE:
; 390 : #endif
; 391 : for (i = 0; i < (CID_BYTE_LENGTH/2); pc->LastResponse[i++] = 0);
00374 e3a04000 mov r4, #0
00378 |$L37247|
; 563 :
; 564 : break;
; 565 :
; 566 :
; 567 : }
; 568 :
; 569 : pc->drive_active = NO;
00378 e59d0010 ldr r0, [sp, #0x10]
0037c e1c041be strh r4, [r0, #0x1E]
; 570 :
; 571 :
; 572 : if ( i == NO )
00380 e1a00805 mov r0, r5, lsl #16
00384 e1b04820 movs r4, r0, lsr #16
00388 1a000005 bne |$L37260|
; 573 : {
; 574 :
; 575 : RETAILMSG(1, (TEXT("No card is found\r\n")));
0038c e59f00b4 ldr r0, [pc, #0xB4]
00390 eb000000 bl NKDbgPrintfW
; 576 : resErr = MMC_INTERFACE_ERROR;
00394 e3a000d7 mov r0, #0xD7
00398 e1a05000 mov r5, r0
0039c e58d500c str r5, [sp, #0xC]
003a0 ea000000 b |$L36614|
003a4 |$L37260|
003a4 e59d500c ldr r5, [sp, #0xC]
003a8 |$L36614|
; 577 : }
; 578 :
; 579 : devCount += i;
003a8 e1a0080b mov r0, r11, lsl #16
003ac e0841820 add r1, r4, r0, lsr #16
003b0 e1a02801 mov r2, r1, lsl #16
003b4 e1a0b822 mov r11, r2, lsr #16
003b8 |$END_OF_CARDS_SEARCH$36588|
; 580 :
; 581 : END_OF_CARDS_SEARCH:
; 582 :
; 583 : #if (USE_SD)
; 584 : if (sdFlag != YES)
003b8 e1a00809 mov r0, r9, lsl #16
003bc e1a01820 mov r1, r0, lsr #16
003c0 e3510001 cmp r1, #1
003c4 0a00000a beq |$L36617|
; 585 : {
; 586 : if (bInterface < 1 )
003c8 e1a0080a mov r0, r10, lsl #16
003cc e1a01820 mov r1, r0, lsr #16
003d0 e3510001 cmp r1, #1
; 587 : {
; 588 : bInterface++;
003d4 32810001 addcc r0, r1, #1
003d8 359d400c ldrcc r4, [sp, #0xC]
003dc 31a01800 movcc r1, r0, lsl #16
003e0 359d5010 ldrcc r5, [sp, #0x10]
; 589 : sdFlag = YES;
003e4 33a00001 movcc r0, #1
003e8 31a0a821 movcc r10, r1, lsr #16
003ec 31a09000 movcc r9, r0
003f0 3affff15 bcc |$DO_ALL_BUS_INTERFACE$36570|
003f4 |$L36617|
; 590 : goto DO_ALL_BUS_INTERFACE;
; 591 : }
; 592 : }
; 593 : #endif
; 594 : RETAILMSG(1, (TEXT("devCount is following %d\r\n"), devCount));
003f4 e1a0080b mov r0, r11, lsl #16
003f8 e1a04820 mov r4, r0, lsr #16
003fc e59f0040 ldr r0, [pc, #0x40]
00400 e1a01004 mov r1, r4
00404 eb000000 bl NKDbgPrintfW
; 595 : if ( devCount )
; 596 :
; 597 : resErr = MMC_NO_ERROR;
; 598 :
; 599 : #endif
; 600 :
; 601 : pc->error_code = (UINT16)resErr;
00408 e59d2010 ldr r2, [sp, #0x10]
0040c e3540000 cmp r4, #0
00410 13a03000 movne r3, #0
00414 11a05003 movne r5, r3
00418 e1a00805 mov r0, r5, lsl #16
0041c e1a01820 mov r1, r0, lsr #16
; 602 : RETAILMSG(1, (TEXT("mmcReset ResErr is as follows %d\r\n"), resErr));
00420 e59f0018 ldr r0, [pc, #0x18]
00424 e1c211b6 strh r1, [r2, #0x16]
00428 e1a01005 mov r1, r5
0042c eb000000 bl NKDbgPrintfW
; 603 : return resErr;
00430 e1a00005 mov r0, r5
; 604 : }
00434 e28dd014 add sp, sp, #0x14
00438 e8bd4ff0 ldmia sp!, {r4 - r11, lr}
0043c e12fff1e bx lr
00440 |$L37268|
00440 00000000 DCD |??_C@_1EG@HFPL@?$AAm?$AAm?$AAc?$AAR?$AAe?$AAs?$AAe?$AAt?$AA?5?$AAR?$AAe?$AAs?$AAE?$AAr?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAa@|
00444 00000000 DCD |??_C@_1DG@DFMO@?$AAd?$AAe?$AAv?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AAi?$AAs?$AA?5?$AAf?$AAo?$AAl?$AAl?$AAo?$AAw?$AAi?$AAn@|
00448 00000000 DCD |??_C@_1CG@DHEP@?$AAN?$AAo?$AA?5?$AAc?$AAa?$AAr?$AAd?$AA?5?$AAi?$AAs?$AA?5?$AAf?$AAo?$AAu?$AAn?$AAd?$AA?$AN?$AA?6?$AA?$AA@|
0044c 00000000 DCD |??_C@_1FG@OKKD@?$AAa?$AAs?$AAs?$AAs?$AAi?$AAg?$AAn?$AA?5?$AAR?$AAC?$AAA?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAs@|
00450 00000000 DCD |??_C@_1EA@FIDN@?$AAt?$AAr?$AA?5?$AAt?$AAo?$AA?5?$AAa?$AAs?$AAs?$AAs?$AAi?$AAg?$AAn?$AA?5?$AAR?$AAC?$AAA?$AA?5?$AA?5?$AAw@|
00454 00000000 DCD |??_C@_1DK@LFHM@?$AAn?$AAo?$AAw?$AA?0?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAn?$AAu?$AAm?$AAb?$AAe?$AAr?$AA?5?$AAo?$AAf?$AA?5?$AAi@|
00458 00000000 DCD |??_C@_1EE@PPN@?$AAM?$AAM?$AAC?$AAR?$AAe?$AAs?$AAe?$AAt?$AA?5?$AA?9?$AA?5?$AAp?$AAc?$AA?9?$AA?$DO?$AAd?$AAr?$AAi?$AAv?$AAe@|
0045c 00000000 DCD |??_C@_1CC@MGHJ@?$AAc?$AAa?$AAr?$AAd?$AA?5?$AAi?$AAs?$AA?5?$AAr?$AAe?$AAa?$AAd?$AAy?$AA?$CB?$AA?$AN?$AA?6?$AA?$AA@|
00460 00000000 DCD |??_C@_1EM@DOL@?$AAm?$AAm?$AAc?$AAR?$AAe?$AAs?$AAe?$AAt?$AA?5?$AA?9?$AA?9?$AA?5?$AAI?$AAt?$AA?5?$AAe?$AAn?$AAt?$AAe?$AAr@|
00464 00000000 DCD |??_C@_1FE@BKCB@?$AAa?$AAf?$AAt?$AAe?$AAr?$AA?5?$AAs?$AAu?$AAc?$AAc?$AAe?$AAs?$AAs?$AAf?$AAu?$AAl?$AAl?$AAy?$AA?5?$AAa@|
00468 00000000 DCD |??_C@_1FM@NKCI@?$AAm?$AAm?$AAc?$AAr?$AAe?$AAs?$AAe?$AAt?$AA?3?$AAS?$AAD?$AA_?$AAS?$AAE?$AAN?$AAD?$AA_?$AAO?$AAP?$AA_@|
0046c 00000000 DCD |??_C@_1FA@LPLD@?$AAm?$AAm?$AAc?$AAr?$AAe?$AAs?$AAe?$AAt?$AA?3?$AAS?$AAD?$AA_?$AAS?$AAE?$AAN?$AAD?$AA_?$AAO?$AAP?$AA_@|
00470 00000000 DCD |??_C@_1EA@IEBN@?$AAm?$AAm?$AAc?$AAr?$AAe?$AAs?$AAe?$AAt?$AA?3?$AAS?$AAD?$AA_?$AAS?$AAE?$AAN?$AAD?$AA_?$AAO?$AAP?$AA_@|
00474 00000000 DCD |??_C@_1DA@JCDP@?$AAi?$AAs?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAc?$AAa?$AAr?$AAd?$AA?5?$AAr?$AAe?$AAa?$AAd?$AAy?$AA?$DP?$AA?5?$AA?$CF@|
00478 00000000 DCD |??_C@_1BE@CPBE@?$AAu?$AAs?$AAe?$AAr?$AA_?$AAs?$AAd?$AA?$AN?$AA?6?$AA?$AA@|
0047c 00000000 DCD |??_C@_1CM@KBHA@?$AAm?$AAm?$AAc?$AAR?$AAe?$AAs?$AAe?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAe?$AAn?$AAt?$AAe?$AAr?$AAe?$AAd?$AA?5?$AA?$AN@|
00480 |$M37265|
ENDP ; |mmcReset|
EXPORT |??_C@_1DG@GHFO@?$AAm?$AAm?$AAc?$AAI?$AAd?$AAe?$AAn?$AAt?$AAi?$AAf?$AAy?$AA?$CI?$AA?$CJ?$AA?5?$AAi?$AAs?$AA?5?$AAe?$AAn?$AAt@| [ DATA ] ; `string'
EXPORT |??_C@_1EG@HGFE@?$AAA?$AAL?$AAL?$AA_?$AAS?$AAE?$AAN?$AAD?$AA_?$AAC?$AAI?$AAD?$AA?5?$AAc?$AAo?$AAm?$AAm?$AAa?$AAn?$AAd@| [ DATA ] ; `string'
EXPORT |??_C@_1FI@DDI@?$AAB?$AAe?$AAf?$AAo?$AAr?$AAe?$AA?5?$AAs?$AAe?$AAn?$AAd?$AAi?$AAn?$AAg?$AA?5?$AAS?$AAE?$AAT?$AA_?$AAR@| [ DATA ] ; `string'
EXPORT |??_C@_1DE@FGPN@?$AAr?$AAe?$AAs?$AAE?$AAr?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAa?$AAs?$AA?5?$AAf?$AAo?$AAl?$AAl?$AAo?$AAw?$AAs@| [ DATA ] ; `string'
00000 AREA |.text| { |mmcIdentify| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$mmcIdentify|, PDATA, SELECTION=5, ASSOC=|.text| { |mmcIdentify| } ; comdat associative
|$T37280| DCD |mmcIdentify|
DCD 0x40003d02
00000 AREA |.rdata| { |??_C@_1DG@GHFO@?$AAm?$AAm?$AAc?$AAI?$AAd?$AAe?$AAn?$AAt?$AAi?$AAf?$AAy?$AA?$CI?$AA?$CJ?$AA?5?$AAi?$AAs?$AA?5?$AAe?$AAn?$AAt@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1DG@GHFO@?$AAm?$AAm?$AAc?$AAI?$AAd?$AAe?$AAn?$AAt?$AAi?$AAf?$AAy?$AA?$CI?$AA?$CJ?$AA?5?$AAi?$AAs?$AA?5?$AAe?$AAn?$AAt@| DCB "m"
DCB 0x0, "m", 0x0, "c", 0x0, "I", 0x0, "d", 0x0, "e", 0x0, "n"
DCB 0x0, "t", 0x0, "i", 0x0, "f", 0x0, "y", 0x0, "(", 0x0, ")"
DCB 0x0, " ", 0x0, "i", 0x0, "s", 0x0, " ", 0x0, "e", 0x0, "n"
DCB 0x0, "t", 0x0, "e", 0x0, "r", 0x0, "e", 0x0, "d", 0x0, 0xd
DCB 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_1EG@HGFE@?$AAA?$AAL?$AAL?$AA_?$AAS?$AAE?$AAN?$AAD?$AA_?$AAC?$AAI?$AAD?$AA?5?$AAc?$AAo?$AAm?$AAm?$AAa?$AAn?$AAd@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1EG@HGFE@?$AAA?$AAL?$AAL?$AA_?$AAS?$AAE?$AAN?$AAD?$AA_?$AAC?$AAI?$AAD?$AA?5?$AAc?$AAo?$AAm?$AAm?$AAa?$AAn?$AAd@| DCB "A"
DCB 0x0, "L", 0x0, "L", 0x0, "_", 0x0, "S", 0x0, "E", 0x0, "N"
DCB 0x0, "D", 0x0, "_", 0x0, "C", 0x0, "I", 0x0, "D", 0x0, " "
DCB 0x0, "c", 0x0, "o", 0x0, "m", 0x0, "m", 0x0, "a", 0x0, "n"
DCB 0x0, "d", 0x0, " ", 0x0, "f", 0x0, "a", 0x0, "i", 0x0, "l"
DCB 0x0, "s", 0x0, " ", 0x0, "[", 0x0, "%", 0x0, "d", 0x0, "]"
DCB 0x0, "!", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_1FI@DDI@?$AAB?$AAe?$AAf?$AAo?$AAr?$AAe?$AA?5?$AAs?$AAe?$AAn?$AAd?$AAi?$AAn?$AAg?$AA?5?$AAS?$AAE?$AAT?$AA_?$AAR@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1FI@DDI@?$AAB?$AAe?$AAf?$AAo?$AAr?$AAe?$AA?5?$AAs?$AAe?$AAn?$AAd?$AAi?$AAn?$AAg?$AA?5?$AAS?$AAE?$AAT?$AA_?$AAR@| DCB "B"
DCB 0x0, "e", 0x0, "f", 0x0, "o", 0x0, "r", 0x0, "e", 0x0, " "
DCB 0x0, "s", 0x0, "e", 0x0, "n", 0x0, "d", 0x0, "i", 0x0, "n"
DCB 0x0, "g", 0x0, " ", 0x0, "S", 0x0, "E", 0x0, "T", 0x0, "_"
DCB 0x0, "R", 0x0, "E", 0x0, "L", 0x0, "A", 0x0, "T", 0x0, "I"
DCB 0x0, "V", 0x0, "E", 0x0, "_", 0x0, "A", 0x0, "D", 0x0, "D"
DCB 0x0, "R", 0x0, " ", 0x0, "c", 0x0, "o", 0x0, "m", 0x0, "m"
DCB 0x0, "a", 0x0, "n", 0x0, "d", 0x0, "!", 0x0, 0xd, 0x0, 0xa
DCB 0x0, 0x0, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_1DE@FGPN@?$AAr?$AAe?$AAs?$AAE?$AAr?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAa?$AAs?$AA?5?$AAf?$AAo?$AAl?$AAl?$AAo?$AAw?$AAs@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1DE@FGPN@?$AAr?$AAe?$AAs?$AAE?$AAr?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAa?$AAs?$AA?5?$AAf?$AAo?$AAl?$AAl?$AAo?$AAw?$AAs@| DCB "r"
DCB 0x0, "e", 0x0, "s", 0x0, "E", 0x0, "r", 0x0, "r", 0x0, " "
DCB 0x0, "i", 0x0, "s", 0x0, " ", 0x0, "a", 0x0, "s", 0x0, " "
DCB 0x0, "f", 0x0, "o", 0x0, "l", 0x0, "l", 0x0, "o", 0x0, "w"
DCB 0x0, "s", 0x0, " ", 0x0, "%", 0x0, "d", 0x0, 0xd, 0x0, 0xa
DCB 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Ogsy
00000 AREA |.text| { |mmcIdentify| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |mmcIdentify| PROC
; 632 : {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -