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

📄 atamain.cod

📁 2440 CE500BSP包, EBOOT可用DEBUG版调试
💻 COD
📖 第 1 页 / 共 5 页
字号:
  002c0	e2833094	 add         r3, r3, #0x94
  002c4	e5933000	 ldr         r3, [r3]
  002c8	e283302c	 add         r3, r3, #0x2C
  002cc	e5930000	 ldr         r0, [r3]
  002d0	eb000000	 bl          LocalFree
  002d4		 |$L32363|

; 79   :         }
; 80   :         LocalFree(m_pIdeReg);

  002d4	e59d3040	 ldr         r3, [sp, #0x40]
  002d8	e2833094	 add         r3, r3, #0x94
  002dc	e5930000	 ldr         r0, [r3]
  002e0	eb000000	 bl          LocalFree
  002e4		 |$L32360|

; 81   :     }
; 82   :     // deinitialize port structures
; 83   :     if (m_pPrimaryPort) {

  002e4	e59d3040	 ldr         r3, [sp, #0x40]
  002e8	e2833098	 add         r3, r3, #0x98
  002ec	e5933000	 ldr         r3, [r3]
  002f0	e3530000	 cmp         r3, #0
  002f4	0a000011	 beq         |$L32364|

; 84   :         delete m_pPrimaryPort;

  002f8	e59d3040	 ldr         r3, [sp, #0x40]
  002fc	e2833098	 add         r3, r3, #0x98
  00300	e5933000	 ldr         r3, [r3]
  00304	e58d3010	 str         r3, [sp, #0x10]
  00308	e59d3010	 ldr         r3, [sp, #0x10]
  0030c	e58d300c	 str         r3, [sp, #0xC]
  00310	e59d300c	 ldr         r3, [sp, #0xC]
  00314	e3530000	 cmp         r3, #0
  00318	0a000006	 beq         |$L33072|
  0031c	e3a01001	 mov         r1, #1
  00320	e59d000c	 ldr         r0, [sp, #0xC]
  00324	eb000000	 bl          |??_GCPort@@QAAPAXI@Z|
  00328	e58d0028	 str         r0, [sp, #0x28]
  0032c	e59d3028	 ldr         r3, [sp, #0x28]
  00330	e58d302c	 str         r3, [sp, #0x2C]
  00334	ea000001	 b           |$L33073|
  00338		 |$L33072|
  00338	e3a03000	 mov         r3, #0
  0033c	e58d302c	 str         r3, [sp, #0x2C]
  00340		 |$L33073|
  00340		 |$L32364|

; 85   :     }
; 86   :     if (m_pSecondaryPort) {

  00340	e59d3040	 ldr         r3, [sp, #0x40]
  00344	e283309c	 add         r3, r3, #0x9C
  00348	e5933000	 ldr         r3, [r3]
  0034c	e3530000	 cmp         r3, #0
  00350	0a000011	 beq         |$L32367|

; 87   :         delete m_pSecondaryPort;

  00354	e59d3040	 ldr         r3, [sp, #0x40]
  00358	e283309c	 add         r3, r3, #0x9C
  0035c	e5933000	 ldr         r3, [r3]
  00360	e58d3018	 str         r3, [sp, #0x18]
  00364	e59d3018	 ldr         r3, [sp, #0x18]
  00368	e58d3014	 str         r3, [sp, #0x14]
  0036c	e59d3014	 ldr         r3, [sp, #0x14]
  00370	e3530000	 cmp         r3, #0
  00374	0a000006	 beq         |$L33076|
  00378	e3a01001	 mov         r1, #1
  0037c	e59d0014	 ldr         r0, [sp, #0x14]
  00380	eb000000	 bl          |??_GCPort@@QAAPAXI@Z|
  00384	e58d0030	 str         r0, [sp, #0x30]
  00388	e59d3030	 ldr         r3, [sp, #0x30]
  0038c	e58d3034	 str         r3, [sp, #0x34]
  00390	ea000001	 b           |$L33077|
  00394		 |$L33076|
  00394	e3a03000	 mov         r3, #0
  00398	e58d3034	 str         r3, [sp, #0x34]
  0039c		 |$L33077|
  0039c		 |$L32367|

; 88   :     }
; 89   : }

  0039c	e28dd038	 add         sp, sp, #0x38
  003a0	e89d6000	 ldmia       sp, {sp, lr}
  003a4	e12fff1e	 bx          lr
  003a8		 |$L33082|
  003a8	00000000	 DCD         |??_C@_1FK@FNONLNGN@?$AA?$CF?$AAs?$AA?3?$AA?5?$AAD?$AAE?$AAB?$AAU?$AAG?$AAC?$AAH?$AAK?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5@|
  003ac	00000000	 DCD         |dpCurSettings|
  003b0	00000000	 DCD         |??_C@_1HA@HPHGJOKB@?$AAd?$AA?3?$AA?2?$AAw?$AAi?$AAn?$AAc?$AAe?$AA5?$AA0?$AA0?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm@|
  003b4		 |$M33079|

			 ENDP  ; |??1CIDEBUS@@QAA@XZ|, CIDEBUS::~CIDEBUS

	EXPORT	|??1CPort@@QAA@XZ|			; CPort::~CPort

  00000			 AREA	 |.text| { |??_GCPort@@QAAPAXI@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$??_GCPort@@QAAPAXI@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??_GCPort@@QAAPAXI@Z| } ; comdat associative
|$T33088| DCD	|$L33087|
	DCD	0x40001104
; Function compile flags: /Odt

  00000			 AREA	 |.text| { |??_GCPort@@QAAPAXI@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |??_GCPort@@QAAPAXI@Z| PROC		; CPort::`scalar deleting destructor'
  00000		 |$L33087|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd004	 sub         sp, sp, #4
  00010		 |$M33085|
  00010	e59d000c	 ldr         r0, [sp, #0xC]
  00014	eb000000	 bl          |??1CPort@@QAA@XZ|
  00018	e59d3010	 ldr         r3, [sp, #0x10]
  0001c	e3130001	 tst         r3, #1
  00020	0a000001	 beq         |$L32373|
  00024	e59d000c	 ldr         r0, [sp, #0xC]
  00028	eb000000	 bl          |??3@YAXPAX@Z|
  0002c		 |$L32373|
  0002c	e59d300c	 ldr         r3, [sp, #0xC]
  00030	e58d3000	 str         r3, [sp]
  00034	e59d0000	 ldr         r0, [sp]
  00038	e28dd004	 add         sp, sp, #4
  0003c	e89d6000	 ldmia       sp, {sp, lr}
  00040	e12fff1e	 bx          lr
  00044		 |$M33086|

			 ENDP  ; |??_GCPort@@QAAPAXI@Z|, CPort::`scalar deleting destructor'

	EXPORT	|??0CPort@@QAA@PAVCIDEBUS@@@Z|		; CPort::CPort
	IMPORT	|InitializeCriticalSection|

  00010			 AREA	 |.pdata|, PDATA
|$T33098| DCD	|$L33097|
	DCD	0x40005904
; Function compile flags: /Odt

  003b4			 AREA	 |.text|, CODE, ARM

  003b4		 |??0CPort@@QAA@PAVCIDEBUS@@@Z| PROC	; CPort::CPort

; 97   : {

  003b4		 |$L33097|
  003b4	e1a0c00d	 mov         r12, sp
  003b8	e92d0003	 stmdb       sp!, {r0, r1}
  003bc	e92d5000	 stmdb       sp!, {r12, lr}
  003c0	e24dd008	 sub         sp, sp, #8
  003c4		 |$M33095|

; 98   :     DEBUGCHK(pParent);

  003c4	e59d3014	 ldr         r3, [sp, #0x14]
  003c8	e3530000	 cmp         r3, #0
  003cc	0a000002	 beq         |$L33092|
  003d0	e3a03001	 mov         r3, #1
  003d4	e58d3004	 str         r3, [sp, #4]
  003d8	ea000007	 b           |$L33093|
  003dc		 |$L33092|
  003dc	e3a03062	 mov         r3, #0x62
  003e0	e59f212c	 ldr         r2, [pc, #0x12C]
  003e4	e59f1124	 ldr         r1, [pc, #0x124]
  003e8	e59f011c	 ldr         r0, [pc, #0x11C]
  003ec	eb000000	 bl          NKDbgPrintfW
  003f0	e6000010	 DCD         0xe6000010
  003f4	e3a03000	 mov         r3, #0
  003f8	e58d3004	 str         r3, [sp, #4]
  003fc		 |$L33093|

; 99   :     InitializeCriticalSection(&m_csPort);

  003fc	e59d3010	 ldr         r3, [sp, #0x10]
  00400	e2830004	 add         r0, r3, #4
  00404	eb000000	 bl          InitializeCriticalSection

; 100  :     // hook up bus
; 101  :     m_pController = pParent;

  00408	e59d2014	 ldr         r2, [sp, #0x14]
  0040c	e59d3010	 ldr         r3, [sp, #0x10]
  00410	e5832000	 str         r2, [r3]

; 102  :     // initialize flags
; 103  :     m_fInitialized = 0;

  00414	e59d3010	 ldr         r3, [sp, #0x10]
  00418	e2832018	 add         r2, r3, #0x18
  0041c	e3a03000	 mov         r3, #0
  00420	e5823000	 str         r3, [r2]

; 104  :     m_dwFlag = 0;

  00424	e59d3010	 ldr         r3, [sp, #0x10]
  00428	e283201c	 add         r2, r3, #0x1C
  0042c	e3a03000	 mov         r3, #0
  00430	e5823000	 str         r3, [r2]

; 105  :     // initialize I/O ports
; 106  :     m_dwRegBase = 0;

  00434	e59d3010	 ldr         r3, [sp, #0x10]
  00438	e2832020	 add         r2, r3, #0x20
  0043c	e3a03000	 mov         r3, #0
  00440	e5823000	 str         r3, [r2]

; 107  :     m_dwRegAlt = 0;

  00444	e59d3010	 ldr         r3, [sp, #0x10]
  00448	e2832024	 add         r2, r3, #0x24
  0044c	e3a03000	 mov         r3, #0
  00450	e5823000	 str         r3, [r2]

; 108  :     m_dwBMR = 0;

  00454	e59d3010	 ldr         r3, [sp, #0x10]
  00458	e2832028	 add         r2, r3, #0x28
  0045c	e3a03000	 mov         r3, #0
  00460	e5823000	 str         r3, [r2]

; 109  :     m_dwBMRStatic = 0;

  00464	e59d3010	 ldr         r3, [sp, #0x10]
  00468	e283202c	 add         r2, r3, #0x2C
  0046c	e3a03000	 mov         r3, #0
  00470	e5823000	 str         r3, [r2]

; 110  :     // initialize interrupt data
; 111  :     m_hIRQEvent = NULL;

  00474	e59d3010	 ldr         r3, [sp, #0x10]
  00478	e2832030	 add         r2, r3, #0x30
  0047c	e3a03000	 mov         r3, #0
  00480	e5823000	 str         r3, [r2]

; 112  :     m_hThread = NULL;

  00484	e59d3010	 ldr         r3, [sp, #0x10]
  00488	e2832044	 add         r2, r3, #0x44
  0048c	e3a03000	 mov         r3, #0
  00490	e5823000	 str         r3, [r2]

; 113  :     m_dwSysIntr = SYSINTR_NOP;

  00494	e59d3010	 ldr         r3, [sp, #0x10]
  00498	e283203c	 add         r2, r3, #0x3C
  0049c	e3a03000	 mov         r3, #0
  004a0	e5823000	 str         r3, [r2]

; 114  :     m_dwIrq = IRQ_UNSPECIFIED;

  004a4	e59d3010	 ldr         r3, [sp, #0x10]
  004a8	e2832040	 add         r2, r3, #0x40
  004ac	e3e03000	 mvn         r3, #0
  004b0	e5823000	 str         r3, [r2]

; 115  :     // initialize master/slave registry value set
; 116  :     m_pDskReg[0] = NULL;

  004b4	e59d3010	 ldr         r3, [sp, #0x10]
  004b8	e2832034	 add         r2, r3, #0x34
  004bc	e3a03000	 mov         r3, #0
  004c0	e5823000	 str         r3, [r2]

; 117  :     m_pDskReg[1] = NULL;

  004c4	e59d3010	 ldr         r3, [sp, #0x10]
  004c8	e2832038	 add         r2, r3, #0x38
  004cc	e3a03000	 mov         r3, #0
  004d0	e5823000	 str         r3, [r2]

; 118  :     // initialize master/slave stream interface handles
; 119  :     m_pDisk[0] = NULL;

  004d4	e59d3010	 ldr         r3, [sp, #0x10]
  004d8	e2832048	 add         r2, r3, #0x48
  004dc	e3a03000	 mov         r3, #0
  004e0	e5823000	 str         r3, [r2]

; 120  :     m_pDisk[1] = NULL;

  004e4	e59d3010	 ldr         r3, [sp, #0x10]
  004e8	e283204c	 add         r2, r3, #0x4C
  004ec	e3a03000	 mov         r3, #0
  004f0	e5823000	 str         r3, [r2]

; 121  : }

  004f4	e59d3010	 ldr         r3, [sp, #0x10]
  004f8	e58d3000	 str         r3, [sp]
  004fc	e59d0000	 ldr         r0, [sp]
  00500	e28dd008	 add         sp, sp, #8
  00504	e89d6000	 ldmia       sp, {sp, lr}
  00508	e12fff1e	 bx          lr
  0050c		 |$L33099|
  0050c	00000000	 DCD         |??_C@_1FK@FNONLNGN@?$AA?$CF?$AAs?$AA?3?$AA?5?$AAD?$AAE?$AAB?$AAU?$AAG?$AAC?$AAH?$AAK?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5@|
  00510	00000000	 DCD         |dpCurSettings|
  00514	00000000	 DCD         |??_C@_1HA@HPHGJOKB@?$AAd?$AA?3?$AA?2?$AAw?$AAi?$AAn?$AAc?$AAe?$AA5?$AA0?$AA0?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm@|
  00518		 |$M33096|

			 ENDP  ; |??0CPort@@QAA@PAVCIDEBUS@@@Z|, CPort::CPort

	IMPORT	|DeleteCriticalSection|
	IMPORT	|CloseHandle|
	IMPORT	|InterruptDisable|
	IMPORT	|MmUnmapIoSpace|

  00018			 AREA	 |.pdata|, PDATA
|$T33104| DCD	|$L33103|
	DCD	0x40005303
; Function compile flags: /Odt

  00518			 AREA	 |.text|, CODE, ARM

  00518		 |??1CPort@@QAA@XZ| PROC		; CPort::~CPort

; 126  : {

  00518		 |$L33103|
  00518	e1a0c00d	 mov         r12, sp
  0051c	e92d0001	 stmdb       sp!, {r0}
  00520	e92d5000	 stmdb       sp!, {r12, lr}
  00524		 |$M33101|

; 127  :     DeleteCriticalSection(&m_csPort);

  00524	e59d3008	 ldr         r3, [sp, #8]
  00528	e2830004	 add         r0, r3, #4
  0052c	eb000000	 bl          DeleteCriticalSection

; 128  :     // unmap ATA channel's I/O windows
; 129  :     if (m_dwRegBase) {

  00530	e59d3008	 ldr         r3, [sp, #8]
  00534	e2833020	 add         r3, r3, #0x20
  00538	e5933000	 ldr         r3, [r3]
  0053c	e3530000	 cmp         r3, #0
  00540	0a000004	 beq         |$L32383|

; 130  :         MmUnmapIoSpace((LPVOID)m_dwRegBase, ATA_REG_LENGTH);

  00544	e3a01008	 mov         r1, #8
  00548	e59d3008	 ldr         r3, [sp, #8]
  0054c	e2833020	 add         r3, r3, #0x20
  00550	e5930000	 ldr         r0, [r3]
  00554	eb000000	 bl          MmUnmapIoSpace
  00558		 |$L32383|

; 131  :     }
; 132  :     if (m_dwRegAlt) {

  00558	e59d3008	 ldr         r3, [sp, #8]
  0055c	e2833024	 add         r3, r3, #0x24

⌨️ 快捷键说明

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