TTL C:\pocket\asmstuff\asmstuff.cpp
-\r
+
AREA |.drectve|, DRECTVE
DCB "-defaultlib:coredll.lib "
DCB "-defaultlib:corelibc.lib "
-\r
+
EXPORT |?read_mmu@@YAHXZ| ; read_mmu
AREA |.pdata|, PDATA
|$T231| DCD |?read_mmu@@YAHXZ|
AREA |.text|, CODE
|?read_mmu@@YAHXZ| PROC ; read_mmu
|$M229|
-\r
+
mrc p15, 0, r0, c2, c0, 0
mov pc, lr
-\r
+
|$M230|
ENDP ; |?read_mmu@@YAHXZ|, read_mmu
-\r
+
EXPORT |?IntOff@@YAXXZ| ; IntOff
AREA |.pdata|, PDATA
|$T235| DCD |?IntOff@@YAXXZ|
AREA |.text|, CODE
|?IntOff@@YAXXZ| PROC ; IntOff
|$M233|
-\r
+
mrs r4,cpsr
orr r1,r4,#0xef
msr cpsr_c,r1
mov pc, lr
-\r
+
|$M234|
ENDP ; |?IntOff@@YAXXZ|, IntOff
-\r
-\r
+
+
EXPORT |?DRAMloader@@YAXII@Z| ; DRAMloader
AREA |.pdata|, PDATA
|$T239| DCD |?DRAMloader@@YAXII@Z|
DCD 0x40001004
AREA |.text|, CODE
|?DRAMloader@@YAXII@Z| PROC ; DRAMloader
-\r
+
mov r12, sp
stmdb sp!, {r0, r1} ; stmfd
stmdb sp!, {r12, lr} ; stmfd
sub sp, sp, #8
-\r
+
|$M237|
-\r
+
ldr r3, [sp, #0x10] ; 0x10 = 16
str r3, [sp]
ldr r2, [sp, #0x14] ; 0x14 = 20
str r2, [sp, #4]
-\r
+
ldr r1, [sp] ; jump address
ldr r2, [sp, #4] ; machine number
-\r
+
ldr r0, =0x3fff
mcr p15, 0, r0, c7, c10, 4 ;Enable access
- mrc p15, 0, r0, c2, c0, 0\r
+ mrc p15, 0, r0, c2, c0, 0
mov r0, r0
-\r
- mrc p15, 0, r3, c1, c0, 0 ;/* disable the MMU */\r
- and r3, r3, #0xfffffffe ; xscale says p needs to be 0 ???\r
- mov r3, #0x120\r
+
+ 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 */
mrc p15, 0, r0, c2, c0, 0
mov r0, r0
-; Jump into do_it and the kernel\r
+; Jump into do_it and the kernel
mov pc,r1 ; machine number is in register r2
-\r
+
|$M238|
ENDP ; |?DRAMloader@@YAXII@Z|, DRAMloader
END
-\r
+