⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.cod

📁 ARM读写SD卡程序
💻 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 + -