📄 cs8950.cod
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4237
TTL C:\WINCE500\PLATFORM\Ep93xx\Src\Drivers\Ethdbg\Cs8950\.\cs8950.c
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:coredll.lib "
DCB "-defaultlib:corelibc.lib "
EXPORT |pCS8950Buffer| [ DATA ]
EXPORT |ulPhysicalOffset| [ DATA ]
EXPORT |bStop| [ DATA ]
00000 AREA |.data|, DATA
COMMON |pChip|, 0x4
00000 AREA |.bss|, NOINIT
|Global_TxTotal| % 0x4
|Global_TxOkCnt| % 0x4
|Global_TxNotOkCnt| % 0x4
|Global_RxTotalCnt| % 0x4
|Global_RxNotOkCnt| % 0x4
|Global_TxInProcess| % 0x4
|gdwEthernetBase| % 0x4
|gusMacAddr| % 0x6
|pCS8950Buffer| % 0x4
|ulPhysicalOffset| % 0x4
00000 AREA |.data|, DATA
COMMON |Chip|, 0x18
|bStop| DCD 0x1
00000 AREA |.rdata|, DATA, READONLY
|EdbgVendorIds| DCW 0x0
DCW 0x0
DCD 0x4033
DCB 0x1
DCB 0x0
DCB "AD", 0x0
% 3
DCW 0x1050
DCW 0x940
DCD 0x4005
DCB 0x1
DCB 0x0
DCB "LS", 0x0
% 3
DCW 0x1050
DCW 0x940
DCD 0x2078
DCB 0x1
DCB 0x0
DCB "LS", 0x0
% 3
DCW 0x10ec
DCW 0x8029
DCD 0xc0f0
DCB 0x1
DCB 0x0
DCB "KS", 0x0
% 3
DCW 0x10ec
DCW 0x8129
DCD 0x0
DCB 0x4
DCB 0x0
DCB "RT", 0x0
% 3
DCW 0x10ec
DCW 0x8139
DCD 0x900b
DCB 0x4
DCB 0x0
DCB "RT", 0x0
% 3
DCW 0x10ec
DCW 0x8139
DCD 0xd0c9
DCB 0x4
DCB 0x0
DCB "RT", 0x0
% 3
DCW 0x10ec
DCW 0x8139
DCD 0xe04c
DCB 0x4
DCB 0x0
DCB "RT", 0x0
% 3
DCW 0x1186
DCW 0x1300
DCD 0x50ba
DCB 0x4
DCB 0x0
DCB "DL", 0x0
% 3
DCW 0x100b
DCW 0x20
DCD 0xa0cc
DCB 0x5
DCB 0x0
DCB "NG", 0x0
% 3
DCW 0x10b7
DCW 0x9050
DCD 0x6008
DCB 0x6
DCB 0x0
DCB "3C", 0x0
% 3
DCW 0x10b7
DCW 0x9200
DCD 0x476
DCB 0x6
DCB 0x0
DCB "3C", 0x0
% 3
DCW 0x8086
DCW 0x1039
DCD 0x4033
DCB 0x7
DCB 0x1
DCB "IN", 0x0
% 3
DCW 0x8086
DCW 0x103a
DCD 0x4033
DCB 0x7
DCB 0x1
DCB "IN", 0x0
% 3
DCW 0x8086
DCW 0x1051
DCD 0x4033
DCB 0x7
DCB 0x1
DCB "IN", 0x0
% 3
DCW 0x8086
DCW 0x1229
DCD 0x4033
DCB 0x7
DCB 0x1
DCB "IN", 0x0
% 3
DCW 0x8086
DCW 0x2449
DCD 0x4033
DCB 0x7
DCB 0x1
DCB "IN", 0x0
% 3
EXPORT |CS8950Disable|
; File c:\wince500\platform\ep93xx\src\drivers\ethdbg\cs8950\cs8950.c
00000 AREA |.text| { |CS8950Disable| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$CS8950Disable|, PDATA, SELECTION=5, ASSOC=|.text| { |CS8950Disable| } ; comdat associative
|$T16187| DCD |$L16186|
DCD 0x40000800
; Function compile flags: /Ods
00000 AREA |.text| { |CS8950Disable| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |CS8950Disable| PROC
; 110 : {
00000 |$L16186|
00000 |$M16184|
; 111 : WriteDWord(OpReg_BMCTL, BMCTL_TxDis | BMCTL_RxDis);
00000 e59f3014 ldr r3, [pc, #0x14]
00004 e5933000 ldr r3, [r3]
00008 e2832080 add r2, r3, #0x80
0000c e3a03c02 mov r3, #2, 24
00010 e3833002 orr r3, r3, #2
00014 e5823000 str r3, [r2]
; 112 : }
00018 e12fff1e bx lr
0001c |$L16189|
0001c 00000000 DCD |gdwEthernetBase|
00020 |$M16185|
ENDP ; |CS8950Disable|
EXPORT |??_C@_0CM@KCKNOMEL@CS8950DMAInit?3?5CS8950?5DMA?5buffer@| [ DATA ] ; `string'
EXPORT |CS8950DMAInit|
IMPORT |EdbgOutputDebugString|
00000 AREA |.text| { |CS8950DMAInit| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$CS8950DMAInit|, PDATA, SELECTION=5, ASSOC=|.text| { |CS8950DMAInit| } ; comdat associative
|$T16196| DCD |$L16195|
DCD 0x40002104
00000 AREA |.rdata| { |??_C@_0CM@KCKNOMEL@CS8950DMAInit?3?5CS8950?5DMA?5buffer@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CM@KCKNOMEL@CS8950DMAInit?3?5CS8950?5DMA?5buffer@| DCB "CS8950DMA"
DCB "Init: CS8950 DMA buffer to Small", 0xd, 0xa, 0x0 ; `string'
; Function compile flags: /Ods
00000 AREA |.text| { |CS8950DMAInit| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |CS8950DMAInit| PROC
; 127 : {
00000 |$L16195|
00000 e1a0c00d mov r12, sp
00004 e92d0007 stmdb sp!, {r0 - r2}
00008 e92d5000 stmdb sp!, {r12, lr}
0000c e24dd008 sub sp, sp, #8
00010 |$M16193|
; 128 : BOOL bReturn = FALSE;
00010 e3a03000 mov r3, #0
00014 e58d3000 str r3, [sp]
; 129 :
; 130 : if(dwSize > sizeof(CS9850_BUFFER))
00018 e59d2018 ldr r2, [sp, #0x18]
0001c e3a03b47 mov r3, #0x47, 22
00020 e3833d0f orr r3, r3, #0xF, 26
00024 e1520003 cmp r2, r3
00028 9a00000a bls |$L15391|
; 131 : {
; 132 : pCS8950Buffer = (CS9850_BUFFER *) dwVirtualAddr;
0002c e59d2014 ldr r2, [sp, #0x14]
00030 e59f3048 ldr r3, [pc, #0x48]
00034 e5832000 str r2, [r3]
; 133 : ulPhysicalOffset = dwPhysicalAddr - dwVirtualAddr;
00038 e59d2010 ldr r2, [sp, #0x10]
0003c e59d3014 ldr r3, [sp, #0x14]
00040 e0422003 sub r2, r2, r3
00044 e59f3030 ldr r3, [pc, #0x30]
00048 e5832000 str r2, [r3]
; 134 : bReturn = TRUE;
0004c e3a03001 mov r3, #1
00050 e58d3000 str r3, [sp]
; 135 : }
; 136 : else
00054 ea000001 b |$L15393|
00058 |$L15391|
; 137 : {
; 138 : EdbgOutputDebugString
; 139 : (
; 140 : "CS8950DMAInit: CS8950 DMA buffer to Small\r\n"
; 141 : );
00058 e59f0018 ldr r0, [pc, #0x18]
0005c eb000000 bl EdbgOutputDebugString
00060 |$L15393|
; 142 : }
; 143 :
; 144 : return bReturn;
00060 e59d3000 ldr r3, [sp]
00064 e58d3004 str r3, [sp, #4]
00068 e59d0004 ldr r0, [sp, #4]
; 145 : }
0006c e28dd008 add sp, sp, #8
00070 e89d6000 ldmia sp, {sp, lr}
00074 e12fff1e bx lr
00078 |$L16198|
00078 00000000 DCD |??_C@_0CM@KCKNOMEL@CS8950DMAInit?3?5CS8950?5DMA?5buffer@|
0007c 00000000 DCD |ulPhysicalOffset|
00080 00000000 DCD |pCS8950Buffer|
00084 |$M16194|
ENDP ; |CS8950DMAInit|
EXPORT |??_C@_0BD@HBCBOJJB@CS8950EnableInts?$AN?6?$AA@| [ DATA ] ; `string'
EXPORT |CS8950EnableInts|
00000 AREA |.text| { |CS8950EnableInts| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$CS8950EnableInts|, PDATA, SELECTION=5, ASSOC=|.text| { |CS8950EnableInts| } ; comdat associative
|$T16204| DCD |$L16203|
DCD 0x40001101
00000 AREA |.rdata| { |??_C@_0BD@HBCBOJJB@CS8950EnableInts?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BD@HBCBOJJB@CS8950EnableInts?$AN?6?$AA@| DCB "CS8950EnableInts", 0xd
DCB 0xa, 0x0 ; `string'
; Function compile flags: /Ods
00000 AREA |.text| { |CS8950EnableInts| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |CS8950EnableInts| PROC
; 557 : {
00000 |$L16203|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M16201|
; 558 : EdbgOutputDebugString("CS8950EnableInts\r\n");
00004 e59f0034 ldr r0, [pc, #0x34]
00008 eb000000 bl EdbgOutputDebugString
; 559 : WriteDWord(OpReg_IntEn, IntEn_RxEOFiE );
0000c e59f3028 ldr r3, [pc, #0x28]
00010 e5933000 ldr r3, [r3]
00014 e2832024 add r2, r3, #0x24
00018 e3a03004 mov r3, #4
0001c e5823000 str r3, [r2]
; 560 : WriteDWord(OpReg_FERMask, GIntMask_Interrupt);
00020 e59f3014 ldr r3, [pc, #0x14]
00024 e5933000 ldr r3, [r3]
00028 e2832064 add r2, r3, #0x64
0002c e3a03902 mov r3, #2, 18
00030 e5823000 str r3, [r2]
; 561 : }
00034 e49de004 ldr lr, [sp], #4
00038 e12fff1e bx lr
0003c |$L16206|
0003c 00000000 DCD |gdwEthernetBase|
00040 00000000 DCD |??_C@_0BD@HBCBOJJB@CS8950EnableInts?$AN?6?$AA@|
00044 |$M16202|
ENDP ; |CS8950EnableInts|
EXPORT |??_C@_0BE@GMEAFCNJ@CS8950DisableInts?$AN?6?$AA@| [ DATA ] ; `string'
EXPORT |CS8950DisableInts|
00000 AREA |.text| { |CS8950DisableInts| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$CS8950DisableInts|, PDATA, SELECTION=5, ASSOC=|.text| { |CS8950DisableInts| } ; comdat associative
|$T16212| DCD |$L16211|
DCD 0x40001101
00000 AREA |.rdata| { |??_C@_0BE@GMEAFCNJ@CS8950DisableInts?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BE@GMEAFCNJ@CS8950DisableInts?$AN?6?$AA@| DCB "CS8950DisableInts", 0xd
DCB 0xa, 0x0 ; `string'
; Function compile flags: /Ods
00000 AREA |.text| { |CS8950DisableInts| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |CS8950DisableInts| PROC
; 570 : {
00000 |$L16211|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M16209|
; 571 : EdbgOutputDebugString("CS8950DisableInts\r\n");
00004 e59f0034 ldr r0, [pc, #0x34]
00008 eb000000 bl EdbgOutputDebugString
; 572 : WriteDWord(OpReg_IntEn, 0);
0000c e59f3028 ldr r3, [pc, #0x28]
00010 e5933000 ldr r3, [r3]
00014 e2832024 add r2, r3, #0x24
00018 e3a03000 mov r3, #0
0001c e5823000 str r3, [r2]
; 573 : WriteDWord(OpReg_FERMask, 0 );
00020 e59f3014 ldr r3, [pc, #0x14]
00024 e5933000 ldr r3, [r3]
00028 e2832064 add r2, r3, #0x64
0002c e3a03000 mov r3, #0
00030 e5823000 str r3, [r2]
; 574 : }
00034 e49de004 ldr lr, [sp], #4
00038 e12fff1e bx lr
0003c |$L16214|
0003c 00000000 DCD |gdwEthernetBase|
00040 00000000 DCD |??_C@_0BE@GMEAFCNJ@CS8950DisableInts?$AN?6?$AA@|
00044 |$M16210|
ENDP ; |CS8950DisableInts|
EXPORT |??_C@_01DGKLNCNG@R?$AA@| [ DATA ] ; `string'
EXPORT |??_C@_01EFFIKLCJ@n?$AA@| [ DATA ] ; `string'
EXPORT |CS8950GetPendingInterrupts|
00000 AREA |.text| { |CS8950GetPendingInterrupts| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$CS8950GetPendingInterrupts|, PDATA, SELECTION=5, ASSOC=|.text| { |CS8950GetPendingInterrupts| } ; comdat associative
|$T16221| DCD |$L16220|
DCD 0x40002602
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -