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

📄 atapiio.cod

📁 windows CE 的BSP开发包.包含众多的驱动程序和OAL层的开发代码
💻 COD
📖 第 1 页 / 共 5 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4091 

	TTL	D:\WINCE500\PLATFORM\smdk2440\DRIVERS\atapi\.\atapiio.cpp
	CODE32

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

	EXPORT	|?ReadWord@CDisk@@QAAGXZ|		; CDisk::ReadWord
	IMPORT	|READ_PORT_USHORT|
; File d:\wince500\platform\smdk2440\drivers\atapi\diskmain.h

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

  00000			 AREA	 |.pdata$$?ReadWord@CDisk@@QAAGXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?ReadWord@CDisk@@QAAGXZ| } ; comdat associative
|$T32227| DCD	|$L32226|
	DCD	0x40000901
; Function compile flags: /Ogsy

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

  00000		 |?ReadWord@CDisk@@QAAGXZ| PROC		; CDisk::ReadWord

; 190  :     inline WORD ReadWord() {

  00000		 |$L32226|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32224|

; 191  :         return ATA_READ_WORD((PWORD)(m_pATAReg+m_dwDataDrvCtrlOffset));

  00004	e5902030	 ldr         r2, [r0, #0x30]
  00008	e5903008	 ldr         r3, [r0, #8]
  0000c	e0820003	 add         r0, r2, r3
  00010	eb000000	 bl          READ_PORT_USHORT
  00014	e1a00800	 mov         r0, r0, lsl #16
  00018	e1a00820	 mov         r0, r0, lsr #16

; 192  :     }

  0001c	e49de004	 ldr         lr, [sp], #4
  00020	e12fff1e	 bx          lr
  00024		 |$M32225|

			 ENDP  ; |?ReadWord@CDisk@@QAAGXZ|, CDisk::ReadWord

	EXPORT	|?ReadWordBuffer@CDisk@@QAAXPAGK@Z|	; CDisk::ReadWordBuffer
	IMPORT	|READ_PORT_BUFFER_USHORT|

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

  00000			 AREA	 |.pdata$$?ReadWordBuffer@CDisk@@QAAXPAGK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?ReadWordBuffer@CDisk@@QAAXPAGK@Z| } ; comdat associative
|$T32237| DCD	|$L32236|
	DCD	0x40000701
; Function compile flags: /Ogsy

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

  00000		 |?ReadWordBuffer@CDisk@@QAAXPAGK@Z| PROC ; CDisk::ReadWordBuffer

; 196  :     inline void ReadWordBuffer(PWORD pBuffer, DWORD dwCount) {

  00000		 |$L32236|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32234|

; 197  :         READ_PORT_BUFFER_USHORT((PWORD)(m_pATAReg + m_dwDataDrvCtrlOffset), pBuffer, dwCount);

  00004	e590e030	 ldr         lr, [r0, #0x30]
  00008	e5903008	 ldr         r3, [r0, #8]
  0000c	e08e0003	 add         r0, lr, r3
  00010	eb000000	 bl          READ_PORT_BUFFER_USHORT

; 198  :     }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M32235|

			 ENDP  ; |?ReadWordBuffer@CDisk@@QAAXPAGK@Z|, CDisk::ReadWordBuffer

	EXPORT	|?WriteWord@CDisk@@QAAXG@Z|		; CDisk::WriteWord
	IMPORT	|WRITE_PORT_USHORT|

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

  00000			 AREA	 |.pdata$$?WriteWord@CDisk@@QAAXG@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?WriteWord@CDisk@@QAAXG@Z| } ; comdat associative
|$T32246| DCD	|$L32245|
	DCD	0x40000701
; Function compile flags: /Ogsy

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

  00000		 |?WriteWord@CDisk@@QAAXG@Z| PROC	; CDisk::WriteWord

; 202  :     inline void WriteWord(WORD wData) {

  00000		 |$L32245|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32243|

; 203  :         ATA_WRITE_WORD((PWORD)(m_pATAReg + m_dwDataDrvCtrlOffset), wData);

  00004	e5902030	 ldr         r2, [r0, #0x30]
  00008	e5903008	 ldr         r3, [r0, #8]
  0000c	e0820003	 add         r0, r2, r3
  00010	eb000000	 bl          WRITE_PORT_USHORT

; 204  :     }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M32244|

			 ENDP  ; |?WriteWord@CDisk@@QAAXG@Z|, CDisk::WriteWord

	EXPORT	|?WriteWordBuffer@CDisk@@QAAXPAGK@Z|	; CDisk::WriteWordBuffer
	IMPORT	|WRITE_PORT_BUFFER_USHORT|

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

  00000			 AREA	 |.pdata$$?WriteWordBuffer@CDisk@@QAAXPAGK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?WriteWordBuffer@CDisk@@QAAXPAGK@Z| } ; comdat associative
|$T32256| DCD	|$L32255|
	DCD	0x40000701
; Function compile flags: /Ogsy

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

  00000		 |?WriteWordBuffer@CDisk@@QAAXPAGK@Z| PROC ; CDisk::WriteWordBuffer

; 208  :     inline void WriteWordBuffer(PWORD pBuffer, DWORD dwCount) {

  00000		 |$L32255|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32253|

; 209  :         WRITE_PORT_BUFFER_USHORT((PWORD)(m_pATAReg + m_dwDataDrvCtrlOffset), pBuffer, dwCount);

  00004	e590e030	 ldr         lr, [r0, #0x30]
  00008	e5903008	 ldr         r3, [r0, #8]
  0000c	e08e0003	 add         r0, lr, r3
  00010	eb000000	 bl          WRITE_PORT_BUFFER_USHORT

; 210  :     }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M32254|

			 ENDP  ; |?WriteWordBuffer@CDisk@@QAAXPAGK@Z|, CDisk::WriteWordBuffer

	EXPORT	|?GetError@CDisk@@QAAEXZ|		; CDisk::GetError
	IMPORT	|READ_PORT_UCHAR|

  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
|$T32266| DCD	|$L32265|
	DCD	0x40000701
; Function compile flags: /Ogsy

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

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

; 212  :     inline BYTE GetError() {

  00000		 |$L32265|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32263|

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

  00004	e5902030	 ldr         r2, [r0, #0x30]
  00008	e590300c	 ldr         r3, [r0, #0xC]
  0000c	e0820003	 add         r0, r2, r3
  00010	eb000000	 bl          READ_PORT_UCHAR

; 214  :     }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M32264|

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

	EXPORT	|?WriteFeature@CDisk@@QAAXE@Z|		; CDisk::WriteFeature
	IMPORT	|WRITE_PORT_UCHAR|

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

  00000			 AREA	 |.pdata$$?WriteFeature@CDisk@@QAAXE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?WriteFeature@CDisk@@QAAXE@Z| } ; comdat associative
|$T32275| DCD	|$L32274|
	DCD	0x40000701
; Function compile flags: /Ogsy

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

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

; 215  :     inline void WriteFeature(BYTE bFeature) {

  00000		 |$L32274|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32272|

; 216  :         ATA_WRITE_BYTE( m_pATAReg + m_dwFeatureErrorOffset, bFeature);

  00004	e5902030	 ldr         r2, [r0, #0x30]
  00008	e590300c	 ldr         r3, [r0, #0xC]
  0000c	e0820003	 add         r0, r2, r3
  00010	eb000000	 bl          WRITE_PORT_UCHAR

; 217  :     }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M32273|

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

	EXPORT	|?GetReason@CDisk@@QAAEXZ|		; CDisk::GetReason

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

  00000			 AREA	 |.pdata$$?GetReason@CDisk@@QAAEXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetReason@CDisk@@QAAEXZ| } ; comdat associative
|$T32285| DCD	|$L32284|
	DCD	0x40000701
; Function compile flags: /Ogsy

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

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

; 219  :     inline BYTE GetReason() {

  00000		 |$L32284|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32282|

; 220  :         return (BYTE) ATA_READ_BYTE(m_pATAReg + m_dwSectCntReasonOffset);

  00004	e5902030	 ldr         r2, [r0, #0x30]
  00008	e5903010	 ldr         r3, [r0, #0x10]
  0000c	e0820003	 add         r0, r2, r3
  00010	eb000000	 bl          READ_PORT_UCHAR

; 221  :     }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M32283|

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

	EXPORT	|?WriteSectorCount@CDisk@@QAAXE@Z|	; CDisk::WriteSectorCount

  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
|$T32294| DCD	|$L32293|
	DCD	0x40000701
; Function compile flags: /Ogsy

  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		 |$L32293|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32291|

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

  00004	e5902030	 ldr         r2, [r0, #0x30]
  00008	e5903010	 ldr         r3, [r0, #0x10]
  0000c	e0820003	 add         r0, r2, r3
  00010	eb000000	 bl          WRITE_PORT_UCHAR

; 224  :     }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M32292|

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

	EXPORT	|?WriteSectorNumber@CDisk@@QAAXE@Z|	; CDisk::WriteSectorNumber

  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
|$T32303| DCD	|$L32302|
	DCD	0x40000701
; Function compile flags: /Ogsy

  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		 |$L32302|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32300|

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

  00004	e5902030	 ldr         r2, [r0, #0x30]
  00008	e5903014	 ldr         r3, [r0, #0x14]
  0000c	e0820003	 add         r0, r2, r3
  00010	eb000000	 bl          WRITE_PORT_UCHAR

; 228  :     }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M32301|

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

	EXPORT	|?WriteLowCount@CDisk@@QAAXE@Z|		; CDisk::WriteLowCount

  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
|$T32312| DCD	|$L32311|
	DCD	0x40000701
; Function compile flags: /Ogsy

  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		 |$L32311|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32309|

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

  00004	e5902030	 ldr         r2, [r0, #0x30]
  00008	e5903018	 ldr         r3, [r0, #0x18]
  0000c	e0820003	 add         r0, r2, r3
  00010	eb000000	 bl          WRITE_PORT_UCHAR

; 235  :     }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M32310|

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

	EXPORT	|?WriteHighCount@CDisk@@QAAXE@Z|	; CDisk::WriteHighCount

  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
|$T32321| DCD	|$L32320|
	DCD	0x40000701
; Function compile flags: /Ogsy

  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		 |$L32320|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32318|

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

  00004	e5902030	 ldr         r2, [r0, #0x30]

⌨️ 快捷键说明

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