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

📄 atamain.cod

📁 2440 CE500BSP包, EBOOT可用DEBUG版调试
💻 COD
📖 第 1 页 / 共 5 页
字号:
  00560	e5933000	 ldr         r3, [r3]
  00564	e3530000	 cmp         r3, #0
  00568	0a000004	 beq         |$L32385|

; 133  :         MmUnmapIoSpace((LPVOID)m_dwRegAlt, ATA_REG_LENGTH);

  0056c	e3a01008	 mov         r1, #8
  00570	e59d3008	 ldr         r3, [sp, #8]
  00574	e2833024	 add         r3, r3, #0x24
  00578	e5930000	 ldr         r0, [r3]
  0057c	eb000000	 bl          MmUnmapIoSpace
  00580		 |$L32385|

; 134  :     }
; 135  :     if (m_dwBMR) {

  00580	e59d3008	 ldr         r3, [sp, #8]
  00584	e2833028	 add         r3, r3, #0x28
  00588	e5933000	 ldr         r3, [r3]
  0058c	e3530000	 cmp         r3, #0
  00590	0a000004	 beq         |$L32387|

; 136  :         MmUnmapIoSpace((LPVOID)m_dwBMR, 16);

  00594	e3a01010	 mov         r1, #0x10
  00598	e59d3008	 ldr         r3, [sp, #8]
  0059c	e2833028	 add         r3, r3, #0x28
  005a0	e5930000	 ldr         r0, [r3]
  005a4	eb000000	 bl          MmUnmapIoSpace
  005a8		 |$L32387|

; 137  :     }
; 138  :     // close interrupt event handle
; 139  :     if (m_hIRQEvent) {

  005a8	e59d3008	 ldr         r3, [sp, #8]
  005ac	e2833030	 add         r3, r3, #0x30
  005b0	e5933000	 ldr         r3, [r3]
  005b4	e3530000	 cmp         r3, #0
  005b8	0a000003	 beq         |$L32389|

; 140  :         CloseHandle(m_hIRQEvent);

  005bc	e59d3008	 ldr         r3, [sp, #8]
  005c0	e2833030	 add         r3, r3, #0x30
  005c4	e5930000	 ldr         r0, [r3]
  005c8	eb000000	 bl          CloseHandle
  005cc		 |$L32389|

; 141  :     }
; 142  :     // close interrupt thread
; 143  :     if (m_hThread) {

  005cc	e59d3008	 ldr         r3, [sp, #8]
  005d0	e2833044	 add         r3, r3, #0x44
  005d4	e5933000	 ldr         r3, [r3]
  005d8	e3530000	 cmp         r3, #0
  005dc	0a000003	 beq         |$L32390|

; 144  :         CloseHandle(m_hThread);

  005e0	e59d3008	 ldr         r3, [sp, #8]
  005e4	e2833044	 add         r3, r3, #0x44
  005e8	e5930000	 ldr         r0, [r3]
  005ec	eb000000	 bl          CloseHandle
  005f0		 |$L32390|

; 145  :     }
; 146  :     // disable interrupt
; 147  :     if (m_dwSysIntr != SYSINTR_NOP) {

  005f0	e59d3008	 ldr         r3, [sp, #8]
  005f4	e283303c	 add         r3, r3, #0x3C
  005f8	e5933000	 ldr         r3, [r3]
  005fc	e3530000	 cmp         r3, #0
  00600	0a000003	 beq         |$L32391|

; 148  :         InterruptDisable(m_dwSysIntr);

  00604	e59d3008	 ldr         r3, [sp, #8]
  00608	e283303c	 add         r3, r3, #0x3C
  0060c	e5930000	 ldr         r0, [r3]
  00610	eb000000	 bl          InterruptDisable
  00614		 |$L32391|

; 149  :     }
; 150  :     // free DSK_ registry value set
; 151  :     if (m_pDskReg[0]) {

  00614	e59d3008	 ldr         r3, [sp, #8]
  00618	e2833034	 add         r3, r3, #0x34
  0061c	e5933000	 ldr         r3, [r3]
  00620	e3530000	 cmp         r3, #0
  00624	0a000003	 beq         |$L32392|

; 152  :         LocalFree(m_pDskReg[0]);

  00628	e59d3008	 ldr         r3, [sp, #8]
  0062c	e2833034	 add         r3, r3, #0x34
  00630	e5930000	 ldr         r0, [r3]
  00634	eb000000	 bl          LocalFree
  00638		 |$L32392|

; 153  :     }
; 154  :     if (m_pDskReg[1]) {

  00638	e59d3008	 ldr         r3, [sp, #8]
  0063c	e2833038	 add         r3, r3, #0x38
  00640	e5933000	 ldr         r3, [r3]
  00644	e3530000	 cmp         r3, #0
  00648	0a000003	 beq         |$L32393|

; 155  :         LocalFree(m_pDskReg[1]);

  0064c	e59d3008	 ldr         r3, [sp, #8]
  00650	e2833038	 add         r3, r3, #0x38
  00654	e5930000	 ldr         r0, [r3]
  00658	eb000000	 bl          LocalFree
  0065c		 |$L32393|

; 156  :     }
; 157  : }

  0065c	e89d6000	 ldmia       sp, {sp, lr}
  00660	e12fff1e	 bx          lr
  00664		 |$M33102|

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

	EXPORT	|?TakeCS@CPort@@QAAXXZ|			; CPort::TakeCS
	IMPORT	|EnterCriticalSection|

  00020			 AREA	 |.pdata|, PDATA
|$T33109| DCD	|$L33108|
	DCD	0x40000803
; Function compile flags: /Odt

  00664			 AREA	 |.text|, CODE, ARM

  00664		 |?TakeCS@CPort@@QAAXXZ| PROC		; CPort::TakeCS

; 163  : {

  00664		 |$L33108|
  00664	e1a0c00d	 mov         r12, sp
  00668	e92d0001	 stmdb       sp!, {r0}
  0066c	e92d5000	 stmdb       sp!, {r12, lr}
  00670		 |$M33106|

; 164  :     EnterCriticalSection(&m_csPort);

  00670	e59d3008	 ldr         r3, [sp, #8]
  00674	e2830004	 add         r0, r3, #4
  00678	eb000000	 bl          EnterCriticalSection

; 165  : }

  0067c	e89d6000	 ldmia       sp, {sp, lr}
  00680	e12fff1e	 bx          lr
  00684		 |$M33107|

			 ENDP  ; |?TakeCS@CPort@@QAAXXZ|, CPort::TakeCS

	EXPORT	|?ReleaseCS@CPort@@QAAXXZ|		; CPort::ReleaseCS
	IMPORT	|LeaveCriticalSection|

  00028			 AREA	 |.pdata|, PDATA
|$T33114| DCD	|$L33113|
	DCD	0x40000803
; Function compile flags: /Odt

  00684			 AREA	 |.text|, CODE, ARM

  00684		 |?ReleaseCS@CPort@@QAAXXZ| PROC	; CPort::ReleaseCS

; 171  : {

  00684		 |$L33113|
  00684	e1a0c00d	 mov         r12, sp
  00688	e92d0001	 stmdb       sp!, {r0}
  0068c	e92d5000	 stmdb       sp!, {r12, lr}
  00690		 |$M33111|

; 172  :     LeaveCriticalSection(&m_csPort);

  00690	e59d3008	 ldr         r3, [sp, #8]
  00694	e2830004	 add         r0, r3, #4
  00698	eb000000	 bl          LeaveCriticalSection

; 173  : }

  0069c	e89d6000	 ldmia       sp, {sp, lr}
  006a0	e12fff1e	 bx          lr
  006a4		 |$M33112|

			 ENDP  ; |?ReleaseCS@CPort@@QAAXXZ|, CPort::ReleaseCS

	EXPORT	|?PrintInfo@CPort@@QAAXXZ|		; CPort::PrintInfo
	EXPORT	|??_C@_1CK@GODODACL@?$AAd?$AAw?$AAR?$AAe?$AAg?$AAB?$AAa?$AAs?$AAe?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| [ DATA ] ; `string'
	EXPORT	|??_C@_1CK@FPOOONIE@?$AAd?$AAw?$AAR?$AAe?$AAg?$AAA?$AAl?$AAt?$AA?5?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| [ DATA ] ; `string'
	EXPORT	|??_C@_1CK@EEJADHGF@?$AAd?$AAw?$AAB?$AAM?$AAR?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| [ DATA ] ; `string'
	EXPORT	|??_C@_1CK@CMHPEDII@?$AAd?$AAw?$AAS?$AAy?$AAs?$AAI?$AAn?$AAt?$AAr?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| [ DATA ] ; `string'
	EXPORT	|??_C@_1CK@EMFBDPGK@?$AAd?$AAw?$AAI?$AAr?$AAq?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| [ DATA ] ; `string'
	EXPORT	|??_C@_1CK@OILLEMFN@?$AAd?$AAw?$AAB?$AAM?$AAR?$AAS?$AAt?$AAa?$AAt?$AAi?$AAc?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| [ DATA ] ; `string'

  00030			 AREA	 |.pdata|, PDATA
|$T33131| DCD	|$L33130|
	DCD	0x40006204

  00000			 AREA	 |.rdata| { |??_C@_1CK@OILLEMFN@?$AAd?$AAw?$AAB?$AAM?$AAR?$AAS?$AAt?$AAa?$AAt?$AAi?$AAc?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CK@OILLEMFN@?$AAd?$AAw?$AAB?$AAM?$AAR?$AAS?$AAt?$AAa?$AAt?$AAi?$AAc?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| DCB "d"
	DCB	0x0, "w", 0x0, "B", 0x0, "M", 0x0, "R", 0x0, "S", 0x0, "t"
	DCB	0x0, "a", 0x0, "t", 0x0, "i", 0x0, "c", 0x0, " ", 0x0, "="
	DCB	0x0, " ", 0x0, "%", 0x0, "0", 0x0, "8", 0x0, "X", 0x0, 0xd
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'

  00000			 AREA	 |.rdata| { |??_C@_1CK@EMFBDPGK@?$AAd?$AAw?$AAI?$AAr?$AAq?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CK@EMFBDPGK@?$AAd?$AAw?$AAI?$AAr?$AAq?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| DCB "d"
	DCB	0x0, "w", 0x0, "I", 0x0, "r", 0x0, "q", 0x0, " ", 0x0, " "
	DCB	0x0, " ", 0x0, " ", 0x0, " ", 0x0, " ", 0x0, " ", 0x0, "="
	DCB	0x0, " ", 0x0, "%", 0x0, "0", 0x0, "8", 0x0, "X", 0x0, 0xd
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'

  00000			 AREA	 |.rdata| { |??_C@_1CK@CMHPEDII@?$AAd?$AAw?$AAS?$AAy?$AAs?$AAI?$AAn?$AAt?$AAr?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CK@CMHPEDII@?$AAd?$AAw?$AAS?$AAy?$AAs?$AAI?$AAn?$AAt?$AAr?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| DCB "d"
	DCB	0x0, "w", 0x0, "S", 0x0, "y", 0x0, "s", 0x0, "I", 0x0, "n"
	DCB	0x0, "t", 0x0, "r", 0x0, " ", 0x0, " ", 0x0, " ", 0x0, "="
	DCB	0x0, " ", 0x0, "%", 0x0, "0", 0x0, "8", 0x0, "X", 0x0, 0xd
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'

  00000			 AREA	 |.rdata| { |??_C@_1CK@EEJADHGF@?$AAd?$AAw?$AAB?$AAM?$AAR?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CK@EEJADHGF@?$AAd?$AAw?$AAB?$AAM?$AAR?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| DCB "d"
	DCB	0x0, "w", 0x0, "B", 0x0, "M", 0x0, "R", 0x0, " ", 0x0, " "
	DCB	0x0, " ", 0x0, " ", 0x0, " ", 0x0, " ", 0x0, " ", 0x0, "="
	DCB	0x0, " ", 0x0, "%", 0x0, "0", 0x0, "8", 0x0, "X", 0x0, 0xd
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'

  00000			 AREA	 |.rdata| { |??_C@_1CK@FPOOONIE@?$AAd?$AAw?$AAR?$AAe?$AAg?$AAA?$AAl?$AAt?$AA?5?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CK@FPOOONIE@?$AAd?$AAw?$AAR?$AAe?$AAg?$AAA?$AAl?$AAt?$AA?5?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| DCB "d"
	DCB	0x0, "w", 0x0, "R", 0x0, "e", 0x0, "g", 0x0, "A", 0x0, "l"
	DCB	0x0, "t", 0x0, " ", 0x0, " ", 0x0, " ", 0x0, " ", 0x0, "="
	DCB	0x0, " ", 0x0, "%", 0x0, "0", 0x0, "8", 0x0, "X", 0x0, 0xd
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'

  00000			 AREA	 |.rdata| { |??_C@_1CK@GODODACL@?$AAd?$AAw?$AAR?$AAe?$AAg?$AAB?$AAa?$AAs?$AAe?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CK@GODODACL@?$AAd?$AAw?$AAR?$AAe?$AAg?$AAB?$AAa?$AAs?$AAe?$AA?5?$AA?5?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AN?$AA?6@| DCB "d"
	DCB	0x0, "w", 0x0, "R", 0x0, "e", 0x0, "g", 0x0, "B", 0x0, "a"
	DCB	0x0, "s", 0x0, "e", 0x0, " ", 0x0, " ", 0x0, " ", 0x0, "="
	DCB	0x0, " ", 0x0, "%", 0x0, "0", 0x0, "8", 0x0, "X", 0x0, 0xd
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'
; Function compile flags: /Odt

  006a4			 AREA	 |.text|, CODE, ARM

  006a4		 |?PrintInfo@CPort@@QAAXXZ| PROC	; CPort::PrintInfo

; 179  : {

  006a4		 |$L33130|
  006a4	e1a0c00d	 mov         r12, sp
  006a8	e92d0001	 stmdb       sp!, {r0}
  006ac	e92d5000	 stmdb       sp!, {r12, lr}
  006b0	e24dd018	 sub         sp, sp, #0x18
  006b4		 |$M33128|

; 180  :     DEBUGMSG(ZONE_INIT, (TEXT("dwRegBase   = %08X\r\n"), m_dwRegBase));

  006b4	e59f3158	 ldr         r3, [pc, #0x158]
  006b8	e5933440	 ldr         r3, [r3, #0x440]
  006bc	e3130001	 tst         r3, #1
  006c0	0a000007	 beq         |$L33116|
  006c4	e59d3020	 ldr         r3, [sp, #0x20]
  006c8	e2833020	 add         r3, r3, #0x20
  006cc	e5931000	 ldr         r1, [r3]
  006d0	e59f0150	 ldr         r0, [pc, #0x150]
  006d4	eb000000	 bl          NKDbgPrintfW
  006d8	e3a03001	 mov         r3, #1
  006dc	e58d3000	 str         r3, [sp]
  006e0	ea000001	 b           |$L33117|
  006e4		 |$L33116|
  006e4	e3a03000	 mov         r3, #0
  006e8	e58d3000	 str         r3, [sp]
  006ec		 |$L33117|

; 181  :     DEBUGMSG(ZONE_INIT, (TEXT("dwRegAlt    = %08X\r\n"), m_dwRegAlt));

  006ec	e59f3120	 ldr         r3, [pc, #0x120]
  006f0	e5933440	 ldr         r3, [r3, #0x440]
  006f4	e3130001	 tst         r3, #1
  006f8	0a000007	 beq         |$L33118|
  006fc	e59d3020	 ldr         r3, [sp, #0x20]
  00700	e2833024	 add         r3, r3, #0x24
  00704	e5931000	 ldr         r1, [r3]
  00708	e59f0114	 ldr         r0, [pc, #0x114]
  0070c	eb000000	 bl          NKDbgPrintfW
  00710	e3a03001	 mov         r3, #1
  00714	e58d3004	 str         r3, [sp, #4]
  00718	ea000001	 b           |$L33119|
  0071c		 |$L33118|
  0071c	e3a03000	 mov         r3, #0
  00720	e58d3004	 str         r3, [sp, #4]
  00724		 |$L33119|

; 182  :     DEBUGMSG(ZONE_INIT, (TEXT("dwBMR       = %08X\r\n"), m_dwBMR));

  00724	e59f30e8	 ldr         r3, [pc, #0xE8]
  00728	e5933440	 ldr         r3, [r3, #0x440]
  0072c	e3130001	 tst         r3, #1
  00730	0a000007	 beq         |$L33120|
  00734	e59d3020	 ldr         r3, [sp, #0x20]
  00738	e2833028	 add         r3, r3, #0x28
  0073c	e5931000	 ldr         r1, [r3]
  00740	e59f00d8	 ldr         r0, [pc, #0xD8]
  00744	eb000000	 bl          NKDbgPrintfW
  00748	e3a03001	 mov         r3, #1
  0074c	e58d3008	 str         r3, [sp, #8]
  00750	ea000001	 b           |$L33121|
  00754		 |$L33120|
  00754	e3a03000	 mov         r3, #0
  00758	e58d3008	 str         r3, [sp, #8]
  0075c		 |$L33121|

; 183  :     DEBUGMSG(ZONE_INIT, (TEXT("dwSysIntr   = %08X\r\n"), m_dwSysIntr));

  0075c	e59f30b0	 ldr         r3, [pc, #0xB0]
  00760	e5933440	 ldr         r3, [r3, #0x440]
  00764	e3130001	 tst         r3, #1
  00768	0a000007	 beq         |$L33122|
  0076c	e59d3020	 ldr         r3, [sp, #0x20]
  00770	e283303c	 add         r3, r3, #0x3C
  00774	e5931000	 ldr         r1, [r3]
  00778	e59f009c	 ldr         r0, [pc, #0x9C]
  0077c	eb000000	 bl          NKDbgPrintfW
  00780	e3a03001	 mov         r3, #1
  00784	e58d300c	 str         r3, [sp, #0xC]
  00788	ea000001	 b           |$L33123|
  0078c		 |$L33122|
  0078c	e3a03000	 mov         r3, #0
  00790	e58d300c	 str         r3, [sp, #0xC]
  00794		 |$L33123|

; 184  :     DEBUGMSG(ZONE_INIT, (TEXT("dwIrq       = %08X\r\n"), m_dwIrq));

  00794	e59f3078	 ldr         r3, [pc, #0x78]
  00798	e5933440	 ldr         r3, [r3, #0x440]
  0079c	e3130001	 tst         r3, #1
  007a0	0a000007	 beq         |$L33124|
  007a4	e59d3020	 ldr         r3, [sp, #0x20]
  007a8	e2833040	 add         r3, r3, #0x40
  007ac	e5931000	 ldr         r1, [r3]
  007b0	e59f0060	 ldr         r0, [pc, #0x60]
  007b4	eb000000	 bl          NKDbgPrintfW
  007b8	e3a03001	 mov         r3, #1
  007bc	e58d3010	 str         r3, [sp, #0x10]
  007c0	ea000001	 b           |$L33125|
  007c4		 |$L33124|

⌨️ 快捷键说明

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