T{ MAX-INT MIN-INT > -> <TRUE> }T
T{ MAX-INT 0 > -> <TRUE> }T
-." HEY! U< IS NOT IMPLEMENTED!" CR
-\ T{ 0 1 U< -> <TRUE> }T
-\ T{ 1 2 U< -> <TRUE> }T
-\ T{ 0 MID-UINT U< -> <TRUE> }T
-\ T{ 0 MAX-UINT U< -> <TRUE> }T
-\ T{ MID-UINT MAX-UINT U< -> <TRUE> }T
-\ T{ 0 0 U< -> <FALSE> }T
-\ T{ 1 1 U< -> <FALSE> }T
-\ T{ 1 0 U< -> <FALSE> }T
-\ T{ 2 1 U< -> <FALSE> }T
-\ T{ MID-UINT 0 U< -> <FALSE> }T
-\ T{ MAX-UINT 0 U< -> <FALSE> }T
-\ T{ MAX-UINT MID-UINT U< -> <FALSE> }T
+T{ 0 1 U< -> <TRUE> }T
+T{ 1 2 U< -> <TRUE> }T
+T{ 0 MID-UINT U< -> <TRUE> }T
+T{ 0 MAX-UINT U< -> <TRUE> }T
+T{ MID-UINT MAX-UINT U< -> <TRUE> }T
+T{ 0 0 U< -> <FALSE> }T
+T{ 1 1 U< -> <FALSE> }T
+T{ 1 0 U< -> <FALSE> }T
+T{ 2 1 U< -> <FALSE> }T
+T{ MID-UINT 0 U< -> <FALSE> }T
+T{ MAX-UINT 0 U< -> <FALSE> }T
+T{ MAX-UINT MID-UINT U< -> <FALSE> }T
T{ 0 1 MIN -> 0 }T
T{ 1 2 MIN -> 1 }T
T{ MAX-INT MAX-INT M* MAX-INT SM/REM -> 0 MAX-INT }T
-\ T{ 0 0 1 UM/MOD -> 0 0 }T
-\ T{ 1 0 1 UM/MOD -> 0 1 }T
-\ T{ 1 0 2 UM/MOD -> 1 0 }T
-\ T{ 3 0 2 UM/MOD -> 1 1 }T
-\ T{ MAX-UINT 2 UM* 2 UM/MOD -> 0 MAX-UINT }T
-\ T{ MAX-UINT 2 UM* MAX-UINT UM/MOD -> 0 2 }T
-\ T{ MAX-UINT MAX-UINT UM* MAX-UINT UM/MOD -> 0 MAX-UINT }T
+T{ 0 0 1 UM/MOD -> 0 0 }T
+T{ 1 0 1 UM/MOD -> 0 1 }T
+T{ 1 0 2 UM/MOD -> 1 0 }T
+T{ 3 0 2 UM/MOD -> 1 1 }T
+T{ MAX-UINT 2 UM* 2 UM/MOD -> 0 MAX-UINT }T
+T{ MAX-UINT 2 UM* MAX-UINT UM/MOD -> 0 2 }T
+T{ MAX-UINT MAX-UINT UM* MAX-UINT UM/MOD -> 0 MAX-UINT }T
: IFFLOORED
[ -3 2 / -2 = INVERT ] LITERAL IF POSTPONE \ THEN ;
state.push(dcell);
state.push(dcell >> (sizeof(Cell) * 8));
break;
+ case 35: // u<
+ cell = state.pop();
+ state.top() = static_cast<Addr>(state.top()) <
+ static_cast<Addr>(cell) ? -1 : 0;
+ break;
+ case 36: // um/mod
+ cell = state.pop();
+ dcell = state.pop();
+ dcell <<= sizeof(Cell) * 8;
+ dcell |= static_cast<Addr>(state.pop());
+
+ state.push(static_cast<DoubleAddr>(dcell) %
+ static_cast<Addr>(cell));
+ state.push(static_cast<DoubleAddr>(dcell) /
+ static_cast<Addr>(cell));
+ break;
default:
state.push(index - WordCount);
break;