Ejemplo n.º 1
0
        private void DecrementRegister(Register16Bit register)
        {
            ushort initialValue = registers.GetRegisterValue(register);
            ushort newValue     = (ushort)(initialValue - 1);

            registers.SetRegisterValue(register, newValue);
        }
Ejemplo n.º 2
0
        private void AddValueToRegister(Register16Bit register, ushort value)
        {
            ushort oldRegisterValue = registers.GetRegisterValue(register);
            ushort newRegisterValue = (ushort)(oldRegisterValue + value);

            registers.SetRegisterValue(register, newRegisterValue);
            ProcessFlags(oldRegisterValue, newRegisterValue);
        }
        public void Register_can_be_set_when_clock_is_false()
        {
            var register16Bit = new Register16Bit();

            register16Bit.Do(true, new Byte2(17), false);
            var output = register16Bit.Do(false, new Byte2(0), true);

            output.ToInt16().Should().Be(17);
        }
Ejemplo n.º 4
0
        public void SetRegisterValue(Register16Bit register, ushort value)
        {
            switch (register)
            {
            case Register16Bit.SP: SP = value; break;

            case Register16Bit.PC: PC = value; break;

            case Register16Bit.AF: AF = value; break;

            case Register16Bit.BC: BC = value; break;

            case Register16Bit.DE: DE = value; break;

            case Register16Bit.HL: HL = value; break;

            default: throw new ArgumentException("16-bit register does not exist: " + register.ToString());
            }
        }
Ejemplo n.º 5
0
        public ushort GetRegisterValue(Register16Bit register)
        {
            switch (register)
            {
            case Register16Bit.SP: return(SP);

            case Register16Bit.PC: return(PC);

            case Register16Bit.AF: return(AF);

            case Register16Bit.BC: return(BC);

            case Register16Bit.DE: return(DE);

            case Register16Bit.HL: return(HL);

            default: throw new ArgumentException("16-bit register does not exist: " + register.ToString());
            }
        }
Ejemplo n.º 6
0
 private void Pop(Register16Bit register)
 {
     registers.SetRegisterValue(register, Pop());
 }
Ejemplo n.º 7
0
 private void Push(Register16Bit register)
 {
     Push(registers.GetRegisterValue(register));
 }
Ejemplo n.º 8
0
 private void LoadIntoRegister(Register16Bit register, int value)
 {
     LoadIntoRegister(register, (ushort)value);
 }
Ejemplo n.º 9
0
 private void LoadIntoRegister(Register16Bit register, ushort value)
 {
     registers.SetRegisterValue(register, value);
 }