Exemplo n.º 1
0
        public void Push(ushort value)
        {
            var spAddress = GetRegister(Registers.SP);

            MemoryMapper.SetUInt16(spAddress, value);
            SetRegister(Registers.SP, (ushort)(spAddress - 2));
            StackFrameSize += 2;
        }
Exemplo n.º 2
0
        public ushort Pop()
        {
            var nextSpAddress = GetRegister(Registers.SP) + 2;

            SetRegister(Registers.SP, (ushort)nextSpAddress);
            StackFrameSize -= 2;

            return(MemoryMapper.GetUInt16((ushort)nextSpAddress));
        }
Exemplo n.º 3
0
 public void SetRegister(Registers reg, ushort value)
 {
     MemoryMapper.SetUInt16((ushort)RegisterMap[reg], value);
 }
Exemplo n.º 4
0
 public ushort GetRegister(Registers reg)
 {
     return(MemoryMapper.GetUInt16((ushort)RegisterMap[reg]));
 }