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

📄 ide.cod

📁 Ep93XX TionProV2 BSP
💻 COD
📖 第 1 页 / 共 5 页
字号:

  00000		 |$L39397|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M39395|

; 226  :     ATAWriteRegister(CSDA_DRVHD_REG, (ULONG) bValue);

  0000c	e5dd1008	 ldrb        r1, [sp, #8]
  00010	e3a0001a	 mov         r0, #0x1A
  00014	eb000000	 bl          ATAWriteRegister

; 227  : }

  00018	e89d6000	 ldmia       sp, {sp, lr}
  0001c	e12fff1e	 bx          lr
  00020		 |$M39396|

			 ENDP  ; |WriteDriveHeadReg|

	EXPORT	|WriteSectorNumber|

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

  00000			 AREA	 |.pdata$$WriteSectorNumber|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteSectorNumber| } ; comdat associative
|$T39405| DCD	|$L39404|
	DCD	0x40000803
; Function compile flags: /Ods

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

  00000		 |WriteSectorNumber| PROC

; 229  : {

  00000		 |$L39404|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M39402|

; 230  :     ATAWriteRegister(CSDA_SECTNUM_REG, (ULONG) bValue);

  0000c	e5dd1008	 ldrb        r1, [sp, #8]
  00010	e3a0000e	 mov         r0, #0xE
  00014	eb000000	 bl          ATAWriteRegister

; 231  : }

  00018	e89d6000	 ldmia       sp, {sp, lr}
  0001c	e12fff1e	 bx          lr
  00020		 |$M39403|

			 ENDP  ; |WriteSectorNumber|

	EXPORT	|WriteLowCount|

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

  00000			 AREA	 |.pdata$$WriteLowCount|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteLowCount| } ; comdat associative
|$T39412| DCD	|$L39411|
	DCD	0x40000803
; Function compile flags: /Ods

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

  00000		 |WriteLowCount| PROC

; 237  : {

  00000		 |$L39411|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M39409|

; 238  :     ATAWriteRegister(CSDA_CYLL_REG, (ULONG) bValue);

  0000c	e5dd1008	 ldrb        r1, [sp, #8]
  00010	e3a00012	 mov         r0, #0x12
  00014	eb000000	 bl          ATAWriteRegister

; 239  : }

  00018	e89d6000	 ldmia       sp, {sp, lr}
  0001c	e12fff1e	 bx          lr
  00020		 |$M39410|

			 ENDP  ; |WriteLowCount|

	EXPORT	|WriteHighCount|

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

  00000			 AREA	 |.pdata$$WriteHighCount|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteHighCount| } ; comdat associative
|$T39419| DCD	|$L39418|
	DCD	0x40000803
; Function compile flags: /Ods

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

  00000		 |WriteHighCount| PROC

; 241  : {

  00000		 |$L39418|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M39416|

; 242  :     ATAWriteRegister(CSDA_CYLH_REG, (ULONG) bValue);

  0000c	e5dd1008	 ldrb        r1, [sp, #8]
  00010	e3a00016	 mov         r0, #0x16
  00014	eb000000	 bl          ATAWriteRegister

; 243  : }

  00018	e89d6000	 ldmia       sp, {sp, lr}
  0001c	e12fff1e	 bx          lr
  00020		 |$M39417|

			 ENDP  ; |WriteHighCount|

	EXPORT	|ReadWordBuffer|

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

  00000			 AREA	 |.pdata$$ReadWordBuffer|, PDATA, SELECTION=5, ASSOC=|.text| { |ReadWordBuffer| } ; comdat associative
|$T39426| DCD	|$L39425|
	DCD	0x40003204
; Function compile flags: /Ods

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

  00000		 |ReadWordBuffer| PROC

; 246  : {

  00000		 |$L39425|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd008	 sub         sp, sp, #8
  00010		 |$M39423|

; 247  :     PWORD pEnd;
; 248  :     pEnd = pBuffer + dwCount;

  00010	e59d1014	 ldr         r1, [sp, #0x14]
  00014	e3a03002	 mov         r3, #2
  00018	e0020391	 mul         r2, r1, r3
  0001c	e59d3010	 ldr         r3, [sp, #0x10]
  00020	e0833002	 add         r3, r3, r2
  00024	e58d3000	 str         r3, [sp]

; 249  : 
; 250  : #ifdef EDB9307_12_15
; 251  :     if(m_BootDeviceType == BOOT_FROM_PCMCIA)

  00028	e59f3094	 ldr         r3, [pc, #0x94]
  0002c	e5933000	 ldr         r3, [r3]
  00030	e3530c01	 cmp         r3, #1, 24
  00034	1a00000c	 bne         |$L38855|
  00038		 |$L38857|

; 252  :     {
; 253  :         while(pBuffer < pEnd)

  00038	e59d2010	 ldr         r2, [sp, #0x10]
  0003c	e59d3000	 ldr         r3, [sp]
  00040	e1520003	 cmp         r2, r3
  00044	2a000007	 bcs         |$L38858|

; 254  :         {
; 255  :             *pBuffer++ = *(volatile USHORT *)(PCMCIACARD_IO + IDE_DATA_REG);

  00048	e3a03101	 mov         r3, #1, 2
  0004c	e1d320b0	 ldrh        r2, [r3]
  00050	e59d3010	 ldr         r3, [sp, #0x10]
  00054	e1c320b0	 strh        r2, [r3]
  00058	e59d3010	 ldr         r3, [sp, #0x10]
  0005c	e2833002	 add         r3, r3, #2
  00060	e58d3010	 str         r3, [sp, #0x10]

; 256  :         }

  00064	eafffff3	 b           |$L38857|
  00068		 |$L38858|

; 257  :     }
; 258  :     else

  00068	ea000012	 b           |$L38860|
  0006c		 |$L38855|
  0006c		 |$L38862|

; 259  : #endif
; 260  :     {
; 261  :         while(pBuffer < pEnd)

  0006c	e59d2010	 ldr         r2, [sp, #0x10]
  00070	e59d3000	 ldr         r3, [sp]
  00074	e1520003	 cmp         r2, r3
  00078	2a00000e	 bcs         |$L38863|

; 262  :         {
; 263  :             *pBuffer++ = (WORD)(ATAReadRegister(CSDA_DATA_REG) & 0xFFFF);

  0007c	e3a00002	 mov         r0, #2
  00080	eb000000	 bl          ATAReadRegister
  00084	e58d0004	 str         r0, [sp, #4]
  00088	e59d2004	 ldr         r2, [sp, #4]
  0008c	e3a03cff	 mov         r3, #0xFF, 24
  00090	e38330ff	 orr         r3, r3, #0xFF
  00094	e0023003	 and         r3, r2, r3
  00098	e1a02803	 mov         r2, r3, lsl #16
  0009c	e1a02822	 mov         r2, r2, lsr #16
  000a0	e59d3010	 ldr         r3, [sp, #0x10]
  000a4	e1c320b0	 strh        r2, [r3]
  000a8	e59d3010	 ldr         r3, [sp, #0x10]
  000ac	e2833002	 add         r3, r3, #2
  000b0	e58d3010	 str         r3, [sp, #0x10]

; 264  :         }

  000b4	eaffffec	 b           |$L38862|
  000b8		 |$L38863|
  000b8		 |$L38860|

; 265  :     }
; 266  : }

  000b8	e28dd008	 add         sp, sp, #8
  000bc	e89d6000	 ldmia       sp, {sp, lr}
  000c0	e12fff1e	 bx          lr
  000c4		 |$L39428|
  000c4	00000000	 DCD         |m_BootDeviceType|
  000c8		 |$M39424|

			 ENDP  ; |ReadWordBuffer|

	EXPORT	|ReadByteBuffer|

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

  00000			 AREA	 |.pdata$$ReadByteBuffer|, PDATA, SELECTION=5, ASSOC=|.text| { |ReadByteBuffer| } ; comdat associative
|$T39434| DCD	|$L39433|
	DCD	0x40001c04
; Function compile flags: /Ods

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

  00000		 |ReadByteBuffer| PROC

; 268  : {

  00000		 |$L39433|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd008	 sub         sp, sp, #8
  00010		 |$M39431|

; 269  :     DWORD   dwIndex;
; 270  :     for(dwIndex = 0 ; dwIndex < dwCount ; dwIndex++)

  00010	e3a03000	 mov         r3, #0
  00014	e58d3000	 str         r3, [sp]
  00018	ea000002	 b           |$L38872|
  0001c		 |$L38873|
  0001c	e59d3000	 ldr         r3, [sp]
  00020	e2833001	 add         r3, r3, #1
  00024	e58d3000	 str         r3, [sp]
  00028		 |$L38872|
  00028	e59d2000	 ldr         r2, [sp]
  0002c	e59d3014	 ldr         r3, [sp, #0x14]
  00030	e1520003	 cmp         r2, r3
  00034	2a00000a	 bcs         |$L38874|

; 271  :     {
; 272  :         pBuffer[dwIndex] = (BYTE)(ATAReadRegister(CSDA_DATA_REG) & 0xFF);

  00038	e3a00002	 mov         r0, #2
  0003c	eb000000	 bl          ATAReadRegister
  00040	e58d0004	 str         r0, [sp, #4]
  00044	e59d3004	 ldr         r3, [sp, #4]
  00048	e20330ff	 and         r3, r3, #0xFF
  0004c	e20310ff	 and         r1, r3, #0xFF
  00050	e59d2010	 ldr         r2, [sp, #0x10]
  00054	e59d3000	 ldr         r3, [sp]
  00058	e0823003	 add         r3, r2, r3
  0005c	e5c31000	 strb        r1, [r3]

; 273  :     }

  00060	eaffffed	 b           |$L38873|
  00064		 |$L38874|

; 274  : }

  00064	e28dd008	 add         sp, sp, #8
  00068	e89d6000	 ldmia       sp, {sp, lr}
  0006c	e12fff1e	 bx          lr
  00070		 |$M39432|

			 ENDP  ; |ReadByteBuffer|

	EXPORT	|ReadWord|

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

  00000			 AREA	 |.pdata$$ReadWord|, PDATA, SELECTION=5, ASSOC=|.text| { |ReadWord| } ; comdat associative
|$T39442| DCD	|$L39441|
	DCD	0x40001902
; Function compile flags: /Ods

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

  00000		 |ReadWord| PROC

; 276  : {

  00000		 |$L39441|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004	e24dd008	 sub         sp, sp, #8
  00008		 |$M39439|

; 277  : #ifdef EDB9307_12_15
; 278  :     if(m_BootDeviceType == BOOT_FROM_PCMCIA)

  00008	e59f3050	 ldr         r3, [pc, #0x50]
  0000c	e5933000	 ldr         r3, [r3]
  00010	e3530c01	 cmp         r3, #1, 24
  00014	1a000003	 bne         |$L38878|

; 279  :         return *(volatile USHORT *)(PCMCIACARD_IO + IDE_DATA_REG);

  00018	e3a03101	 mov         r3, #1, 2
  0001c	e1d330b0	 ldrh        r3, [r3]
  00020	e1cd30b0	 strh        r3, [sp]
  00024	ea000009	 b           |$L38877|
  00028		 |$L38878|

; 280  :     else
; 281  : #endif
; 282  :         return ((WORD)(ATAReadRegister(CSDA_DATA_REG) & 0xFFFF));

  00028	e3a00002	 mov         r0, #2
  0002c	eb000000	 bl          ATAReadRegister
  00030	e58d0004	 str         r0, [sp, #4]
  00034	e59d2004	 ldr         r2, [sp, #4]
  00038	e3a03cff	 mov         r3, #0xFF, 24
  0003c	e38330ff	 orr         r3, r3, #0xFF
  00040	e0023003	 and         r3, r2, r3
  00044	e1a03803	 mov         r3, r3, lsl #16
  00048	e1a03823	 mov         r3, r3, lsr #16
  0004c	e1cd30b0	 strh        r3, [sp]
  00050		 |$L38877|

; 279  :         return *(volatile USHORT *)(PCMCIACARD_IO + IDE_DATA_REG);

  00050	e1dd00b0	 ldrh        r0, [sp]

; 283  : }

  00054	e28dd008	 add         sp, sp, #8
  00058	e49de004	 ldr         lr, [sp], #4
  0005c	e12fff1e	 bx          lr
  00060		 |$L39444|
  00060	00000000	 DCD         |m_BootDeviceType|
  00064		 |$M39440|

			 ENDP  ; |ReadWord|

	EXPORT	|ReadByte|

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

  00000			 AREA	 |.pdata$$ReadByte|, PDATA, SELECTION=5, ASSOC=|.text| { |ReadByte| } ; comdat associative
|$T39451| DCD	|$L39450|
	DCD	0x40000d02
; Function compile flags: /Ods

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

  00000		 |ReadByte| PROC

; 285  : {

  00000		 |$L39450|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004	e24dd008	 sub         sp, sp, #8
  00008		 |$M39448|

; 286  :     return ((BYTE)(ATAReadRegister(CSDA_DATA_REG) & 0xFF));

  00008	e3a00002	 mov         r0, #2
  0000c	eb000000	 bl          ATAReadRegister
  00010	e58d0004	 str         r0, [sp, #4]
  00014	e59d3004	 ldr         r3, [sp, #4]
  00018	e20330ff	 and         r3, r3, #0xFF
  0001c	e20330ff	 and         r3, r3, #0xFF
  00020	e1cd30b0	 strh        r3, [sp]
  00024	e1dd00b0	 ldrh        r0, [sp]

; 287  : }

  00028	e28dd008	 add         sp, sp, #8
  0002c	e49de004	 ldr         lr, [sp], #4
  00030	e12fff1e	 bx          lr
  00034		 |$M39449|

			 ENDP  ; |ReadByte|

	EXPORT	|WaitForDisc_P|
	IMPORT	|DelayInuSec|

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

  00000			 AREA	 |.pdata$$WaitForDisc_P|, PDATA, SELECTION=5, ASSOC=|.text| { |WaitForDisc_P| } ; comdat associative
|$T39459| DCD	|$L39458|
	DCD	0x40005504
; Function compile flags: /Ods

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

  00000		 |WaitForDisc_P| PROC

; 289  : {

  00000		 |$L39458|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0007	 stmdb       sp!, {r0 - r2}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd010	 sub         sp, sp, #0x10
  00010		 |$M39456|

; 290  :     BYTE bStatusRead;
; 291  :     bStatusRead = 0;

  00010	e3a03000	 mov         r3, #0

⌨️ 快捷键说明

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