Esempio n. 1
0
 public static void AuxDepth(Forth f)
 {
     f.PushInt64((long)(f.aStack.Depth));
 }
Esempio n. 2
0
 public static void OnePlus(Forth f)
 {
     long x = f.PopInt64();
     f.PushInt64(x + 1L);
 }
Esempio n. 3
0
 public static void OneMinus(Forth f)
 {
     long x = f.PopInt64();
     f.PushInt64(x - 1L);
 }
Esempio n. 4
0
 public static void Here(Forth f)
 {
     f.PushInt64((long)(f.here));
 }
Esempio n. 5
0
 public void RefForward(Forth f)
 {
     f.PushInt64((long)Here);
     Add(null);
 }
Esempio n. 6
0
 public static void Subtract(Forth f)
 {
     long b = f.PopInt64();
     long a = f.PopInt64();
     f.PushInt64(unchecked(a - b));
 }
Esempio n. 7
0
 public static void Divide(Forth f)
 {
     long b = f.PopInt64();
     long a = f.PopInt64();
     f.PushInt64(unchecked(a / b));
 }
Esempio n. 8
0
 public static void Int32At(Forth f)
 {
     long offset = f.PopInt64();
     uint l = unchecked((uint)f.byteMemory.ReadInt32(checked((int)offset)));
     f.PushInt64((long)l);
 }
Esempio n. 9
0
 public static void Int64At(Forth f)
 {
     long offset = f.PopInt64();
     long l = f.byteMemory.ReadInt64(checked((int)offset));
     f.PushInt64(l);
 }
Esempio n. 10
0
 public static void ByteAt(Forth f)
 {
     long offset = f.PopInt64();
     byte b = f.byteMemory[checked((int)offset)];
     f.PushInt64((long)b);
 }
Esempio n. 11
0
 public static void Int16At(Forth f)
 {
     long offset = f.PopInt64();
     ushort u = unchecked((ushort)f.byteMemory.ReadInt16(checked((int)offset)));
     f.PushInt64((long)u);
 }
Esempio n. 12
0
 public static void RealAddress(Forth f)
 {
     object obj = f.dStack.Pop();
     MemoryAccessor ma = (MemoryAccessor)obj;
     f.PushInt64(ma.RealAddress);
 }
Esempio n. 13
0
 public static void ByteArraySize(Forth f)
 {
     byte[] bArr = f.PopByteArray();
     f.PushInt64((long)(bArr.Length));
 }
Esempio n. 14
0
 public static void ByteArrayAt(Forth f)
 {
     byte[] bArr = f.PopByteArray();
     long index = f.PopInt64();
     if (index < 0 || index > ((long)(bArr.Length))) throw new IndexOutOfRangeException("Index " + index + " must be 0 to " + bArr.Length);
     f.PushInt64((long)(bArr[(int)index]));
 }
Esempio n. 15
0
 public static void Negate(Forth f)
 {
     long l = f.PopInt64();
     f.PushInt64(unchecked(-l));
 }
Esempio n. 16
0
 public static void ByteHereOp(Forth f)
 {
     f.PushInt64((long)f.byteHere);
 }
Esempio n. 17
0
 public static void Add(Forth f)
 {
     long b = f.PopInt64();
     long a = f.PopInt64();
     f.PushInt64(unchecked(a + b));
 }
Esempio n. 18
0
 public static void ByteMemorySize(Forth f)
 {
     f.PushInt64(f.byteMemory.Size);
 }
Esempio n. 19
0
 public static void Multiply(Forth f)
 {
     long b = f.PopInt64();
     long a = f.PopInt64();
     f.PushInt64(unchecked(a * b));
 }
Esempio n. 20
0
 public static void ByteMemoryUnused(Forth f)
 {
     f.PushInt64(f.byteMemory.Size - f.byteHere);
 }
Esempio n. 21
0
 public static void Modulus(Forth f)
 {
     long b = f.PopInt64();
     long a = f.PopInt64();
     f.PushInt64(unchecked(a % b));
 }
Esempio n. 22
0
 public static void Max(Forth f)
 {
     long b = f.PopInt64();
     long a = f.PopInt64();
     f.PushInt64((a > b) ? a : b);
 }
Esempio n. 23
0
 public static void Unused(Forth f)
 {
     f.PushInt64((long)(f.memory.Length - f.here));
 }
Esempio n. 24
0
 public void LabelBack(Forth f)
 {
     f.PushInt64((long)Here);
 }