📄 diskmain.cod
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4091
TTL D:\WINCE500\PLATFORM\smdk2440\DRIVERS\atapi\.\diskmain.cpp
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:coredll.lib "
DCB "-defaultlib:corelibc.lib "
00000 AREA |.bss|, NOINIT
|g_hTestUnitReadyThread| % 0x4
EXPORT |?ReadByte@CDisk@@QAAGXZ| ; CDisk::ReadByte
IMPORT |READ_PORT_UCHAR|
; File d:\wince500\platform\smdk2440\drivers\atapi\diskmain.h
00000 AREA |.text| { |?ReadByte@CDisk@@QAAGXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?ReadByte@CDisk@@QAAGXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?ReadByte@CDisk@@QAAGXZ| } ; comdat associative
|$T32926| DCD |$L32925|
DCD 0x40000701
; Function compile flags: /Ogsy
00000 AREA |.text| { |?ReadByte@CDisk@@QAAGXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?ReadByte@CDisk@@QAAGXZ| PROC ; CDisk::ReadByte
; 187 : inline WORD ReadByte() {
00000 |$L32925|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32923|
; 188 : return ATA_READ_BYTE(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_UCHAR
; 189 : }
00014 e49de004 ldr lr, [sp], #4
00018 e12fff1e bx lr
0001c |$M32924|
ENDP ; |?ReadByte@CDisk@@QAAGXZ|, CDisk::ReadByte
EXPORT |?ReadWord@CDisk@@QAAGXZ| ; CDisk::ReadWord
IMPORT |READ_PORT_USHORT|
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
|$T32936| DCD |$L32935|
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 |$L32935|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32933|
; 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 |$M32934|
ENDP ; |?ReadWord@CDisk@@QAAGXZ|, CDisk::ReadWord
EXPORT |?ReadByteBuffer@CDisk@@QAAXPAEK@Z| ; CDisk::ReadByteBuffer
IMPORT |READ_PORT_BUFFER_UCHAR|
00000 AREA |.text| { |?ReadByteBuffer@CDisk@@QAAXPAEK@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?ReadByteBuffer@CDisk@@QAAXPAEK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?ReadByteBuffer@CDisk@@QAAXPAEK@Z| } ; comdat associative
|$T32946| DCD |$L32945|
DCD 0x40000701
; Function compile flags: /Ogsy
00000 AREA |.text| { |?ReadByteBuffer@CDisk@@QAAXPAEK@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?ReadByteBuffer@CDisk@@QAAXPAEK@Z| PROC ; CDisk::ReadByteBuffer
; 193 : inline void ReadByteBuffer(PBYTE pBuffer, DWORD dwCount) {
00000 |$L32945|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32943|
; 194 : READ_PORT_BUFFER_UCHAR(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_UCHAR
; 195 : }
00014 e49de004 ldr lr, [sp], #4
00018 e12fff1e bx lr
0001c |$M32944|
ENDP ; |?ReadByteBuffer@CDisk@@QAAXPAEK@Z|, CDisk::ReadByteBuffer
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
|$T32956| DCD |$L32955|
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 |$L32955|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32953|
; 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 |$M32954|
ENDP ; |?ReadWordBuffer@CDisk@@QAAXPAGK@Z|, CDisk::ReadWordBuffer
EXPORT |?WriteByte@CDisk@@QAAXE@Z| ; CDisk::WriteByte
IMPORT |WRITE_PORT_UCHAR|
00000 AREA |.text| { |?WriteByte@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?WriteByte@CDisk@@QAAXE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?WriteByte@CDisk@@QAAXE@Z| } ; comdat associative
|$T32965| DCD |$L32964|
DCD 0x40000701
; Function compile flags: /Ogsy
00000 AREA |.text| { |?WriteByte@CDisk@@QAAXE@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?WriteByte@CDisk@@QAAXE@Z| PROC ; CDisk::WriteByte
; 199 : inline void WriteByte(BYTE bData) {
00000 |$L32964|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32962|
; 200 : ATA_WRITE_BYTE(m_pATAReg + m_dwDataDrvCtrlOffset, bData);
00004 e5902030 ldr r2, [r0, #0x30]
00008 e5903008 ldr r3, [r0, #8]
0000c e0820003 add r0, r2, r3
00010 eb000000 bl WRITE_PORT_UCHAR
; 201 : }
00014 e49de004 ldr lr, [sp], #4
00018 e12fff1e bx lr
0001c |$M32963|
ENDP ; |?WriteByte@CDisk@@QAAXE@Z|, CDisk::WriteByte
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
|$T32974| DCD |$L32973|
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 |$L32973|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32971|
; 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 |$M32972|
ENDP ; |?WriteWord@CDisk@@QAAXG@Z|, CDisk::WriteWord
EXPORT |?GetError@CDisk@@QAAEXZ| ; CDisk::GetError
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
|$T32984| DCD |$L32983|
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 |$L32983|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32981|
; 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 |$M32982|
ENDP ; |?GetError@CDisk@@QAAEXZ|, CDisk::GetError
EXPORT |?WriteFeature@CDisk@@QAAXE@Z| ; CDisk::WriteFeature
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
|$T32993| DCD |$L32992|
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 |$L32992|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32990|
; 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 |$M32991|
ENDP ; |?WriteFeature@CDisk@@QAAXE@Z|, CDisk::WriteFeature
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
|$T33002| DCD |$L33001|
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 |$L33001|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32999|
; 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 |$M33000|
ENDP ; |?WriteSectorCount@CDisk@@QAAXE@Z|, CDisk::WriteSectorCount
EXPORT |?SelectDevice@CDisk@@QAAXXZ| ; CDisk::SelectDevice
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
|$T33012| DCD |$L33011|
DCD 0x40000c01
; Function compile flags: /Ogsy
00000 AREA |.text| { |?SelectDevice@CDisk@@QAAXXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?SelectDevice@CDisk@@QAAXXZ| PROC ; CDisk::SelectDevice
; 246 : inline void SelectDevice() {
00000 |$L33011|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M33009|
; 247 : ATA_WRITE_BYTE(m_pATAReg + m_dwDrvHeadOffset, (m_dwDevice == 0 ) ? ATA_HEAD_DRIVE_1 : ATA_HEAD_DRIVE_2);
00004 e5903484 ldr r3, [r0, #0x484]
00008 e5902030 ldr r2, [r0, #0x30]
0000c e3530000 cmp r3, #0
00010 e5903020 ldr r3, [r0, #0x20]
00014 03a010a0 moveq r1, #0xA0
00018 13a010b0 movne r1, #0xB0
0001c e20110ff and r1, r1, #0xFF
00020 e0820003 add r0, r2, r3
00024 eb000000 bl WRITE_PORT_UCHAR
; 248 : }
00028 e49de004 ldr lr, [sp], #4
0002c e12fff1e bx lr
00030 |$M33010|
ENDP ; |?SelectDevice@CDisk@@QAAXXZ|, CDisk::SelectDevice
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -