cyclone_gp2x.patch 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. diff --git a/OpArith.cpp b/OpArith.cpp
  2. index 96c7e0d..09517b8 100644
  3. --- a/OpArith.cpp
  4. +++ b/OpArith.cpp
  5. @@ -425,7 +425,7 @@ int OpAbcd(int op)
  6. ot(" add r1,r1,r0\n");
  7. ot(" add r1,r1,r6\n");
  8. ot(" mov r12,r1\n");
  9. - ot(" addhi r12,#6 ;@ Decimal adjust units\n");
  10. + ot(" addhi r12,r12,#6 ;@ Decimal adjust units\n");
  11. ot(" tst r1,#0x80\n");
  12. ot(" orreq r10,r10,#0x10000000 ;@ Undefined V behavior\n");
  13. ot(" cmp r12,#0x9f\n");
  14. @@ -452,7 +452,7 @@ int OpAbcd(int op)
  15. ot(" cmp r1,r12\n");
  16. ot(" orrlt r10,r10,#0x20000000 ;@ C\n");
  17. ot(" cmp r1,#0xff\n");
  18. - ot(" addhi r1,#0xa0\n");
  19. + ot(" addhi r1,r1,#0xa0\n");
  20. ot(" sub r12,r1,r12\n");
  21. ot(" movs r0,r12,lsl #24\n");
  22. ot(" bicmi r10,r10,#0x10000000 ;@ Undefined V behavior part II\n");
  23. diff --git a/OpLogic.cpp b/OpLogic.cpp
  24. index 012e35a..d40d814 100644
  25. --- a/OpLogic.cpp
  26. +++ b/OpLogic.cpp
  27. @@ -74,12 +74,12 @@ const char *TestCond(int m68k_cc, int invert)
  28. break;
  29. case 0x0e: // gt
  30. ot(" eor r0,r10,r10,lsl #3 ;@ gt: !Z && N == V\n");
  31. - ot(" orrs r0,r10,lsl #1\n");
  32. + ot(" orrs r0,r0,r10,lsl #1\n");
  33. cond="pl", icond="mi";
  34. break;
  35. case 0x0f: // le
  36. ot(" eor r0,r10,r10,lsl #3 ;@ le: Z || N != V\n");
  37. - ot(" orrs r0,r10,lsl #1\n");
  38. + ot(" orrs r0,r0,r10,lsl #1\n");
  39. cond="mi", icond="pl";
  40. break;
  41. default: