Exemplo n.º 1
0
 public static void IsNotGreaterThanUnsigned(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushBool(a <= b);
 }
Exemplo n.º 2
0
 public static void IsNotLessThanUnsigned(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushBool(a >= b);
 }
Exemplo n.º 3
0
 public static void Equals(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushBool(a == b);
 }
Exemplo n.º 4
0
 public static void DoesNotEqual(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushBool(a != b);
 }
Exemplo n.º 5
0
 public static void And(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushUInt64(a & b);
 }
Exemplo n.º 6
0
 public static void Xor(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushUInt64(a ^ b);
 }
Exemplo n.º 7
0
 public static void UnsignedDivide(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushUInt64(unchecked(a / b));
 }
Exemplo n.º 8
0
 public static void UnsignedModulus(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushUInt64(unchecked(a % b));
 }
Exemplo n.º 9
0
 public static void Invert(Forth f)
 {
     ulong u = f.PopUInt64();
     f.PushUInt64(~u);
 }
Exemplo n.º 10
0
 public static void UnsignedMax(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushUInt64((a > b) ? a : b);
 }
Exemplo n.º 11
0
 public static void RShift(Forth f)
 {
     ulong shiftCount = f.PopUInt64();
     ulong value = f.PopUInt64();
     if (shiftCount > 63)
     {
         f.PushUInt64(0ul);
     }
     else
     {
         f.PushUInt64(value >> (int)shiftCount);
     }
 }
Exemplo n.º 12
0
 public static void ZeroExtendInt32(Forth f)
 {
     ulong value = f.PopUInt64();
     value &= 0xFFFFFFFFul;
     f.PushUInt64(value);
 }
Exemplo n.º 13
0
 public static void SignExtendInt32(Forth f)
 {
     ulong value = f.PopUInt64();
     if ((value & 0x80000000ul) != 0) value |= 0xFFFFFFFF80000000ul;
     else value &= 0x7FFFFFFFul;
     f.PushUInt64(value);
 }