don't run when 0 cycles are left
authorGrazvydas Ignotas <notasas@gmail.com>
Sat, 10 Aug 2013 14:30:39 +0000 (17:30 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Sat, 10 Aug 2013 14:35:08 +0000 (17:35 +0300)
more consistent with other cores out there

Main.cpp
OpAny.cpp

index 1f532a0..1637047 100644 (file)
--- a/Main.cpp
+++ b/Main.cpp
@@ -630,7 +630,7 @@ static void PrintFramework()
   ot("  ldr r6,[r7,#0x54]\n");\r
   ot("  ldrh r8,[r4],#2 ;@ Fetch next opcode\n");\r
   ot("  subs r5,r5,#44 ;@ Subtract cycles\n");\r
-  ot("  ldrge pc,[r6,r8,asl #2] ;@ Jump to opcode handler\n");\r
+  ot("  ldrgt pc,[r6,r8,asl #2] ;@ Jump to opcode handler\n");\r
   ot("  b CycloneEnd\n");\r
   ot("\n");\r
 \r
@@ -842,7 +842,7 @@ static void PrintFramework()
   ot("  ldr r6,[r7,#0x54]\n");\r
   ot("  ldrh r8,[r4],#2 ;@ Fetch next opcode\n");\r
   ot("  subs r5,r5,#50 ;@ Subtract cycles\n");\r
-  ot("  ldrge pc,[r6,r8,asl #2] ;@ Jump to opcode handler\n");\r
+  ot("  ldrgt pc,[r6,r8,asl #2] ;@ Jump to opcode handler\n");\r
   ot("  b CycloneEnd\n");\r
   ot("\n");\r
 #endif\r
@@ -855,7 +855,7 @@ static void PrintFramework()
   ot("  cmp r5,#0\n");\r
   ot("  orr r0,r0,#2 ;@ go to trace mode\n");\r
   ot("  str r0,[r7,#0x58]\n");\r
-  ot("  blt CycloneEnd\n"); // should take care of situation where we come here when already tracing\r
+  ot("  ble CycloneEnd\n"); // should take care of situation where we come here when already tracing\r
   ot(";@ CheckInterrupt:\n");\r
   ot("  movs r0,r1,lsr #24 ;@ Get IRQ level\n");\r
   ot("  beq CycloneDoTrace\n");\r
@@ -898,13 +898,13 @@ static void PrintFramework()
   ot("  bl Exception\n");\r
   ot("  ldrh r8,[r4],#2 ;@ Fetch next opcode\n");\r
   ot("  subs r5,r5,#34 ;@ Subtract cycles\n");\r
-  ot("  ldrge pc,[r6,r8,asl #2] ;@ Jump to opcode handler\n");\r
+  ot("  ldrgt pc,[r6,r8,asl #2] ;@ Jump to opcode handler\n");\r
   ot("  b CycloneEnd\n");\r
   ot("\n");\r
   ot("TraceDisabled%s\n", ms?"":":");\r
   ot("  ldrh r8,[r4],#2 ;@ Fetch next opcode\n");\r
   ot("  cmp r5,#0\n");\r
-  ot("  ldrge pc,[r6,r8,asl #2] ;@ Jump to opcode handler\n");\r
+  ot("  ldrgt pc,[r6,r8,asl #2] ;@ Jump to opcode handler\n");\r
   ot("  b CycloneEnd\n");\r
   ot("\n");\r
 #endif\r
index 9d45a01..63a7e1f 100644 (file)
--- a/OpAny.cpp
+++ b/OpAny.cpp
@@ -112,7 +112,7 @@ void OpEnd(int sea, int tea)
   }\r
   if (opend_check_interrupt)\r
   {\r
-    ot("  blt CycloneEnd\n");\r
+    ot("  ble CycloneEnd\n");\r
     ot(";@ CheckInterrupt:\n");\r
     if (!opend_check_trace)\r
       ot("  ldr r1,[r7,#0x44]\n");\r
@@ -126,7 +126,7 @@ void OpEnd(int sea, int tea)
   }\r
   else\r
   {\r
-    ot("  ldrge pc,[r6,r8,asl #2] ;@ Jump to opcode handler\n");\r
+    ot("  ldrgt pc,[r6,r8,asl #2] ;@ Jump to opcode handler\n");\r
     ot("  b CycloneEnd\n");\r
   }\r
   ot("\n");\r