Esempio n. 1
0
            public override SparcInstruction Decode(uint wInstr, SparcDisassembler dasm)
            {
                uint             i     = ((wInstr >> 25) & 0xF) + offset;
                SparcInstruction instr = branchOps[i].Decode(wInstr, dasm);

                instr.InstructionClass |= ((wInstr & (1u << 29)) != 0) ? InstrClass.Annul : 0;
                return(instr);
            }
Esempio n. 2
0
        private SparcInstruction Instr(Mnemonic mnemonic, params object[] ops)
        {
            var instr = new SparcInstruction
            {
                Mnemonic = mnemonic,
                Operands = ops.Select(Op).ToArray()
            };

            return(instr);
        }
Esempio n. 3
0
        private SparcInstruction Instr(Opcode opcode, params object[] ops)
        {
            var instr = new SparcInstruction {
                Opcode = opcode
            };

            if (ops.Length > 0)
            {
                instr.Op1 = Op(ops[0]);
                if (ops.Length > 1)
                {
                    instr.Op2 = Op(ops[1]);
                    if (ops.Length > 2)
                    {
                        instr.Op3 = Op(ops[2]);
                    }
                }
            }
            return(instr);
        }