📄 ide.cod
字号:
0000c e5933000 ldr r3, [r3]
00010 e3530c01 cmp r3, #1, 24
00014 1a000003 bne |$L38781|
; 173 : return *(volatile UCHAR *)(PCMCIACARD_IO + IDE_STAT_REG);
00018 e3a0311d mov r3, #0x1D, 2
0001c e5d33000 ldrb r3, [r3]
00020 e5cd3000 strb r3, [sp]
00024 ea000006 b |$L38780|
00028 |$L38781|
; 174 : else
; 175 : #endif
; 176 : return (BYTE) (ATAReadRegister(CSDA_STAT_REG) & 0xFF);
00028 e3a0001e mov r0, #0x1E
0002c eb000000 bl ATAReadRegister
00030 e58d0004 str r0, [sp, #4]
00034 e59d3004 ldr r3, [sp, #4]
00038 e20330ff and r3, r3, #0xFF
0003c e20330ff and r3, r3, #0xFF
00040 e5cd3000 strb r3, [sp]
00044 |$L38780|
; 173 : return *(volatile UCHAR *)(PCMCIACARD_IO + IDE_STAT_REG);
00044 e5dd0000 ldrb r0, [sp]
; 177 : }
00048 e28dd008 add sp, sp, #8
0004c e49de004 ldr lr, [sp], #4
00050 e12fff1e bx lr
00054 |$L39321|
00054 00000000 DCD |m_BootDeviceType|
00058 |$M39317|
ENDP ; |GetBaseStatus|
EXPORT |GetAltStatus|
00000 AREA |.text| { |GetAltStatus| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$GetAltStatus|, PDATA, SELECTION=5, ASSOC=|.text| { |GetAltStatus| } ; comdat associative
|$T39328| DCD |$L39327|
DCD 0x40001602
; Function compile flags: /Ods
00000 AREA |.text| { |GetAltStatus| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |GetAltStatus| PROC
; 179 : {
00000 |$L39327|
00000 e52de004 str lr, [sp, #-4]!
00004 e24dd008 sub sp, sp, #8
00008 |$M39325|
; 180 : #ifdef EDB9307_12_15
; 181 : if(m_BootDeviceType == BOOT_FROM_PCMCIA)
00008 e59f3044 ldr r3, [pc, #0x44]
0000c e5933000 ldr r3, [r3]
00010 e3530c01 cmp r3, #1, 24
00014 1a000003 bne |$L38787|
; 182 : return *(volatile UCHAR *)(PCMCIACARD_IO + IDE_ALT_CTRL_REG);
00018 e3a03139 mov r3, #0x39, 2
0001c e5d33000 ldrb r3, [r3]
00020 e5cd3000 strb r3, [sp]
00024 ea000006 b |$L38786|
00028 |$L38787|
; 183 : else
; 184 : #endif
; 185 : return (BYTE) (ATAReadRegister(CSDA_ALT_STAT_REG) & 0xFF);
00028 e3a00019 mov r0, #0x19
0002c eb000000 bl ATAReadRegister
00030 e58d0004 str r0, [sp, #4]
00034 e59d3004 ldr r3, [sp, #4]
00038 e20330ff and r3, r3, #0xFF
0003c e20330ff and r3, r3, #0xFF
00040 e5cd3000 strb r3, [sp]
00044 |$L38786|
; 182 : return *(volatile UCHAR *)(PCMCIACARD_IO + IDE_ALT_CTRL_REG);
00044 e5dd0000 ldrb r0, [sp]
; 186 : }
00048 e28dd008 add sp, sp, #8
0004c e49de004 ldr lr, [sp], #4
00050 e12fff1e bx lr
00054 |$L39330|
00054 00000000 DCD |m_BootDeviceType|
00058 |$M39326|
ENDP ; |GetAltStatus|
EXPORT |WriteAltDriveController|
00000 AREA |.text| { |WriteAltDriveController| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$WriteAltDriveController|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteAltDriveController| } ; comdat associative
|$T39336| DCD |$L39335|
DCD 0x40001103
; Function compile flags: /Ods
00000 AREA |.text| { |WriteAltDriveController| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |WriteAltDriveController| PROC
; 188 : {
00000 |$L39335|
00000 e1a0c00d mov r12, sp
00004 e92d0001 stmdb sp!, {r0}
00008 e92d5000 stmdb sp!, {r12, lr}
0000c |$M39333|
; 189 : #ifdef EDB9307_12_15
; 190 : if(m_BootDeviceType == BOOT_FROM_PCMCIA)
0000c e59f302c ldr r3, [pc, #0x2C]
00010 e5933000 ldr r3, [r3]
00014 e3530c01 cmp r3, #1, 24
00018 1a000003 bne |$L38795|
; 191 : *(volatile UCHAR *)(PCMCIACARD_IO + IDE_ALT_CTRL_REG) = (BYTE)bData;
0001c e3a02139 mov r2, #0x39, 2
00020 e5dd3008 ldrb r3, [sp, #8]
00024 e5c23000 strb r3, [r2]
; 192 : else
00028 ea000002 b |$L38798|
0002c |$L38795|
; 193 : #endif
; 194 : ATAWriteRegister(CSDA_ALT_CTRL_REG, (ULONG) bData);
0002c e5dd1008 ldrb r1, [sp, #8]
00030 e3a00019 mov r0, #0x19
00034 eb000000 bl ATAWriteRegister
00038 |$L38798|
; 195 : }
00038 e89d6000 ldmia sp, {sp, lr}
0003c e12fff1e bx lr
00040 |$L39338|
00040 00000000 DCD |m_BootDeviceType|
00044 |$M39334|
ENDP ; |WriteAltDriveController|
EXPORT |SetDriveHead|
00000 AREA |.text| { |SetDriveHead| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$SetDriveHead|, PDATA, SELECTION=5, ASSOC=|.text| { |SetDriveHead| } ; comdat associative
|$T39344| DCD |$L39343|
DCD 0x40000803
; Function compile flags: /Ods
00000 AREA |.text| { |SetDriveHead| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |SetDriveHead| PROC
; 197 : {
00000 |$L39343|
00000 e1a0c00d mov r12, sp
00004 e92d0001 stmdb sp!, {r0}
00008 e92d5000 stmdb sp!, {r12, lr}
0000c |$M39341|
; 198 : ATAWriteRegister(CSDA_DRVHD_REG, (ULONG) bDriveHead);
0000c e5dd1008 ldrb r1, [sp, #8]
00010 e3a0001a mov r0, #0x1A
00014 eb000000 bl ATAWriteRegister
; 199 : }
00018 e89d6000 ldmia sp, {sp, lr}
0001c e12fff1e bx lr
00020 |$M39342|
ENDP ; |SetDriveHead|
EXPORT |GetReason|
00000 AREA |.text| { |GetReason| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$GetReason|, PDATA, SELECTION=5, ASSOC=|.text| { |GetReason| } ; comdat associative
|$T39352| DCD |$L39351|
DCD 0x40000d02
; Function compile flags: /Ods
00000 AREA |.text| { |GetReason| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |GetReason| PROC
; 201 : {
00000 |$L39351|
00000 e52de004 str lr, [sp, #-4]!
00004 e24dd008 sub sp, sp, #8
00008 |$M39349|
; 202 : return (BYTE) (ATAReadRegister(CSDA_REASON_REG) & 0xFF);
00008 e3a0000a mov r0, #0xA
0000c eb000000 bl ATAReadRegister
00010 e58d0004 str r0, [sp, #4]
00014 e59d3004 ldr r3, [sp, #4]
00018 e20330ff and r3, r3, #0xFF
0001c e20330ff and r3, r3, #0xFF
00020 e5cd3000 strb r3, [sp]
00024 e5dd0000 ldrb r0, [sp]
; 203 : }
00028 e28dd008 add sp, sp, #8
0002c e49de004 ldr lr, [sp], #4
00030 e12fff1e bx lr
00034 |$M39350|
ENDP ; |GetReason|
EXPORT |GetError|
00000 AREA |.text| { |GetError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$GetError|, PDATA, SELECTION=5, ASSOC=|.text| { |GetError| } ; comdat associative
|$T39360| DCD |$L39359|
DCD 0x40000d02
; Function compile flags: /Ods
00000 AREA |.text| { |GetError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |GetError| PROC
; 205 : {
00000 |$L39359|
00000 e52de004 str lr, [sp, #-4]!
00004 e24dd008 sub sp, sp, #8
00008 |$M39357|
; 206 : return (BYTE) (ATAReadRegister(CSDA_ERROR_REG) & 0xFF);
00008 e3a00006 mov r0, #6
0000c eb000000 bl ATAReadRegister
00010 e58d0004 str r0, [sp, #4]
00014 e59d3004 ldr r3, [sp, #4]
00018 e20330ff and r3, r3, #0xFF
0001c e20330ff and r3, r3, #0xFF
00020 e5cd3000 strb r3, [sp]
00024 e5dd0000 ldrb r0, [sp]
; 207 : }
00028 e28dd008 add sp, sp, #8
0002c e49de004 ldr lr, [sp], #4
00030 e12fff1e bx lr
00034 |$M39358|
ENDP ; |GetError|
EXPORT |SelectDevice|
00000 AREA |.text| { |SelectDevice| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$SelectDevice|, PDATA, SELECTION=5, ASSOC=|.text| { |SelectDevice| } ; comdat associative
|$T39369| DCD |$L39368|
DCD 0x40001202
; Function compile flags: /Ods
00000 AREA |.text| { |SelectDevice| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |SelectDevice| PROC
; 209 : {
00000 |$L39368|
00000 e52de004 str lr, [sp, #-4]!
00004 e24dd004 sub sp, sp, #4
00008 |$M39366|
; 210 : ATAWriteRegister(CSDA_DRVHD_REG, (m_dwDevice == 0 ) ? ATA_HEAD_DRIVE_1 : ATA_HEAD_DRIVE_2);
00008 e59f3034 ldr r3, [pc, #0x34]
0000c e5933000 ldr r3, [r3]
00010 e3530000 cmp r3, #0
00014 1a000002 bne |$L39364|
00018 e3a030a0 mov r3, #0xA0
0001c e58d3000 str r3, [sp]
00020 ea000001 b |$L39365|
00024 |$L39364|
00024 e3a030b0 mov r3, #0xB0
00028 e58d3000 str r3, [sp]
0002c |$L39365|
0002c e59d1000 ldr r1, [sp]
00030 e3a0001a mov r0, #0x1A
00034 eb000000 bl ATAWriteRegister
; 211 : }
00038 e28dd004 add sp, sp, #4
0003c e49de004 ldr lr, [sp], #4
00040 e12fff1e bx lr
00044 |$L39371|
00044 00000000 DCD |m_dwDevice|
00048 |$M39367|
ENDP ; |SelectDevice|
EXPORT |WriteCommand|
00000 AREA |.text| { |WriteCommand| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$WriteCommand|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteCommand| } ; comdat associative
|$T39377| DCD |$L39376|
DCD 0x40000803
; Function compile flags: /Ods
00000 AREA |.text| { |WriteCommand| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |WriteCommand| PROC
; 213 : {
00000 |$L39376|
00000 e1a0c00d mov r12, sp
00004 e92d0001 stmdb sp!, {r0}
00008 e92d5000 stmdb sp!, {r12, lr}
0000c |$M39374|
; 214 : ATAWriteRegister(CSDA_CMD_REG, (ULONG) bCommand);
0000c e5dd1008 ldrb r1, [sp, #8]
00010 e3a0001e mov r0, #0x1E
00014 eb000000 bl ATAWriteRegister
; 215 : }
00018 e89d6000 ldmia sp, {sp, lr}
0001c e12fff1e bx lr
00020 |$M39375|
ENDP ; |WriteCommand|
EXPORT |WriteFeature|
00000 AREA |.text| { |WriteFeature| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$WriteFeature|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteFeature| } ; comdat associative
|$T39384| DCD |$L39383|
DCD 0x40000803
; Function compile flags: /Ods
00000 AREA |.text| { |WriteFeature| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |WriteFeature| PROC
; 217 : {
00000 |$L39383|
00000 e1a0c00d mov r12, sp
00004 e92d0001 stmdb sp!, {r0}
00008 e92d5000 stmdb sp!, {r12, lr}
0000c |$M39381|
; 218 : ATAWriteRegister(CSDA_FEATURE_REG, (ULONG) bFeature);
0000c e5dd1008 ldrb r1, [sp, #8]
00010 e3a00006 mov r0, #6
00014 eb000000 bl ATAWriteRegister
; 219 : }
00018 e89d6000 ldmia sp, {sp, lr}
0001c e12fff1e bx lr
00020 |$M39382|
ENDP ; |WriteFeature|
EXPORT |WriteSectorCount|
00000 AREA |.text| { |WriteSectorCount| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$WriteSectorCount|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteSectorCount| } ; comdat associative
|$T39391| DCD |$L39390|
DCD 0x40000803
; Function compile flags: /Ods
00000 AREA |.text| { |WriteSectorCount| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |WriteSectorCount| PROC
; 221 : {
00000 |$L39390|
00000 e1a0c00d mov r12, sp
00004 e92d0001 stmdb sp!, {r0}
00008 e92d5000 stmdb sp!, {r12, lr}
0000c |$M39388|
; 222 : ATAWriteRegister(CSDA_SECTCNT_REG, (ULONG) bValue);
0000c e5dd1008 ldrb r1, [sp, #8]
00010 e3a0000a mov r0, #0xA
00014 eb000000 bl ATAWriteRegister
; 223 : }
00018 e89d6000 ldmia sp, {sp, lr}
0001c e12fff1e bx lr
00020 |$M39389|
ENDP ; |WriteSectorCount|
EXPORT |WriteDriveHeadReg|
00000 AREA |.text| { |WriteDriveHeadReg| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$WriteDriveHeadReg|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteDriveHeadReg| } ; comdat associative
|$T39398| DCD |$L39397|
DCD 0x40000803
; Function compile flags: /Ods
00000 AREA |.text| { |WriteDriveHeadReg| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |WriteDriveHeadReg| PROC
; 225 : {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -