aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx/Cpu/Decoder/AOpCodeBReg.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-02-04 20:08:20 -0300
committergdkchan <gab.dark.100@gmail.com>2018-02-04 20:08:20 -0300
commitb7e1d9930db6d80fcb1f7c5c6b0aa627e42e6595 (patch)
tree8bee5d98f80eadaa141ece34c9d92621ed2b6806 /Ryujinx/Cpu/Decoder/AOpCodeBReg.cs
aloha
Diffstat (limited to 'Ryujinx/Cpu/Decoder/AOpCodeBReg.cs')
-rw-r--r--Ryujinx/Cpu/Decoder/AOpCodeBReg.cs24
1 files changed, 24 insertions, 0 deletions
diff --git a/Ryujinx/Cpu/Decoder/AOpCodeBReg.cs b/Ryujinx/Cpu/Decoder/AOpCodeBReg.cs
new file mode 100644
index 00000000..a71fc338
--- /dev/null
+++ b/Ryujinx/Cpu/Decoder/AOpCodeBReg.cs
@@ -0,0 +1,24 @@
+using ChocolArm64.Instruction;
+
+namespace ChocolArm64.Decoder
+{
+ class AOpCodeBReg : AOpCode
+ {
+ public int Rn { get; private set; }
+
+ public AOpCodeBReg(AInst Inst, long Position, int OpCode) : base(Inst, Position)
+ {
+ int Op4 = (OpCode >> 0) & 0x1f;
+ int Op2 = (OpCode >> 16) & 0x1f;
+
+ if (Op2 != 0b11111 || Op4 != 0b00000)
+ {
+ Emitter = AInstEmit.Und;
+
+ return;
+ }
+
+ Rn = (OpCode >> 5) & 0x1f;
+ }
+ }
+} \ No newline at end of file