📄 cdio.cod
字号:
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 + -