aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx/Cpu/Decoder/AOpCodeBReg.cs
blob: c9c600af5b1fbd3614a90fef3bebec38dbe33b52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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, OpCode)
        {
            int Op4 = (OpCode >>  0) & 0x1f;
            int Op2 = (OpCode >> 16) & 0x1f;

            if (Op2 != 0b11111 || Op4 != 0b00000)
            {
                Emitter = AInstEmit.Und;

                return;
            }

            Rn = (OpCode >> 5) & 0x1f;
        }
    }
}