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

📄 cdio.cod

📁 PXA270的BSP
💻 COD
📖 第 1 页 / 共 5 页
字号:

			 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
|$T33489| DCD	|$L33488|
	DCD	0x40000601
; 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

; 486  :     inline void WriteLowCount(BYTE bValue) {

  00000		 |$L33488|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M33486|

; 487  :         ATA_WRITE_BYTE( (volatile PBYTE) m_pATAReg + m_dwByteCountLowOffset, bValue);

  00004	e59f0008	 ldr         r0, [pc, #8]
  00008	eb000000	 bl          WRITE_PORT_UCHAR

; 488  :     }

  0000c	e49de004	 ldr         lr, [sp], #4
  00010	e12fff1e	 bx          lr
  00014		 |$L33491|
  00014	b6a00080	 DCD         0xb6a00080
  00018		 |$M33487|

			 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
|$T33498| DCD	|$L33497|
	DCD	0x40000601
; 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

; 490  :      inline void WriteHighCount(BYTE bValue) {

  00000		 |$L33497|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M33495|

; 491  :         ATA_WRITE_BYTE( (volatile PBYTE) m_pATAReg + m_dwByteCountHighOffset, bValue);

  00004	e59f0008	 ldr         r0, [pc, #8]
  00008	eb000000	 bl          WRITE_PORT_UCHAR

; 492  :     }

  0000c	e49de004	 ldr         lr, [sp], #4
  00010	e12fff1e	 bx          lr
  00014		 |$L33500|
  00014	b6a000a0	 DCD         0xb6a000a0
  00018		 |$M33496|

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

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

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

  00000			 AREA	 |.pdata$$?GetLowCount@CDisk@@QAAEXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetLowCount@CDisk@@QAAEXZ| } ; comdat associative
|$T33508| DCD	|$L33507|
	DCD	0x40000601
; Function compile flags: /Ogsy

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

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

; 495  : 	  inline BYTE GetLowCount() {

  00000		 |$L33507|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M33505|

; 496  :         return ATA_READ_BYTE( (volatile PBYTE) m_pATAReg+ m_dwByteCountLowOffset);

  00004	e59f0008	 ldr         r0, [pc, #8]
  00008	eb000000	 bl          READ_PORT_UCHAR

; 497  :     }

  0000c	e49de004	 ldr         lr, [sp], #4
  00010	e12fff1e	 bx          lr
  00014		 |$L33510|
  00014	b6a00080	 DCD         0xb6a00080
  00018		 |$M33506|

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

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

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

  00000			 AREA	 |.pdata$$?GetHighCount@CDisk@@QAAEXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetHighCount@CDisk@@QAAEXZ| } ; comdat associative
|$T33518| DCD	|$L33517|
	DCD	0x40000601
; Function compile flags: /Ogsy

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

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

; 501  : 	  inline BYTE GetHighCount() {

  00000		 |$L33517|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M33515|

; 502  :         return ATA_READ_BYTE( (volatile PBYTE) m_pATAReg+ m_dwByteCountHighOffset);

  00004	e59f0008	 ldr         r0, [pc, #8]
  00008	eb000000	 bl          READ_PORT_UCHAR

; 503  :     }

  0000c	e49de004	 ldr         lr, [sp], #4
  00010	e12fff1e	 bx          lr
  00014		 |$L33520|
  00014	b6a000a0	 DCD         0xb6a000a0
  00018		 |$M33516|

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

	EXPORT	|?GetCount@CDisk@@QAAGXZ|		; CDisk::GetCount

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

  00000			 AREA	 |.pdata$$?GetCount@CDisk@@QAAGXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetCount@CDisk@@QAAGXZ| } ; comdat associative
|$T33534| DCD	|$L33533|
	DCD	0x40000d01
; Function compile flags: /Ogsy

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

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

; 519  :     {

  00000		 |$L33533|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M33531|

; 520  :         return GetLowCount() + ((WORD)GetHighCount() <<8);

  00004	e59f0024	 ldr         r0, [pc, #0x24]
  00008	eb000000	 bl          READ_PORT_UCHAR
  0000c	e1a04000	 mov         r4, r0
  00010	e59f0014	 ldr         r0, [pc, #0x14]
  00014	eb000000	 bl          READ_PORT_UCHAR
  00018	e0843400	 add         r3, r4, r0, lsl #8
  0001c	e1a00803	 mov         r0, r3, lsl #16
  00020	e1a00820	 mov         r0, r0, lsr #16

; 521  :     }    

  00024	e8bd4010	 ldmia       sp!, {r4, lr}
  00028	e12fff1e	 bx          lr
  0002c		 |$L33536|
  0002c	b6a000a0	 DCD         0xb6a000a0
  00030	b6a00080	 DCD         0xb6a00080
  00034		 |$M33532|

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

	EXPORT	|?IsRemoveableDevice@CDisk@@QAAHXZ|	; CDisk::IsRemoveableDevice

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

  00000			 AREA	 |.pdata$$?IsRemoveableDevice@CDisk@@QAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?IsRemoveableDevice@CDisk@@QAAHXZ| } ; comdat associative
|$T33545| DCD	|$L33544|
	DCD	0x40000500
; Function compile flags: /Ogsy

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

  00000		 |?IsRemoveableDevice@CDisk@@QAAHXZ| PROC ; CDisk::IsRemoveableDevice

; 553  :     {

  00000		 |$L33544|
  00000		 |$M33542|

; 554  :         return (m_Id.GeneralConfiguration & IDE_IDDATA_REMOVABLE);

  00000	e5d02444	 ldrb        r2, [r0, #0x444]
  00004	e5d03445	 ldrb        r3, [r0, #0x445]
  00008	e1823403	 orr         r3, r2, r3, lsl #8
  0000c	e2030080	 and         r0, r3, #0x80

; 555  :     }    

  00010	e12fff1e	 bx          lr
  00014		 |$M33543|

			 ENDP  ; |?IsRemoveableDevice@CDisk@@QAAHXZ|, CDisk::IsRemoveableDevice

	EXPORT	|?IsDMASupported@CDisk@@QAAHXZ|		; CDisk::IsDMASupported

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

  00000			 AREA	 |.pdata$$?IsDMASupported@CDisk@@QAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?IsDMASupported@CDisk@@QAAHXZ| } ; comdat associative
|$T33560| DCD	|$L33559|
	DCD	0x40001800
; Function compile flags: /Ogsy

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

  00000		 |?IsDMASupported@CDisk@@QAAHXZ| PROC	; CDisk::IsDMASupported

; 566  :     {

  00000		 |$L33559|
  00000		 |$M33557|

; 567  :         return ((m_Id.Capabilities & IDENTIFY_CAPABILITIES_DMA_SUPPORTED) && m_fDMAActive &&
; 568  :                 (((int)m_dwBestUDmaMode!=-1 && m_fUDMAActive) || ((int)m_dwBestMwDmaMode!=-1 && !m_fUDMAActive )));

  00000	e5d024a6	 ldrb        r2, [r0, #0x4A6]
  00004	e5d034a7	 ldrb        r3, [r0, #0x4A7]
  00008	e1823403	 orr         r3, r2, r3, lsl #8
  0000c	e3130c01	 tst         r3, #1, 24
  00010	0a000010	 beq         |$L33549|
  00014	e5903648	 ldr         r3, [r0, #0x648]
  00018	e3530000	 cmp         r3, #0
  0001c	0a00000d	 beq         |$L33549|
  00020	e59036b0	 ldr         r3, [r0, #0x6B0]
  00024	e3730001	 cmn         r3, #1
  00028	0a000002	 beq         |$L33550|
  0002c	e59036b8	 ldr         r3, [r0, #0x6B8]
  00030	e3530000	 cmp         r3, #0
  00034	1a000005	 bne         |$L33552|
  00038		 |$L33550|
  00038	e59036ac	 ldr         r3, [r0, #0x6AC]
  0003c	e3730001	 cmn         r3, #1
  00040	0a000004	 beq         |$L33549|
  00044	e59036b8	 ldr         r3, [r0, #0x6B8]
  00048	e3530000	 cmp         r3, #0
  0004c	1a000001	 bne         |$L33549|
  00050		 |$L33552|
  00050	e3a00001	 mov         r0, #1

; 569  :     }    

  00054	e12fff1e	 bx          lr
  00058		 |$L33549|

; 567  :         return ((m_Id.Capabilities & IDENTIFY_CAPABILITIES_DMA_SUPPORTED) && m_fDMAActive &&
; 568  :                 (((int)m_dwBestUDmaMode!=-1 && m_fUDMAActive) || ((int)m_dwBestMwDmaMode!=-1 && !m_fUDMAActive )));

  00058	e3a00000	 mov         r0, #0

; 569  :     }    

  0005c	e12fff1e	 bx          lr
  00060		 |$M33558|

			 ENDP  ; |?IsDMASupported@CDisk@@QAAHXZ|, CDisk::IsDMASupported

	EXPORT	|?IsDRQTypeIRQ@CDisk@@QAAHXZ|		; CDisk::IsDRQTypeIRQ

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

  00000			 AREA	 |.pdata$$?IsDRQTypeIRQ@CDisk@@QAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?IsDRQTypeIRQ@CDisk@@QAAHXZ| } ; comdat associative
|$T33572| DCD	|$L33571|
	DCD	0x40000800
; Function compile flags: /Ogsy

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

  00000		 |?IsDRQTypeIRQ@CDisk@@QAAHXZ| PROC	; CDisk::IsDRQTypeIRQ

; 572  :     {

  00000		 |$L33571|
  00000		 |$M33569|

; 573  :         return ((m_Id.GeneralConfiguration >> 5) & 0x0003) == ATA_DRQTYPE_INTRQ;

  00000	e5d02444	 ldrb        r2, [r0, #0x444]
  00004	e5d03445	 ldrb        r3, [r0, #0x445]
  00008	e1823403	 orr         r3, r2, r3, lsl #8
  0000c	e2033060	 and         r3, r3, #0x60
  00010	e3530020	 cmp         r3, #0x20
  00014	03a00001	 moveq       r0, #1
  00018	13a00000	 movne       r0, #0

; 574  :     }    

  0001c	e12fff1e	 bx          lr
  00020		 |$M33570|

			 ENDP  ; |?IsDRQTypeIRQ@CDisk@@QAAHXZ|, CDisk::IsDRQTypeIRQ

	EXPORT	|?GetPacketSize@CDisk@@QAAGXZ|		; CDisk::GetPacketSize

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

  00000			 AREA	 |.pdata$$?GetPacketSize@CDisk@@QAAGXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetPacketSize@CDisk@@QAAGXZ| } ; comdat associative
|$T33584| DCD	|$L33583|
	DCD	0x40000900
; Function compile flags: /Ogsy

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

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

; 576  :     {

  00000		 |$L33583|
  00000		 |$M33581|

; 577  :         return m_Id.GeneralConfiguration & 0x0003 ? 16 : 12;

  00000	e5d02444	 ldrb        r2, [r0, #0x444]
  00004	e5d03445	 ldrb        r3, [r0, #0x445]
  00008	e1823403	 orr         r3, r2, r3, lsl #8
  0000c	e3130003	 tst         r3, #3
  00010	13a03010	 movne       r3, #0x10
  00014	03a0300c	 moveq       r3, #0xC
  00018	e1a00803	 mov         r0, r3, lsl #16
  0001c	e1a00820	 mov         r0, r0, lsr #16

; 578  :     }

  00020	e12fff1e	 bx          lr
  00024		 |$M33582|

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

	EXPORT	|?SetupCdRomRead@CDisk@@QAAKHKKPAU_ATAPI_COMMAND_PACKET@@@Z| ; CDisk::SetupCdRomRead
	IMPORT	|memset|
; File d:\wince500\platform\bvdmain\drivers\atapi\cdio.cpp

  00000			 AREA	 |.text| { |?SetupCdRomRead@CDisk@@QAAKHKKPAU_ATAPI_COMMAND_PACKET@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?SetupCdRomRead@CDisk@@QAAKHKKPAU_ATAPI_COMMAND_PACKET@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?SetupCdRomRead@CDisk@@QAAKHKKPAU_ATAPI_COMMAND_PACKET@@@Z| } ; comdat associative
|$T33602| DCD	|$L33601|
	DCD	0x40003303
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?SetupCdRomRead@CDisk@@QAAKHKKPAU_ATAPI_COMMAND_PACKET@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?SetupCdRomRead@CDisk@@QAAKHKKPAU_ATAPI_COMMAND_PACKET@@@Z| PROC ; CDisk::SetupCdRomRead

; 168  : {

  00000		 |$L33601|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0004	 stmdb       sp!, {r2}
  00008	e92d53f0	 stmdb       sp!, {r4 - r9, r12, lr}
  0000c		 |$M33599|
  0000c	e1a07003	 mov         r7, r3
  00010	e1a08001	 mov         r8, r1

; 169  :     BOOL fIsDVD = (m_dwDeviceFlags & DFLAGS_DEVICE_ISDVD);	
; 170  : 
; 171  :     memset( pCmdPkt, 0, sizeof(ATAPI_COMMAND_PACKET));

  00014	e59d6024	 ldr         r6, [sp, #0x24]
  00018	e5905004	 ldr         r5, [r0, #4]
  0001c	e3a02014	 mov         r2, #0x14
  00020	e1a00006	 mov         r0, r6
  00024	e3a01000	 mov         r1, #0
  00028	eb000000	 bl          memset

; 172  : 
; 173  : 
; 174  :     /**** Atapi Packet *****
; 175  :     Byte 0 - Cmd/OpCode

⌨️ 快捷键说明

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