📄 mmc.cod
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 12.20.9615
TTL c:\wince420\platform\sdklh7a404\drivers\sdmmc\driver\.\mmc.c
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:coredll.lib "
DCB "-defaultlib:corelibc.lib "
00000 AREA |.data|, DATA
COMMON |multipleRdWr|, 0x2
EXPORT |mmc_init|
EXPORT |??_C@_1CM@IFBH@?$AAm?$AAm?$AAc?$AA_?$AAi?$AAn?$AAi?$AAt?$AA?5?$AAi?$AAs?$AA?5?$AAe?$AAn?$AAt?$AAe?$AAr?$AAe?$AAd?$AA?$AN@| [ DATA ] ; `string'
EXPORT |??_C@_1EK@BDCG@?$AAB?$AAe?$AAf?$AAo?$AAr?$AAe?$AA?5?$AAm?$AAm?$AAc?$AA_?$AAi?$AAn?$AAi?$AAt?$AA_?$AAs?$AAe?$AAt?$AAu@| [ DATA ] ; `string'
IMPORT |NKDbgPrintfW|
IMPORT |mmc_hw_init|
IMPORT |clear_controller_structure|
IMPORT |mmc_init_setup|
; File c:\wince420\platform\sdklh7a404\drivers\sdmmc\driver\mmc.c
00000 AREA |.text| { |mmc_init| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$mmc_init|, PDATA, SELECTION=5, ASSOC=|.text| { |mmc_init| } ; comdat associative
|$T36609| DCD |mmc_init|
DCD 0x40001601
00000 AREA |.rdata| { |??_C@_1CM@IFBH@?$AAm?$AAm?$AAc?$AA_?$AAi?$AAn?$AAi?$AAt?$AA?5?$AAi?$AAs?$AA?5?$AAe?$AAn?$AAt?$AAe?$AAr?$AAe?$AAd?$AA?$AN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CM@IFBH@?$AAm?$AAm?$AAc?$AA_?$AAi?$AAn?$AAi?$AAt?$AA?5?$AAi?$AAs?$AA?5?$AAe?$AAn?$AAt?$AAe?$AAr?$AAe?$AAd?$AA?$AN@| DCB "m"
DCB 0x0, "m", 0x0, "c", 0x0, "_", 0x0, "i", 0x0, "n", 0x0, "i"
DCB 0x0, "t", 0x0, " ", 0x0, "i", 0x0, "s", 0x0, " ", 0x0, "e"
DCB 0x0, "n", 0x0, "t", 0x0, "e", 0x0, "r", 0x0, "e", 0x0, "d"
DCB 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_1EK@BDCG@?$AAB?$AAe?$AAf?$AAo?$AAr?$AAe?$AA?5?$AAm?$AAm?$AAc?$AA_?$AAi?$AAn?$AAi?$AAt?$AA_?$AAs?$AAe?$AAt?$AAu@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1EK@BDCG@?$AAB?$AAe?$AAf?$AAo?$AAr?$AAe?$AA?5?$AAm?$AAm?$AAc?$AA_?$AAi?$AAn?$AAi?$AAt?$AA_?$AAs?$AAe?$AAt?$AAu@| DCB "B"
DCB 0x0, "e", 0x0, "f", 0x0, "o", 0x0, "r", 0x0, "e", 0x0, " "
DCB 0x0, "m", 0x0, "m", 0x0, "c", 0x0, "_", 0x0, "i", 0x0, "n"
DCB 0x0, "i", 0x0, "t", 0x0, "_", 0x0, "s", 0x0, "e", 0x0, "t"
DCB 0x0, "u", 0x0, "p", 0x0, "(", 0x0, ")", 0x0, " ", 0x0, "i"
DCB 0x0, "s", 0x0, " ", 0x0, "e", 0x0, "n", 0x0, "t", 0x0, "e"
DCB 0x0, "r", 0x0, "e", 0x0, "d", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0
DCB 0x0 ; `string'
; Function compile flags: /Ogsy
00000 AREA |.text| { |mmc_init| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |mmc_init| PROC
; 53 : {
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M36607|
; 54 : INT16 i;
; 55 :
; 56 : RETAILMSG(1, (TEXT("mmc_init is entered\r\n")));
00004 e59f0048 ldr r0, [pc, #0x48]
00008 eb000000 bl NKDbgPrintfW
; 57 :
; 58 : clear_controller_structure();
0000c eb000000 bl clear_controller_structure
; 59 :
; 60 :
; 61 : for (i = 0; i < N_INTERFACES; i++)
00010 e3a03000 mov r3, #0
00014 e1a04003 mov r4, r3
00018 |$L36531|
; 62 : mmc_hw_init(i);
00018 e1a00003 mov r0, r3
0001c eb000000 bl mmc_hw_init
00020 e2843001 add r3, r4, #1
00024 e1a00803 mov r0, r3, lsl #16
00028 e1a03840 mov r3, r0, asr #16
0002c e1a01803 mov r1, r3, lsl #16
00030 e1a04841 mov r4, r1, asr #16
00034 e3540001 cmp r4, #1
00038 bafffff6 blt |$L36531|
; 63 :
; 64 :
; 65 :
; 66 : RETAILMSG(1, (TEXT("Before mmc_init_setup() is entered\r\n")));
0003c e59f000c ldr r0, [pc, #0xC]
00040 eb000000 bl NKDbgPrintfW
; 67 : return (mmc_init_setup());
00044 eb000000 bl mmc_init_setup
; 68 : }
00048 e8bd4010 ldmia sp!, {r4, lr}
0004c e12fff1e bx lr
00050 |$L36611|
00050 00000000 DCD |??_C@_1EK@BDCG@?$AAB?$AAe?$AAf?$AAo?$AAr?$AAe?$AA?5?$AAm?$AAm?$AAc?$AA_?$AAi?$AAn?$AAi?$AAt?$AA_?$AAs?$AAe?$AAt?$AAu@|
00054 00000000 DCD |??_C@_1CM@IFBH@?$AAm?$AAm?$AAc?$AA_?$AAi?$AAn?$AAi?$AAt?$AA?5?$AAi?$AAs?$AA?5?$AAe?$AAn?$AAt?$AAe?$AAr?$AAe?$AAd?$AA?$AN@|
00058 |$M36608|
ENDP ; |mmc_init|
EXPORT |mmc_drive_open|
IMPORT |mmedia_drive_open|
00000 AREA |.text| { |mmc_drive_open| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$mmc_drive_open|, PDATA, SELECTION=5, ASSOC=|.text| { |mmc_drive_open| } ; comdat associative
|$T36618| DCD |mmc_drive_open|
DCD 0x40000401
; Function compile flags: /Ogsy
00000 AREA |.text| { |mmc_drive_open| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |mmc_drive_open| PROC
; 87 : {
00000 e52de004 str lr, [sp, #-4]!
00004 |$M36616|
; 88 : return(mmedia_drive_open(driveno));
00004 eb000000 bl mmedia_drive_open
; 89 : }
00008 e8bd4000 ldmia sp!, {lr}
0000c e12fff1e bx lr
00010 |$M36617|
ENDP ; |mmc_drive_open|
EXPORT |mmc_drive_close|
IMPORT |mmedia_drive_close|
00000 AREA |.text| { |mmc_drive_close| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$mmc_drive_close|, PDATA, SELECTION=5, ASSOC=|.text| { |mmc_drive_close| } ; comdat associative
|$T36626| DCD |mmc_drive_close|
DCD 0x40000401
; Function compile flags: /Ogsy
00000 AREA |.text| { |mmc_drive_close| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |mmc_drive_close| PROC
; 108 : {
00000 e52de004 str lr, [sp, #-4]!
00004 |$M36624|
; 109 : return(mmedia_drive_close(driveno));
00004 eb000000 bl mmedia_drive_close
; 110 : }
00008 e8bd4000 ldmia sp!, {lr}
0000c e12fff1e bx lr
00010 |$M36625|
ENDP ; |mmc_drive_close|
EXPORT |mmc_read_serial|
IMPORT |mmedia_read_serial|
00000 AREA |.text| { |mmc_read_serial| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$mmc_read_serial|, PDATA, SELECTION=5, ASSOC=|.text| { |mmc_read_serial| } ; comdat associative
|$T36635| DCD |mmc_read_serial|
DCD 0x40000401
; Function compile flags: /Ogsy
00000 AREA |.text| { |mmc_read_serial| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |mmc_read_serial| PROC
; 129 : {
00000 e52de004 str lr, [sp, #-4]!
00004 |$M36633|
; 130 : return(mmedia_read_serial(driveno, idDrvPtr));
00004 eb000000 bl mmedia_read_serial
; 131 : }
00008 e8bd4000 ldmia sp!, {lr}
0000c e12fff1e bx lr
00010 |$M36634|
ENDP ; |mmc_read_serial|
EXPORT |mmc_read|
IMPORT |mmedia_io|
00000 AREA |.text| { |mmc_read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$mmc_read|, PDATA, SELECTION=5, ASSOC=|.text| { |mmc_read| } ; comdat associative
|$T36646| DCD |mmc_read|
DCD 0x40000b02
; Function compile flags: /Ogsy
00000 AREA |.text| { |mmc_read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |mmc_read| PROC
; 149 : {
00000 e92d4010 stmdb sp!, {r4, lr}
00004 e24dd004 sub sp, sp, #4
00008 |$M36644|
; 150 : if (mmedia_io(driveno, startingSector, buff, numSectors, READING))
00008 e3a04001 mov r4, #1
0000c e58d4000 str r4, [sp]
00010 eb000000 bl mmedia_io
00014 e3500000 cmp r0, #0
; 151 : return (NO);
00018 13a04000 movne r4, #0
0001c e1a00004 mov r0, r4
; 152 :
; 153 : return(YES);
; 154 : }
00020 e28dd004 add sp, sp, #4
00024 e8bd4010 ldmia sp!, {r4, lr}
00028 e12fff1e bx lr
0002c |$M36645|
ENDP ; |mmc_read|
EXPORT |mmc_write|
00000 AREA |.text| { |mmc_write| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$mmc_write|, PDATA, SELECTION=5, ASSOC=|.text| { |mmc_write| } ; comdat associative
|$T36657| DCD |mmc_write|
DCD 0x40000b02
; Function compile flags: /Ogsy
00000 AREA |.text| { |mmc_write| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |mmc_write| PROC
; 172 : {
00000 e92d4010 stmdb sp!, {r4, lr}
00004 e24dd004 sub sp, sp, #4
00008 |$M36655|
; 173 : if (mmedia_io(driveno, startingSector, buff, numSectors, WRITING))
00008 e3a04002 mov r4, #2
0000c e58d4000 str r4, [sp]
00010 eb000000 bl mmedia_io
00014 e3500000 cmp r0, #0
; 174 : return (NO);
00018 e3a00000 mov r0, #0
; 175 :
; 176 : return(YES);
0001c 03a00001 moveq r0, #1
; 177 : }
00020 e28dd004 add sp, sp, #4
00024 e8bd4010 ldmia sp!, {r4, lr}
00028 e12fff1e bx lr
0002c |$M36656|
ENDP ; |mmc_write|
EXPORT |mmc_erase|
00000 AREA |.text| { |mmc_erase| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$mmc_erase|, PDATA, SELECTION=5, ASSOC=|.text| { |mmc_erase| } ; comdat associative
|$T36667| DCD |mmc_erase|
DCD 0x40000d02
; Function compile flags: /Ogsy
00000 AREA |.text| { |mmc_erase| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |mmc_erase| PROC
; 196 : {
00000 e52de004 str lr, [sp, #-4]!
00004 e24dd004 sub sp, sp, #4
00008 |$M36665|
; 197 : if (mmedia_io(driveno, startingSector, SDNULL, numSectors, ERASING))
00008 e3a03003 mov r3, #3
0000c e58d3000 str r3, [sp]
00010 e1a03002 mov r3, r2
00014 e3a02000 mov r2, #0
00018 eb000000 bl mmedia_io
0001c e3500000 cmp r0, #0
; 198 : return (NO);
00020 e3a00000 mov r0, #0
; 199 :
; 200 : return(YES);
00024 03a00001 moveq r0, #1
; 201 : }
00028 e28dd004 add sp, sp, #4
0002c e8bd4000 ldmia sp!, {lr}
00030 e12fff1e bx lr
00034 |$M36666|
ENDP ; |mmc_erase|
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -