コード例 #1
0
ファイル: Instruction.cs プロジェクト: ancientproject/runtime
        public virtual ulong Assembly()
        {
            OnCompile();
            Func<int> Shift = ShiftFactory.CreateByIndex(52);

            var op1 = ((OPCode & 0xF0UL) >> 4) << Shift();
            var op2 = ((OPCode & 0x0FUL) >> 0) << Shift();
            var rr1 = (ulong)_r1 << Shift();
            var rr2 = (ulong)_r2 << Shift();
            var rr3 = (ulong)_r3 << Shift();
            var ru1 = (ulong)_u1 << Shift();
            var ru2 = (ulong)_u2 << Shift();
            var rx1 = (ulong)_x1 << Shift();
            var rx2 = (ulong)_x2 << Shift();
            var rx3 = (ulong)_x3 << Shift();
            var rx4 = (ulong)_x4 << Shift();
            var ro1 = (ulong)_o1 << Shift();
            var ro2 = (ulong)_o2 << Shift();
            var ro3 = (ulong)_o3 << Shift();
            return op1 | op2 | rr1 |
                   rr2 | rr3 |
                   ru1 | ru2 |
                   rx1 | rx2 | rx3 | rx4 |
                   ro1 | ro2 | ro3;
        }
コード例 #2
0
ファイル: Instruction.cs プロジェクト: KiriosK/ancient_cpu
        public virtual ulong Assembly()
        {
            OnCompile();
            Func <int> Shift = ShiftFactory.Create(36);

            var op1 = ((OPCode & 0xF0UL) >> 4) << Shift();
            var op2 = ((OPCode & 0x0FUL) >> 0) << Shift();
            var rr1 = (ulong)_r1 << Shift();
            var rr2 = (ulong)_r2 << Shift();
            var rr3 = (ulong)_r3 << Shift();
            var ru1 = (ulong)_u1 << Shift();
            var ru2 = (ulong)_u2 << Shift();
            var rx1 = (ulong)_x1 << Shift();
            var rx2 = (ulong)_x2 << Shift();
            var rx3 = (ulong)_x3 << Shift();

            return(op1 | op2 | rr1 |
                   rr2 | rr3 |
                   ru1 | ru2 |
                   rx1 | rx2 | rx3);
        }