예제 #1
0
 public void Push(IOperand u8)
 {
     if (!_isWriting)
     {
         throw new Exception("Push can only be used within a LiveQueue.Write() block");
     }
     Values[_indexReg].Set(u8);
     _indexReg.Inc();
 }
예제 #2
0
 public void PushOnce(IndexingRegister indexReg, U8 u8)
 {
     if (indexReg is RegisterX)
     {
         X.Set(WriteIndex);
     }
     else if (indexReg is RegisterY)
     {
         Y.Set(WriteIndex);
     }
     Values[indexReg].Set(u8);
     indexReg.Inc();
     Values[indexReg].Set(_stopVal);
     WriteIndex.Set(indexReg);
 }
예제 #3
0
 public void Unsafe_Pop(IndexingRegister indexReg) => indexReg.Inc();