📄 util.cod
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 12.20.9615
TTL c:\wince420\platform\sdklh7a404\drivers\sdmmc\driver\.\util.c
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:coredll.lib "
DCB "-defaultlib:corelibc.lib "
EXPORT |copybuff|
; File c:\wince420\platform\sdklh7a404\drivers\sdmmc\driver\util.c
00000 AREA |.text| { |copybuff| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$copybuff|, PDATA, SELECTION=5, ASSOC=|.text| { |copybuff| } ; comdat associative
|$T36264| DCD |copybuff|
DCD 0x40002c01
; Function compile flags: /Ogsy
00000 AREA |.text| { |copybuff| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |copybuff| PROC
; 47 : {
00000 e92d4070 stmdb sp!, {r4 - r6, lr}
00004 |$M36262|
00004 e1a06000 mov r6, r0
00008 e1a05001 mov r5, r1
0000c e1a04002 mov r4, r2
; 48 : UINT16 *to;
; 49 : UINT16 *from;
; 50 : UINT16 dsize;
; 51 :
; 52 : to = (UINT16 *) vto;
; 53 :
; 54 : if ((ULONG)to & 0x01)
00010 e3160001 tst r6, #1
00014 0a00000f beq |$L36134|
; 55 : {
; 56 : for (dsize = 0; dsize < (UINT16)size; dsize++)
00018 e1a00804 mov r0, r4, lsl #16
0001c e1a03820 mov r3, r0, lsr #16
00020 e3530000 cmp r3, #0
00024 9a00001f bls |$L36146|
00028 e3a01000 mov r1, #0
0002c |$L36136|
; 57 : ((UCHAR *)vto)[dsize] = ((UCHAR *)vfrom)[dsize];
0002c e7d10005 ldrb r0, [r1, +r5]
00030 e7c10006 strb r0, [r1, +r6]
00034 e2811001 add r1, r1, #1
00038 e1a00801 mov r0, r1, lsl #16
0003c e1a02820 mov r2, r0, lsr #16
00040 e1a01802 mov r1, r2, lsl #16
00044 e1a01821 mov r1, r1, lsr #16
00048 e1510003 cmp r1, r3
0004c 3afffff6 bcc |$L36136|
; 85 : #endif
; 86 : }
; 87 : }
00050 e8bd4070 ldmia sp!, {r4 - r6, lr}
00054 e12fff1e bx lr
00058 |$L36134|
; 58 : }
; 59 : else
; 60 : {
; 61 : from = (UINT16 *) vfrom;
00058 e1a00804 mov r0, r4, lsl #16
0005c e1a01840 mov r1, r0, asr #16
; 62 :
; 63 : dsize = size >> 1;
00060 e1a020c1 mov r2, r1, asr #1
; 64 :
; 65 : while ( dsize-- )
00064 e1a00802 mov r0, r2, lsl #16
00068 e1b01820 movs r1, r0, lsr #16
0006c 0a000008 beq |$L36252|
00070 |$L36144|
00070 e2810cff add r0, r1, #0xFF, 24
00074 e28010ff add r1, r0, #0xFF
; 66 : *to++ = *from++;
00078 e0d500b2 ldrh r0, [r5], #2
0007c e1a02801 mov r2, r1, lsl #16
00080 e1a03822 mov r3, r2, lsr #16
00084 e1a01803 mov r1, r3, lsl #16
00088 e0c600b2 strh r0, [r6], #2
0008c e1b01821 movs r1, r1, lsr #16
00090 1afffff6 bne |$L36144|
00094 |$L36252|
; 67 :
; 68 : #if (UTEXT_SIZE)
; 69 : if (size & 1)
; 70 : {
; 71 : dsize = *to;
; 72 : *to = *from;
; 73 : #if (LITTLE_ENDIAN)
; 74 : *to &= 0x00FF;
; 75 : dsize &= 0xFF00;
; 76 : #else
; 77 : *to &= 0xFF00;
; 78 : dsize &= 0x00FF;
; 79 : #endif
; 80 : *to |= dsize;
; 81 : }
; 82 : #else
; 83 : if (size & 1)
00094 e1a00804 mov r0, r4, lsl #16
00098 e1a01820 mov r1, r0, lsr #16
0009c e3110001 tst r1, #1
; 84 : *((UCHAR *)to) = *((UCHAR *)from);
000a0 15d50000 ldrneb r0, [r5]
000a4 15c60000 strneb r0, [r6]
000a8 |$L36146|
; 85 : #endif
; 86 : }
; 87 : }
000a8 e8bd4070 ldmia sp!, {r4 - r6, lr}
000ac e12fff1e bx lr
000b0 |$M36263|
ENDP ; |copybuff|
EXPORT |compbuff|
00000 AREA |.text| { |compbuff| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$compbuff|, PDATA, SELECTION=5, ASSOC=|.text| { |compbuff| } ; comdat associative
|$T36280| DCD |compbuff|
DCD 0x40001e01
; Function compile flags: /Ogsy
00000 AREA |.text| { |compbuff| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |compbuff| PROC
; 110 : {
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M36278|
00004 e1a04000 mov r4, r0
00008 e1a03001 mov r3, r1
; 111 : UCHAR *str1 = (UCHAR *) vfrom;
; 112 : UCHAR *str2 = (UCHAR *) vto;
; 113 :
; 114 : while ( size-- )
0000c e1a00802 mov r0, r2, lsl #16
00010 e1b01820 movs r1, r0, lsr #16
00014 0a00000e beq |$L36271|
00018 e0433004 sub r3, r3, r4
0001c |$L36161|
0001c e1a00802 mov r0, r2, lsl #16
00020 e1a01840 mov r1, r0, asr #16
00024 e2412001 sub r2, r1, #1
; 115 : {
; 116 : if ( *str1 < *str2 )
00028 e7d31004 ldrb r1, [r3, +r4]
0002c e1a00802 mov r0, r2, lsl #16
00030 e1a02840 mov r2, r0, asr #16
00034 e5d40000 ldrb r0, [r4]
00038 e1500001 cmp r0, r1
0003c 3a000007 bcc |$L36269|
; 118 : if ( *str1 > *str2 )
00040 8a000009 bhi |$L36270|
00044 e1a00802 mov r0, r2, lsl #16
; 120 : str1++;
00048 e2844001 add r4, r4, #1
0004c e1b01820 movs r1, r0, lsr #16
00050 1afffff1 bne |$L36161|
00054 |$L36271|
; 121 : str2++;
; 122 : }
; 123 :
; 124 : return 0;
00054 e3a00000 mov r0, #0
; 125 : }
00058 e8bd4010 ldmia sp!, {r4, lr}
0005c e12fff1e bx lr
00060 |$L36269|
; 117 : return -1;
00060 e3e00000 mvn r0, #0
; 125 : }
00064 e8bd4010 ldmia sp!, {r4, lr}
00068 e12fff1e bx lr
0006c |$L36270|
; 119 : return 1;
0006c e3a00001 mov r0, #1
; 125 : }
00070 e8bd4010 ldmia sp!, {r4, lr}
00074 e12fff1e bx lr
00078 |$M36279|
ENDP ; |compbuff|
EXPORT |pc_memfill|
00000 AREA |.text| { |pc_memfill| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$pc_memfill|, PDATA, SELECTION=5, ASSOC=|.text| { |pc_memfill| } ; comdat associative
|$T36295| DCD |pc_memfill|
DCD 0x40000f01
; Function compile flags: /Ogsy
00000 AREA |.text| { |pc_memfill| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |pc_memfill| PROC
; 147 : {
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M36293|
00004 e1a04000 mov r4, r0
00008 e1a03002 mov r3, r2
; 148 : UINT16 dsize;
; 149 :
; 150 : #if (UTEXT_SIZE)
; 151 : UINT16 *to = (UINT16 *) vto;
; 152 :
; 153 : dsize = size >> 1;
; 154 : #else
; 155 : UCHAR *to = (UCHAR *) vto;
; 156 :
; 157 : dsize = size;
; 158 : #endif
; 159 :
; 160 : while ( dsize-- )
0000c e1a00801 mov r0, r1, lsl #16
00010 ea000005 b |$L36292|
00014 |$L36176|
00014 e2820cff add r0, r2, #0xFF, 24
; 161 : *to++ = c;
00018 e4c43001 strb r3, [r4], #1
0001c e28010ff add r1, r0, #0xFF
00020 e1a02801 mov r2, r1, lsl #16
00024 e1a00822 mov r0, r2, lsr #16
00028 e1a00800 mov r0, r0, lsl #16
0002c |$L36292|
; 148 : UINT16 dsize;
; 149 :
; 150 : #if (UTEXT_SIZE)
; 151 : UINT16 *to = (UINT16 *) vto;
; 152 :
; 153 : dsize = size >> 1;
; 154 : #else
; 155 : UCHAR *to = (UCHAR *) vto;
; 156 :
; 157 : dsize = size;
; 158 : #endif
; 159 :
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -