コード例 #1
0
            public override RiscVInstruction Decode(uint hInstr, RiscVDisassembler dasm)
            {
                if (!dasm.rdr.TryReadUInt16(out ushort hiword))
                {
                    return(dasm.CreateInvalidInstruction());
                }
                uint wInstr = (uint)hiword << 16;

                wInstr |= hInstr;
                return(subDecoders.Decode(wInstr, dasm));
            }
コード例 #2
0
ファイル: V850Disassembler.cs プロジェクト: ghmole/reko
        public override V850Instruction DisassembleInstruction()
        {
            this.addr = rdr.Address;
            if (!rdr.TryReadLeUInt16(out this.uInstr))
            {
                return(null);
            }
            displacement = 0;
            ops.Clear();
            var instr = rootDecoder.Decode(uInstr, this);

            instr.Address = addr;
            instr.Length  = (int)(rdr.Address - addr);
            return(instr);
        }