]> Joshua Wise's Git repositories - firearm.git/blobdiff - tests/testbench.c
Memory: Fix up latch logic for LDM/STM.
[firearm.git] / tests / testbench.c
index ff9f96cb05ee84c2595560bf0b3e9fe3e42794e1..0c1cb7710ee7455cba0add789d267150ce470b93 100644 (file)
@@ -19,6 +19,7 @@ void puthex(unsigned int x)
 #include "ack.c"
 #include "j4cbo.c"
 #include "corecurse.c"
+#include "miniblarg.c"
 
 int fact(int n)
 {
@@ -43,7 +44,10 @@ struct tests {
 
 extern int ldm_bonehead();
 
-__asm__(
+#ifndef X86
+int shnasto()
+{
+__asm__ volatile(
 ".globl ldm_bonehead\n"
 "ldm_bonehead:;"
 "mov r3, lr;"
@@ -59,8 +63,9 @@ __asm__(
 "nop;"
 "mov pc, r3\n;"
 "1:\n"
-"ldr r2, =0x00002FE0;"
-"ldr r1, =0x0000004C;"
+"mov r2, #0x00002F00;"
+"orr r2, r2, #0x000000E0;"
+"mov r1, #0x0000004C;"
 "mov ip, sp;"
 "stmdb sp!, {fp, ip, lr, pc};"
 "mov r0, #0x00880000;"
@@ -69,10 +74,16 @@ __asm__(
 "nop;"
 "nop;\n"
 );
+}
+#endif
 
 void ldm_tester()
 {
+#ifdef X86
+       int x = 0x00880000;
+#else
        int x = ldm_bonehead();
+#endif
        if (x != 0x00880000)
        {
                puts("FAIL: result was ");
@@ -87,6 +98,7 @@ struct tests tlist[] = {
        {"fact", facttest},
        {"j4cbo", j4cbo},
        {"ack", acktest},
+       {"miniblarg", testmain},
        {"corecurse", corecurse},
        {0, 0}};
 
This page took 0.026598 seconds and 4 git commands to generate.