#include "ack.c"
#include "j4cbo.c"
#include "corecurse.c"
+#include "miniblarg.c"
int fact(int n)
{
extern int ldm_bonehead();
-__asm__(
+#ifndef X86
+int shnasto()
+{
+__asm__ volatile(
".globl ldm_bonehead\n"
"ldm_bonehead:;"
"mov r3, lr;"
"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;"
"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 ");
{"fact", facttest},
{"j4cbo", j4cbo},
{"ack", acktest},
+ {"miniblarg", testmain},
{"corecurse", corecurse},
{0, 0}};