internal ushort Pop() { var value = ReadU16(InstructionHelper.SegmentToAddress(GetRegister(Register.SS), GetRegister(Register.SP))); registers[(int)Register.SP] += 2; return(value); }
ushort IInstructionFetcher.FetchU16() { var value = _cpu.ReadU16(InstructionHelper.SegmentToAddress( _cpu.GetRegister(Register.CS), (ushort)(_cpu.GetRegister(Register.IP) + _fetched))); _fetched += 2; return(value); }
internal void Push(ushort value) { registers[(int)Register.SP] -= 2; WriteU16(InstructionHelper.SegmentToAddress(GetRegister(Register.SS), GetRegister(Register.SP)), value); }