summaryrefslogtreecommitdiff
path: root/src/core/arm/interpreter/armemu.cpp
diff options
context:
space:
mode:
authorGravatar Normmatt2014-12-17 03:01:42 -0500
committerGravatar Lioncash2014-12-17 03:26:01 -0500
commit8045df14d2494e34c064b58bc1772101014172a2 (patch)
tree102049e08f52dba796ecf10c7bc0a84ef3306b16 /src/core/arm/interpreter/armemu.cpp
parentarmemu: Fix UXTAB/UXTAH (diff)
downloadyuzu-8045df14d2494e34c064b58bc1772101014172a2.tar.gz
yuzu-8045df14d2494e34c064b58bc1772101014172a2.tar.xz
yuzu-8045df14d2494e34c064b58bc1772101014172a2.zip
armemu: Implement REVSH
Diffstat (limited to 'src/core/arm/interpreter/armemu.cpp')
-rw-r--r--src/core/arm/interpreter/armemu.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/core/arm/interpreter/armemu.cpp b/src/core/arm/interpreter/armemu.cpp
index a62658b7c..71cae3db0 100644
--- a/src/core/arm/interpreter/armemu.cpp
+++ b/src/core/arm/interpreter/armemu.cpp
@@ -6076,10 +6076,10 @@ L_stm_s_takeabort:
6076 ror = 24; 6076 ror = 24;
6077 break; 6077 break;
6078 6078
6079 case 0xf3: 6079 case 0xf3: // REV
6080 DEST = ((RHS & 0xFF) << 24) | ((RHS & 0xFF00)) << 8 | ((RHS & 0xFF0000) >> 8) | ((RHS & 0xFF000000) >> 24); 6080 DEST = ((RHS & 0xFF) << 24) | ((RHS & 0xFF00)) << 8 | ((RHS & 0xFF0000) >> 8) | ((RHS & 0xFF000000) >> 24);
6081 return 1; 6081 return 1;
6082 case 0xfb: 6082 case 0xfb: // REV16
6083 DEST = ((RHS & 0xFF) << 8) | ((RHS & 0xFF00)) >> 8 | ((RHS & 0xFF0000) << 8) | ((RHS & 0xFF000000) >> 8); 6083 DEST = ((RHS & 0xFF) << 8) | ((RHS & 0xFF00)) >> 8 | ((RHS & 0xFF0000) << 8) | ((RHS & 0xFF000000) >> 8);
6084 return 1; 6084 return 1;
6085 default: 6085 default:
@@ -6206,9 +6206,13 @@ L_stm_s_takeabort:
6206 ror = 24; 6206 ror = 24;
6207 break; 6207 break;
6208 6208
6209 case 0xfb: 6209 case 0xfb: // REVSH
6210 printf("Unhandled v6 insn: revsh\n"); 6210 {
6211 return 0; 6211 DEST = ((RHS & 0xFF) << 8) | ((RHS & 0xFF00) >> 8);
6212 if (DEST & 0x8000)
6213 DEST |= 0xffff0000;
6214 return 1;
6215 }
6212 default: 6216 default:
6213 break; 6217 break;
6214 } 6218 }