示例#1
0
        internal override void Emulate(EmuContext ctx)
        {
            //throw new System.NotImplementedException();
            ulong num2 = (ulong)ctx.ReadByte();

            num2 |= (ulong)ctx.ReadByte() << 8;
            num2 |= (ulong)ctx.ReadByte() << 16;
            num2 |= (ulong)ctx.ReadByte() << 24;
            int    lol     = int.MinValue;
            ulong  num3    = ((num2 & (ulong)lol) != 0UL) ? 18446744069414584320UL : 0UL;
            VMSlot newslot = new VMSlot();

            newslot.U8 = (num3 | num2);
            ctx.Stack.Push(newslot);
        }
示例#2
0
        internal override void Emulate(EmuContext ctx)
        {
            //throw new System.NotImplementedException();
            byte   b     = ctx.ReadByte();
            VMSlot value = ctx.Registers[(int)b];

            ctx.Stack.Push(value);
        }
示例#3
0
        internal override void Emulate(EmuContext ctx)
        {
            var regid = ctx.ReadByte();
            var slot  = ctx.Registers[regid];

            ctx.Stack.Push(new VMSlot {
                U1 = slot.U1
            });
        }
示例#4
0
        internal override void Emulate(EmuContext ctx)
        {
            //throw new System.NotImplementedException();
            byte   b      = ctx.ReadByte();
            VMSlot vmslot = ctx.Registers[(int)b];

            ctx.Stack.Push(new VMSlot()
            {
                U8 = vmslot.U8
            });
        }
示例#5
0
        internal override void Emulate(EmuContext ctx)
        {
            //throw new System.NotImplementedException();
            ulong num2 = (ulong)ctx.ReadByte();

            num2 |= (ulong)ctx.ReadByte() << 8;
            num2 |= (ulong)ctx.ReadByte() << 16;
            num2 |= (ulong)ctx.ReadByte() << 24;
            num2 |= (ulong)ctx.ReadByte() << 32;
            num2 |= (ulong)ctx.ReadByte() << 40;
            num2 |= (ulong)ctx.ReadByte() << 48;
            num2 |= (ulong)ctx.ReadByte() << 56;
            ctx.Stack.Push(new VMSlot()
            {
                U8 = num2
            });
        }
示例#6
0
文件: Pop.cs 项目: Z01wvay/Rhydon
        internal override void Emulate(EmuContext ctx)
        {
            var slot  = ctx.Stack.Pop();
            var regid = ctx.ReadByte();

            if (regid == ctx.Constants.REG_SP || regid == ctx.Constants.REG_BP && slot.O is StackRef)
            {
                ctx.Registers[regid] = new VMSlot {
                    U4 = ((StackRef)slot.O).StackPos
                }
            }
            ;
            else
            {
                ctx.Registers[regid] = slot;
            }
        }
示例#7
0
        internal override void Emulate(EmuContext ctx)
        {
            var regid = ctx.ReadByte();
            var slot  = ctx.Registers[regid];

            if (regid == ctx.Constants.REG_SP || regid == Ctx.Constants.REG_BP)
            {
                ctx.Stack.Push(new VMSlot()
                {
                    O = new StackRef(slot.U4)
                });
            }
            else
            {
                ctx.Stack.Push(new VMSlot {
                    U4 = slot.U4
                });
            }
        }