mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
41 lines
1.4 KiB
Diff
41 lines
1.4 KiB
Diff
diff --git a/OpArith.cpp b/OpArith.cpp
|
|
index 96c7e0d..09517b8 100644
|
|
--- a/OpArith.cpp
|
|
+++ b/OpArith.cpp
|
|
@@ -425,7 +425,7 @@ int OpAbcd(int op)
|
|
ot(" add r1,r1,r0\n");
|
|
ot(" add r1,r1,r6\n");
|
|
ot(" mov r12,r1\n");
|
|
- ot(" addhi r12,#6 ;@ Decimal adjust units\n");
|
|
+ ot(" addhi r12,r12,#6 ;@ Decimal adjust units\n");
|
|
ot(" tst r1,#0x80\n");
|
|
ot(" orreq r10,r10,#0x10000000 ;@ Undefined V behavior\n");
|
|
ot(" cmp r12,#0x9f\n");
|
|
@@ -452,7 +452,7 @@ int OpAbcd(int op)
|
|
ot(" cmp r1,r12\n");
|
|
ot(" orrlt r10,r10,#0x20000000 ;@ C\n");
|
|
ot(" cmp r1,#0xff\n");
|
|
- ot(" addhi r1,#0xa0\n");
|
|
+ ot(" addhi r1,r1,#0xa0\n");
|
|
ot(" sub r12,r1,r12\n");
|
|
ot(" movs r0,r12,lsl #24\n");
|
|
ot(" bicmi r10,r10,#0x10000000 ;@ Undefined V behavior part II\n");
|
|
diff --git a/OpLogic.cpp b/OpLogic.cpp
|
|
index 012e35a..d40d814 100644
|
|
--- a/OpLogic.cpp
|
|
+++ b/OpLogic.cpp
|
|
@@ -74,12 +74,12 @@ const char *TestCond(int m68k_cc, int invert)
|
|
break;
|
|
case 0x0e: // gt
|
|
ot(" eor r0,r10,r10,lsl #3 ;@ gt: !Z && N == V\n");
|
|
- ot(" orrs r0,r10,lsl #1\n");
|
|
+ ot(" orrs r0,r0,r10,lsl #1\n");
|
|
cond="pl", icond="mi";
|
|
break;
|
|
case 0x0f: // le
|
|
ot(" eor r0,r10,r10,lsl #3 ;@ le: Z || N != V\n");
|
|
- ot(" orrs r0,r10,lsl #1\n");
|
|
+ ot(" orrs r0,r0,r10,lsl #1\n");
|
|
cond="mi", icond="pl";
|
|
break;
|
|
default:
|