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

📄 atapiio.cod

📁 2440 CE500BSP包, EBOOT可用DEBUG版调试
💻 COD
📖 第 1 页 / 共 5 页
字号:
  002bc		 |$L31959|

; 65   :     }
; 66   :     WriteCommand(bCmd);

  002bc	e5dd1044	 ldrb        r1, [sp, #0x44]
  002c0	e59d0038	 ldr         r0, [sp, #0x38]
  002c4	eb000000	 bl          |?WriteCommand@CDisk@@QAAXE@Z|

; 67   : 
; 68   :     return (TRUE);

  002c8	e3a03001	 mov         r3, #1
  002cc	e58d3018	 str         r3, [sp, #0x18]
  002d0		 |$L31945|

; 43   :         return FALSE;

  002d0	e59d0018	 ldr         r0, [sp, #0x18]

; 69   : }

  002d4	e28dd030	 add         sp, sp, #0x30
  002d8	e89d6000	 ldmia       sp, {sp, lr}
  002dc	e12fff1e	 bx          lr
  002e0		 |$L32251|
  002e0	00000000	 DCD         |??_C@_1JI@FLPKJPFG@?$AAA?$AAt?$AAa?$AAp?$AAi?$AA?$CB?$AAC?$AAD?$AAi?$AAs?$AAk?$AA?3?$AA?3?$AAS?$AAe?$AAn?$AAd?$AAI?$AAO?$AAC@|
  002e4	00000000	 DCD         |dpCurSettings|
  002e8	00000000	 DCD         |??_C@_1JA@EFHCDLIF@?$AAA?$AAt?$AAa?$AAp?$AAi?$AA?$CB?$AAC?$AAD?$AAi?$AAs?$AAk?$AA?3?$AA?3?$AAS?$AAe?$AAn?$AAd?$AAI?$AAO?$AAC@|
  002ec		 |$M32248|

			 ENDP  ; |?SendIOCommand@CDisk@@QAAHKKE@Z|, CDisk::SendIOCommand

	IMPORT	|READ_PORT_UCHAR|
; File d:\wince500\platform\smdk2440\drivers\atapi\diskmain.h

  00000			 AREA	 |.text| { |?GetError@CDisk@@QAAEXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?GetError@CDisk@@QAAEXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetError@CDisk@@QAAEXZ| } ; comdat associative
|$T32257| DCD	|$L32256|
	DCD	0x40001304
; Function compile flags: /Odt

  00000			 AREA	 |.text| { |?GetError@CDisk@@QAAEXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?GetError@CDisk@@QAAEXZ| PROC		; CDisk::GetError

; 212  :     inline BYTE GetError() {

  00000		 |$L32256|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd008	 sub         sp, sp, #8
  00010		 |$M32254|

; 213  :         return (BYTE) ATA_READ_BYTE(m_pATAReg + m_dwFeatureErrorOffset);

  00010	e59d3010	 ldr         r3, [sp, #0x10]
  00014	e2832030	 add         r2, r3, #0x30
  00018	e59d3010	 ldr         r3, [sp, #0x10]
  0001c	e283300c	 add         r3, r3, #0xC
  00020	e5922000	 ldr         r2, [r2]
  00024	e5933000	 ldr         r3, [r3]
  00028	e0820003	 add         r0, r2, r3
  0002c	eb000000	 bl          READ_PORT_UCHAR
  00030	e5cd0004	 strb        r0, [sp, #4]
  00034	e5dd3004	 ldrb        r3, [sp, #4]
  00038	e5cd3000	 strb        r3, [sp]
  0003c	e5dd0000	 ldrb        r0, [sp]

; 214  :     }

  00040	e28dd008	 add         sp, sp, #8
  00044	e89d6000	 ldmia       sp, {sp, lr}
  00048	e12fff1e	 bx          lr
  0004c		 |$M32255|

			 ENDP  ; |?GetError@CDisk@@QAAEXZ|, CDisk::GetError

	IMPORT	|WRITE_PORT_UCHAR|

  00000			 AREA	 |.text| { |?WriteSectorCount@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?WriteSectorCount@CDisk@@QAAXE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?WriteSectorCount@CDisk@@QAAXE@Z| } ; comdat associative
|$T32264| DCD	|$L32263|
	DCD	0x40000e03
; Function compile flags: /Odt

  00000			 AREA	 |.text| { |?WriteSectorCount@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?WriteSectorCount@CDisk@@QAAXE@Z| PROC ; CDisk::WriteSectorCount

; 222  :     inline void WriteSectorCount(BYTE bValue) {

  00000		 |$L32263|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M32261|

; 223  :         ATA_WRITE_BYTE(m_pATAReg + m_dwSectCntReasonOffset, bValue);

  0000c	e5dd100c	 ldrb        r1, [sp, #0xC]
  00010	e59d3008	 ldr         r3, [sp, #8]
  00014	e2832030	 add         r2, r3, #0x30
  00018	e59d3008	 ldr         r3, [sp, #8]
  0001c	e2833010	 add         r3, r3, #0x10
  00020	e5922000	 ldr         r2, [r2]
  00024	e5933000	 ldr         r3, [r3]
  00028	e0820003	 add         r0, r2, r3
  0002c	eb000000	 bl          WRITE_PORT_UCHAR

; 224  :     }

  00030	e89d6000	 ldmia       sp, {sp, lr}
  00034	e12fff1e	 bx          lr
  00038		 |$M32262|

			 ENDP  ; |?WriteSectorCount@CDisk@@QAAXE@Z|, CDisk::WriteSectorCount


  00000			 AREA	 |.text| { |?WriteSectorNumber@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?WriteSectorNumber@CDisk@@QAAXE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?WriteSectorNumber@CDisk@@QAAXE@Z| } ; comdat associative
|$T32271| DCD	|$L32270|
	DCD	0x40000e03
; Function compile flags: /Odt

  00000			 AREA	 |.text| { |?WriteSectorNumber@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?WriteSectorNumber@CDisk@@QAAXE@Z| PROC ; CDisk::WriteSectorNumber

; 226  :     inline void WriteSectorNumber(BYTE bValue) {

  00000		 |$L32270|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M32268|

; 227  :         ATA_WRITE_BYTE(m_pATAReg + m_dwSectNumOffset, bValue);

  0000c	e5dd100c	 ldrb        r1, [sp, #0xC]
  00010	e59d3008	 ldr         r3, [sp, #8]
  00014	e2832030	 add         r2, r3, #0x30
  00018	e59d3008	 ldr         r3, [sp, #8]
  0001c	e2833014	 add         r3, r3, #0x14
  00020	e5922000	 ldr         r2, [r2]
  00024	e5933000	 ldr         r3, [r3]
  00028	e0820003	 add         r0, r2, r3
  0002c	eb000000	 bl          WRITE_PORT_UCHAR

; 228  :     }

  00030	e89d6000	 ldmia       sp, {sp, lr}
  00034	e12fff1e	 bx          lr
  00038		 |$M32269|

			 ENDP  ; |?WriteSectorNumber@CDisk@@QAAXE@Z|, CDisk::WriteSectorNumber


  00000			 AREA	 |.text| { |?WriteLowCount@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?WriteLowCount@CDisk@@QAAXE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?WriteLowCount@CDisk@@QAAXE@Z| } ; comdat associative
|$T32278| DCD	|$L32277|
	DCD	0x40000e03
; Function compile flags: /Odt

  00000			 AREA	 |.text| { |?WriteLowCount@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?WriteLowCount@CDisk@@QAAXE@Z| PROC	; CDisk::WriteLowCount

; 233  :     inline void WriteLowCount(BYTE bValue) {

  00000		 |$L32277|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M32275|

; 234  :         ATA_WRITE_BYTE(m_pATAReg + m_dwByteCountLowOffset, bValue);

  0000c	e5dd100c	 ldrb        r1, [sp, #0xC]
  00010	e59d3008	 ldr         r3, [sp, #8]
  00014	e2832030	 add         r2, r3, #0x30
  00018	e59d3008	 ldr         r3, [sp, #8]
  0001c	e2833018	 add         r3, r3, #0x18
  00020	e5922000	 ldr         r2, [r2]
  00024	e5933000	 ldr         r3, [r3]
  00028	e0820003	 add         r0, r2, r3
  0002c	eb000000	 bl          WRITE_PORT_UCHAR

; 235  :     }

  00030	e89d6000	 ldmia       sp, {sp, lr}
  00034	e12fff1e	 bx          lr
  00038		 |$M32276|

			 ENDP  ; |?WriteLowCount@CDisk@@QAAXE@Z|, CDisk::WriteLowCount


  00000			 AREA	 |.text| { |?WriteHighCount@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?WriteHighCount@CDisk@@QAAXE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?WriteHighCount@CDisk@@QAAXE@Z| } ; comdat associative
|$T32285| DCD	|$L32284|
	DCD	0x40000e03
; Function compile flags: /Odt

  00000			 AREA	 |.text| { |?WriteHighCount@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?WriteHighCount@CDisk@@QAAXE@Z| PROC	; CDisk::WriteHighCount

; 239  :     inline void WriteHighCount(BYTE bValue) {

  00000		 |$L32284|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M32282|

; 240  :         ATA_WRITE_BYTE(m_pATAReg + m_dwByteCountHighOffset, bValue);

  0000c	e5dd100c	 ldrb        r1, [sp, #0xC]
  00010	e59d3008	 ldr         r3, [sp, #8]
  00014	e2832030	 add         r2, r3, #0x30
  00018	e59d3008	 ldr         r3, [sp, #8]
  0001c	e283301c	 add         r3, r3, #0x1C
  00020	e5922000	 ldr         r2, [r2]
  00024	e5933000	 ldr         r3, [r3]
  00028	e0820003	 add         r0, r2, r3
  0002c	eb000000	 bl          WRITE_PORT_UCHAR

; 241  :     }

  00030	e89d6000	 ldmia       sp, {sp, lr}
  00034	e12fff1e	 bx          lr
  00038		 |$M32283|

			 ENDP  ; |?WriteHighCount@CDisk@@QAAXE@Z|, CDisk::WriteHighCount


  00000			 AREA	 |.text| { |?SelectDevice@CDisk@@QAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?SelectDevice@CDisk@@QAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?SelectDevice@CDisk@@QAAXXZ| } ; comdat associative
|$T32294| DCD	|$L32293|
	DCD	0x40001c04
; Function compile flags: /Odt

  00000			 AREA	 |.text| { |?SelectDevice@CDisk@@QAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?SelectDevice@CDisk@@QAAXXZ| PROC	; CDisk::SelectDevice

; 246  :     inline void SelectDevice() {

  00000		 |$L32293|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd004	 sub         sp, sp, #4
  00010		 |$M32291|

; 247  :         ATA_WRITE_BYTE(m_pATAReg + m_dwDrvHeadOffset, (m_dwDevice == 0 ) ? ATA_HEAD_DRIVE_1 : ATA_HEAD_DRIVE_2);

  00010	e59d300c	 ldr         r3, [sp, #0xC]
  00014	e2833b01	 add         r3, r3, #1, 22
  00018	e2833084	 add         r3, r3, #0x84
  0001c	e5933000	 ldr         r3, [r3]
  00020	e3530000	 cmp         r3, #0
  00024	1a000002	 bne         |$L32289|
  00028	e3a030a0	 mov         r3, #0xA0
  0002c	e58d3000	 str         r3, [sp]
  00030	ea000001	 b           |$L32290|
  00034		 |$L32289|
  00034	e3a030b0	 mov         r3, #0xB0
  00038	e58d3000	 str         r3, [sp]
  0003c		 |$L32290|
  0003c	e59d3000	 ldr         r3, [sp]
  00040	e20310ff	 and         r1, r3, #0xFF
  00044	e59d300c	 ldr         r3, [sp, #0xC]
  00048	e2832030	 add         r2, r3, #0x30
  0004c	e59d300c	 ldr         r3, [sp, #0xC]
  00050	e2833020	 add         r3, r3, #0x20
  00054	e5922000	 ldr         r2, [r2]
  00058	e5933000	 ldr         r3, [r3]
  0005c	e0820003	 add         r0, r2, r3
  00060	eb000000	 bl          WRITE_PORT_UCHAR

; 248  :     }

  00064	e28dd004	 add         sp, sp, #4
  00068	e89d6000	 ldmia       sp, {sp, lr}
  0006c	e12fff1e	 bx          lr
  00070		 |$M32292|

			 ENDP  ; |?SelectDevice@CDisk@@QAAXXZ|, CDisk::SelectDevice


  00000			 AREA	 |.text| { |?WriteDriveHeadReg@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?WriteDriveHeadReg@CDisk@@QAAXE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?WriteDriveHeadReg@CDisk@@QAAXE@Z| } ; comdat associative
|$T32301| DCD	|$L32300|
	DCD	0x40000e03
; Function compile flags: /Odt

  00000			 AREA	 |.text| { |?WriteDriveHeadReg@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?WriteDriveHeadReg@CDisk@@QAAXE@Z| PROC ; CDisk::WriteDriveHeadReg

; 253  :     inline void WriteDriveHeadReg(BYTE bValue) {

  00000		 |$L32300|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M32298|

; 254  :         ATA_WRITE_BYTE(m_pATAReg + m_dwDrvHeadOffset, bValue);

  0000c	e5dd100c	 ldrb        r1, [sp, #0xC]
  00010	e59d3008	 ldr         r3, [sp, #8]
  00014	e2832030	 add         r2, r3, #0x30
  00018	e59d3008	 ldr         r3, [sp, #8]
  0001c	e2833020	 add         r3, r3, #0x20
  00020	e5922000	 ldr         r2, [r2]
  00024	e5933000	 ldr         r3, [r3]
  00028	e0820003	 add         r0, r2, r3
  0002c	eb000000	 bl          WRITE_PORT_UCHAR

; 255  :     }

  00030	e89d6000	 ldmia       sp, {sp, lr}
  00034	e12fff1e	 bx          lr
  00038		 |$M32299|

⌨️ 快捷键说明

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