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

📄 ioconst.cod

📁 ARM读写SD卡程序
💻 COD
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 12.20.9615 

	TTL	c:\wince420\platform\sdklh7a404\drivers\sdmmc\driver\.\ioconst.c
	CODE32

  00000			 AREA	 |.drectve|, DRECTVE
	DCB	"-defaultlib:coredll.lib "
	DCB	"-defaultlib:corelibc.lib "

	EXPORT	|io_mapped_addresses| [ DATA ]
	EXPORT	|drvs_per_controller| [ DATA ]
	EXPORT	|drive_ptr| [ DATA ]

  00000			 AREA	 |.data|, DATA
	 COMMON	|multipleRdWr|, 0x2

	 COMMON	|controller_s|, 0x3c

	 COMMON	|ddrive1|, 0x20


  00000			 AREA	 |.rdata|, DATA, READONLY
|io_mapped_addresses| DCW 0x278
	%	2
|drvs_per_controller| DCW 0x1

  00000			 AREA	 |.data|, DATA
|drive_ptr| DCD	|ddrive1|
	EXPORT	|clear_controller_structure|
; File c:\wince420\platform\sdklh7a404\drivers\sdmmc\driver\ioconst.c

  00000			 AREA	 |.text| { |clear_controller_structure| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$clear_controller_structure|, PDATA, SELECTION=5, ASSOC=|.text| { |clear_controller_structure| } ; comdat associative
|$T35933| DCD	|clear_controller_structure|
	DCD	0x40003601
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |clear_controller_structure| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |clear_controller_structure| PROC

; 192  : {

  00000	e92d47f0	 stmdb     sp!, {r4 - r10, lr}
  00004		 |$M35931|

; 193  :     PDEVICE_CONTROLLER pc;
; 194  :         INT16 i, j;
; 195  : 
; 196  :     
; 197  :     for (i = 0; i < N_INTERFACES; i++)

  00004	e59f60c8	 ldr       r6, [pc, #0xC8]
  00008	e3a0a000	 mov       r10, #0
  0000c	e59f50bc	 ldr       r5, [pc, #0xBC]
  00010	e59f40b4	 ldr       r4, [pc, #0xB4]
  00014	e1a0900a	 mov       r9, r10
  00018	e59f30a8	 ldr       r3, [pc, #0xA8]
  0001c		 |$L35909|

; 198  :     {
; 199  :         
; 200  :         pc = &controller_s[i];

  0001c	e0690209	 rsb       r0, r9, r9, lsl #4
  00020	e0838100	 add       r8, r3, r0, lsl #2

; 201  :                 pc->mode = NO;
; 202  :         pc->controller_number = -1;

  00024	e3e00000	 mvn       r0, #0
  00028	e1c8a2b0	 strh      r10, [r8, #0x20]
  0002c	e1c801b4	 strh      r0, [r8, #0x14]

; 203  :         pc->interrupt_number = -1;

  00030	e3e01000	 mvn       r1, #0

; 204  :         pc->opencount = NO;
; 205  : #if (USE_MEMMODE)
; 206  :         pc->register_file_address = (FPTR08)mem_mapped_addresses_pointer[i];
; 207  : #else
; 208  :         pc->register_file_address = io_mapped_addresses[i];

  00034	e0840089	 add       r0, r4, r9, lsl #1
  00038	e1c811b2	 strh      r1, [r8, #0x12]
  0003c	e1d010b0	 ldrh      r1, [r0]

; 209  : #endif
; 210  :         
; 211  :         pc->drive = (DRIVE_DESC *)drive_ptr[i];
; 212  : 
; 213  :                 for (j = 0; j < drvs_per_controller[i]; j++)

  00040	e0867089	 add       r7, r6, r9, lsl #1
  00044	e7950109	 ldr       r0, [r5, +r9, lsl #2]
  00048	e1c8a1b0	 strh      r10, [r8, #0x10]
  0004c	e5880000	 str       r0, [r8]
  00050	e1d700f0	 ldrsh     r0, [r7]
  00054	e1c810b8	 strh      r1, [r8, #8]
  00058	e3500000	 cmp       r0, #0
  0005c	da000010	 ble       |$L35910|
  00060	e1a0200a	 mov       r2, r10
  00064		 |$L35913|

; 214  :                 {
; 215  :                         pc->drive[j].features = NO;

  00064	e5980000	 ldr       r0, [r8]
  00068	e0801282	 add       r1, r0, r2, lsl #5
  0006c	e1c1a0bc	 strh      r10, [r1, #0xC]

; 216  :                         pc->drive[j].drv_type = NO;

  00070	e5980000	 ldr       r0, [r8]
  00074	e0801282	 add       r1, r0, r2, lsl #5
  00078	e581a010	 str       r10, [r1, #0x10]
  0007c	e2821001	 add       r1, r2, #1

; 217  :                         pc->drive[j].total_lba = 0L;

  00080	e5980000	 ldr       r0, [r8]
  00084	e780a282	 str       r10, [r0, +r2, lsl #5]
  00088	e1a00801	 mov       r0, r1, lsl #16
  0008c	e1a02840	 mov       r2, r0, asr #16
  00090	e1d700f0	 ldrsh     r0, [r7]
  00094	e1a01802	 mov       r1, r2, lsl #16
  00098	e1a02841	 mov       r2, r1, asr #16
  0009c	e1520000	 cmp       r2, r0
  000a0	baffffef	 blt       |$L35913|
  000a4		 |$L35910|

; 193  :     PDEVICE_CONTROLLER pc;
; 194  :         INT16 i, j;
; 195  : 
; 196  :     
; 197  :     for (i = 0; i < N_INTERFACES; i++)

  000a4	e2890001	 add       r0, r9, #1
  000a8	e1a01800	 mov       r1, r0, lsl #16
  000ac	e1a02841	 mov       r2, r1, asr #16
  000b0	e1a00802	 mov       r0, r2, lsl #16
  000b4	e1a09840	 mov       r9, r0, asr #16
  000b8	e3590001	 cmp       r9, #1
  000bc	baffffd6	 blt       |$L35909|

; 218  :                 }
; 219  :     }
; 220  : }

  000c0	e8bd47f0	 ldmia     sp!, {r4 - r10, lr}
  000c4	e12fff1e	 bx        lr
  000c8		 |$L35935|
  000c8	00000000	 DCD       |controller_s|
  000cc	00000000	 DCD       |io_mapped_addresses|
  000d0	00000000	 DCD       |drive_ptr|
  000d4	00000000	 DCD       |drvs_per_controller|
  000d8		 |$M35932|

			 ENDP  ; |clear_controller_structure|

	END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -