📄 timer.cod
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 12.20.9615
TTL c:\wince420\platform\sdklh7a404\drivers\sdmmc\driver\.\timer.c
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:coredll.lib "
DCB "-defaultlib:corelibc.lib "
EXPORT |delayTime| [ DATA ]
00000 AREA |.bss|, NOINIT
|delayTime| % 0x4
00000 AREA |.data|, DATA
COMMON |CurMSec|, 0x4
EXPORT |platform_ticks_p_second|
; File c:\wince420\platform\sdklh7a404\drivers\sdmmc\driver\timer.c
00000 AREA |.text| { |platform_ticks_p_second| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$platform_ticks_p_second|, PDATA, SELECTION=5, ASSOC=|.text| { |platform_ticks_p_second| } ; comdat associative
|$T36045| DCD |platform_ticks_p_second|
DCD 0x40000200
; Function compile flags: /Ogsy
00000 AREA |.text| { |platform_ticks_p_second| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |platform_ticks_p_second| PROC
; 78 : {
00000 |$M36043|
; 79 : return(TICKS_PER_SECOND);
00000 e3a00012 mov r0, #0x12
; 80 : }
00004 e12fff1e bx lr
00008 |$M36044|
ENDP ; |platform_ticks_p_second|
EXPORT |platform_delayms|
EXPORT |platform_get_ticks|
00000 AREA |.text| { |platform_delayms| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$platform_delayms|, PDATA, SELECTION=5, ASSOC=|.text| { |platform_delayms| } ; comdat associative
|$T36057| DCD |platform_delayms|
DCD 0x40001801
; Function compile flags: /Ogsy
00000 AREA |.text| { |platform_delayms| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |platform_delayms| PROC
; 111 : {
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 |$M36055|
00004 e1a04000 mov r4, r0
; 112 : ULONG tticks, tcurr;
; 113 :
; 114 : tcurr = platform_get_ticks();
00008 eb000000 bl platform_get_ticks
; 115 : tticks = tcurr + (ULONG)(delay_millis / (1000 / TICKS_PER_SECOND));
0000c e59f2048 ldr r2, [pc, #0x48]
00010 e1a05000 mov r5, r0
00014 e1a00804 mov r0, r4, lsl #16
00018 e1a01840 mov r1, r0, asr #16
0001c e0c20291 smull r0, r2, r1, r2
00020 e1a000c2 mov r0, r2, asr #1
00024 e0801fa0 add r1, r0, r0, lsr #31
00028 e0814005 add r4, r1, r5
0002c ea000006 b |$L36054|
00030 |$L36018|
; 119 : {
; 120 : if (tcurr > platform_get_ticks())
00030 eb000000 bl platform_get_ticks
00034 e1550000 cmp r5, r0
00038 9a000001 bls |$L36020|
; 121 : {
; 122 : tticks = 1L + platform_get_ticks();
0003c eb000000 bl platform_get_ticks
00040 e2804001 add r4, r0, #1
00044 |$L36020|
; 123 : }
; 124 :
; 125 : tcurr = platform_get_ticks();
00044 eb000000 bl platform_get_ticks
00048 e1a05000 mov r5, r0
0004c |$L36054|
; 116 :
; 117 :
; 118 : while (tcurr <= tticks)
0004c e1550004 cmp r5, r4
00050 9afffff6 bls |$L36018|
; 126 : }
; 127 : }
00054 e8bd4030 ldmia sp!, {r4, r5, lr}
00058 e12fff1e bx lr
0005c |$L36059|
0005c 094f2095 DCD 0x94f2095
00060 |$M36056|
ENDP ; |platform_delayms|
IMPORT |GetTickCount|
00000 AREA |.text| { |platform_get_ticks| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$platform_get_ticks|, PDATA, SELECTION=5, ASSOC=|.text| { |platform_get_ticks| } ; comdat associative
|$T36070| DCD |platform_get_ticks|
DCD 0x40000901
; Function compile flags: /Ogsy
00000 AREA |.text| { |platform_get_ticks| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |platform_get_ticks| PROC
; 154 : {
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M36068|
; 155 : ULONG myTicks;
; 156 : ULONG WorkTicks;
; 157 :
; 158 :
; 159 :
; 160 : WorkTicks=GetTickCount();
00004 eb000000 bl GetTickCount
; 161 : myTicks=WorkTicks;
; 162 :
; 163 :
; 164 :
; 169 :
; 170 :
; 171 : while(myTicks <= WorkTicks + 3)
00008 e2804003 add r4, r0, #3
0000c ea000000 b |$L36067|
00010 |$L36026|
; 172 : myTicks=GetTickCount();
00010 eb000000 bl GetTickCount
00014 |$L36067|
; 161 : myTicks=WorkTicks;
; 162 :
; 163 :
; 164 :
; 169 :
; 170 :
; 171 : while(myTicks <= WorkTicks + 3)
00014 e1500004 cmp r0, r4
00018 9afffffc bls |$L36026|
; 173 :
; 174 :
; 175 :
; 176 : return(myTicks);
; 177 : }
0001c e8bd4010 ldmia sp!, {r4, lr}
00020 e12fff1e bx lr
00024 |$M36069|
ENDP ; |platform_get_ticks|
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -