X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/linexec-j720/blobdiff_plain/77a37381836de85306ad128def744d879c38f95a..c5f1f439f689ac322fc715b979e343c93e8b8ec3:/asm/asmstuff-wince.asm diff --git a/asm/asmstuff-wince.asm b/asm/asmstuff-wince.asm index 76095e1..dd0abce 100644 --- a/asm/asmstuff-wince.asm +++ b/asm/asmstuff-wince.asm @@ -1,70 +1,70 @@ - TTL C:\pocket\asmstuff\asmstuff.cpp - - AREA |.drectve|, DRECTVE - DCB "-defaultlib:coredll.lib " - DCB "-defaultlib:corelibc.lib " - - EXPORT |?read_mmu@@YAHXZ| ; read_mmu - AREA |.pdata|, PDATA -|$T229| DCD |?read_mmu@@YAHXZ| - DCD 0x40000200 - AREA |.text|, CODE -|?read_mmu@@YAHXZ| PROC ; read_mmu -|$M227| - mov r0, #0x33 ; 0x33 = 51 - mrc p15, 0, r0, c2, c0, 0 - mov pc, lr -|$M228| - ENDP ; |?read_mmu@@YAHXZ|, read_mmu - - EXPORT |?IntOff@@YAXXZ| ; IntOff - AREA |.pdata|, PDATA -|$T233| DCD |?IntOff@@YAXXZ| - DCD 0x40000100 - AREA |.text|, CODE -|?IntOff@@YAXXZ| PROC ; IntOff -; Line 9 - mrs r4,cpsr - orr r1,r4,#0xef - msr cpsr_c,r1 - mov pc, lr -|$M231| - mov pc, lr -|$M232| - ENDP ; |?IntOff@@YAXXZ|, IntOff - - - EXPORT |?DRAMloader@@YAXI@Z| ; DRAMloader - AREA |.pdata|, PDATA -|$T237| DCD |?DRAMloader@@YAXI@Z| - DCD 0x40000b04 - AREA |.text|, CODE -|?DRAMloader@@YAXI@Z| PROC ; DRAMloader - mov r12, sp - stmdb sp!, {r0} ; stmfd - stmdb sp!, {r12, lr} ; stmfd - sub sp, sp, #4 -|$M235| - ldr r3, [sp, #0xC] ; 0xC = 12 - str r3, [sp] - ldr r1, [sp] - ldr r0, =0x3fff - mcr p15, 0, r0, c7, c10, 4 ; Enable access - mrc p15, 0, r0, c2, c0, 0 - mov r0, r0 - mrc p15, 0, r3, c1, c0, 0 ;/* disable the MMU */ - and r3, r3, #0xfffffffe ; xscale says p needs to be 0 ??? - mov r3, #0x120 - mcr p15, 0, r3, c1, c0, 0 ;/* disable the MMU */ - ; CPWAIT r0 - mrc p15, 0, r0, c2, c0, 0 - mov r0, r0 - - mov pc,r1 ; GO GO GO GO GO - ; can't get here ??? -- jw, 20030517 - add sp, sp, #4 - ldmia sp, {sp, pc} ; ldmfd -|$M236| - ENDP ; |?DRAMloader@@YAXI@Z|, DRAMloader - - END \ No newline at end of file + TTL C:\pocket\asmstuff\asmstuff.cpp + + AREA |.drectve|, DRECTVE + DCB "-defaultlib:coredll.lib " + DCB "-defaultlib:corelibc.lib " + + EXPORT |?read_mmu@@YAHXZ| ; read_mmu + AREA |.pdata|, PDATA +|$T229| DCD |?read_mmu@@YAHXZ| + DCD 0x40000200 + AREA |.text|, CODE +|?read_mmu@@YAHXZ| PROC ; read_mmu +|$M227| + mov r0, #0x33 ; 0x33 = 51 + mrc p15, 0, r0, c2, c0, 0 + mov pc, lr +|$M228| + ENDP ; |?read_mmu@@YAHXZ|, read_mmu + + EXPORT |?IntOff@@YAXXZ| ; IntOff + AREA |.pdata|, PDATA +|$T233| DCD |?IntOff@@YAXXZ| + DCD 0x40000100 + AREA |.text|, CODE +|?IntOff@@YAXXZ| PROC ; IntOff +; Line 9 + mrs r4,cpsr + orr r1,r4,#0xef + msr cpsr_c,r1 + mov pc, lr +|$M231| + mov pc, lr +|$M232| + ENDP ; |?IntOff@@YAXXZ|, IntOff + + + EXPORT |?DRAMloader@@YAXI@Z| ; DRAMloader + AREA |.pdata|, PDATA +|$T237| DCD |?DRAMloader@@YAXI@Z| + DCD 0x40000b04 + AREA |.text|, CODE +|?DRAMloader@@YAXI@Z| PROC ; DRAMloader + mov r12, sp + stmdb sp!, {r0} ; stmfd + stmdb sp!, {r12, lr} ; stmfd + sub sp, sp, #4 +|$M235| + ldr r3, [sp, #0xC] ; 0xC = 12 + str r3, [sp] + ldr r1, [sp] + ldr r0, =0x3fff + mcr p15, 0, r0, c7, c10, 4 ; Enable access + mrc p15, 0, r0, c2, c0, 0 + mov r0, r0 + mrc p15, 0, r3, c1, c0, 0 ;/* disable the MMU */ + and r3, r3, #0xfffffffe ; xscale says p needs to be 0 ??? + mov r3, #0x120 + mcr p15, 0, r3, c1, c0, 0 ;/* disable the MMU */ + ; CPWAIT r0 + mrc p15, 0, r0, c2, c0, 0 + mov r0, r0 + + mov pc,r1 ; GO GO GO GO GO + ; can't get here ??? -- jw, 20030517 + add sp, sp, #4 + ldmia sp, {sp, pc} ; ldmfd +|$M236| + ENDP ; |?DRAMloader@@YAXI@Z|, DRAMloader + + END