BLOCK NUMBER 81 ( CF83-8 Uncontrolled Reference Words Plus Set - Load Block ) ( Copyright [ c ] 1992 by BDS Software ) decimal cr cr .( Loading Uncontrolled Reference Words Plus Set ) : thrx ( +n1 +n2 -- ) 1+ swap cr do i dup 81 - cr 3 spaces ." Loading Block " space . ." of 25 " load loop ; 82 106 thrx cr cr .( Uncontrolled Reference Words Plus Set LOADED. ) BLOCK NUMBER 82 ( CF83-8 Uncontrolled Reference Words Set Plus - 01/25 ) ( Copyright [ c ] 1992 by BDS Software ) decimal : !bits ( 16b1 addr 16b2 -- ) dup not 2 pick @ and 3 roll rot and or swap ! ; : ** ( n1 +n2 -- n3 ) dup 0= if drop drop 1 else over swap 1- 0 do over * loop swap drop then ; : 1+! ( addr -- ) dup @ 1+ swap ! ; : 1-! ( addr -- ) dup @ 1- swap ! ; : <> ( w1 w2 -- flag ) = not ; : ; 16 base ! create >< ( 16b1 -- 16b2 ) here dup 2- ! 3406 , 3706 , 1E89 , 3606 , 3506 , AEA1 , 6E91 , decimal BLOCK NUMBER 83 ( CF83-8 Uncontrolled Reference Words Set Plus - 02/25 ) ( Copyright [ c ] 1992 by BDS Software ) decimal 16 base ! create again ( -- ) 0007 here 2- ! 6779 , 6948 , 6A10 , 000D , immediate : dpl ( -- addr ) 0048 ; : fld ( -- addr ) 004A ; decimal : @bits ( addr 16b1 -- 16b2 ) swap @ and ; : ascii ( -- char ) 32 word 1+ c@ state @ if [compile] literal then ; immediate : ashift ( 16b1 n -- 16b2 ) dup dup 0= if drop drop else 0> if 0 do 2 * loop else negate 0 do 2/ loop then then ; : b/buf ( -- 1024 ) 1024 ; : h. ( u -- ) base @ swap 16 base ! . base ! ; BLOCK NUMBER 84 ( CF83-8 Uncontrolled Reference Words Set Plus - 03/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Mask - 1/2 ) decimal 16 base ! create maskl ( +n -- 16b ) here dup 2- ! 3416 , 3710 , CC80 , 0030 , 1F27 , 65C3 , 4000 , 301F , 275E , C320 , 0030 , 1F27 , 57C3 , 1000 , 301F , 2750 , C308 , 0030 , 1F27 , 49C3 , 0400 , 301F , 2742 , C302 , 0030 , 1F27 , 3BC3 , 0100 , 301F , 2734 , C300 , 8030 , 1F27 , 2DC3 , 0040 , 301F , 2726 , C300 , 2030 , 1F27 , 1FC3 , 0010 , 301F , 2718 , C300 , 0830 , 1F27 , 11C3 , 0004 , 301F , 270A , C300 , 0230 , 1F27 , 03C3 , 0001 , 3606 , 3516 , AEA1 , 6E91 , decimal BLOCK NUMBER 85 ( CF83-8 Uncontrolled Reference Words Set Plus - 04/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Mask - 2/2 ) decimal 16 base ! create maskr ( +n -- 16b ) here dup 2- ! 3416 , 3710 , CC00 , 0130 , 1F27 , 65C3 , 0002 , 301F , 275E , C300 , 0430 , 1F27 , 57C3 , 0008 , 301F , 2750 , C300 , 1030 , 1F27 , 49C3 , 0020 , 301F , 2742 , C300 , 4030 , 1F27 , 3BC3 , 0080 , 301F , 2734 , C301 , 0030 , 1F27 , 2DC3 , 0200 , 301F , 2726 , C304 , 0030 , 1F27 , 1FC3 , 0800 , 301F , 2718 , C310 , 0030 , 1F27 , 11C3 , 2000 , 301F , 270A , C340 , 0030 , 1F27 , 03C3 , 8000 , 3606 , 3516 , AEA1 , 6E91 , decimal : mask ( n -- 16b ) dup dup 0= if drop else 0> if maskl else negate maskr then then ; BLOCK NUMBER 86 ( CF83-8 Uncontrolled Reference Words Set Plus - 05/25 ) ( Copyright [ c ] 1992 by BDS Software ) decimal 16 base ! create ms ( u -- ) here dup 2- ! 3436 , 3710 , FCFF , FE10 , 838C , 1B27 , 0610 , 8E00 , 4920 , 0410 , 8E00 , 491F , 2083 , 0001 , 1083 , 0000 , 26F7 , 301F , 8C00 , 0026 , EE35 , 36AE , A16E , 9112 , create rotate ( 16b1 n -- 16b2 ) here dup 2- ! 3416 , 3710 , 3706 , 8C00 , 0027 , 1C2D , 0E49 , 3401 , 4635 , 0159 , 4930 , 1F26 , F420 , 0C56 , 3401 , 5935 , 0146 , 5630 , 0126 , F436 , 0635 , 16AE , A16E , 9112 , create shift ( 16b1 n -- 16b2 ) here dup 2- ! 3416 , 3710 , 3706 , 8C00 , 0027 , 102D , 0858 , 4930 , 1F26 , FA20 , 0644 , 5630 , 0126 , FA36 , 0635 , 16AE , A16E , 9112 , decimal : words ( -- ) cr 63 2443 @ @ begin count 127 and rot dup 2 pick 2+ < if drop 63 cr then over 2+ - rot rot over over + @ rot rot type 2 spaces dup 0= until drop drop cr ; BLOCK NUMBER 87 ( CF83-8 Uncontrolled Reference Words Set Plus - 06/25 ) ( Copyright [ c ] 1992 by BDS Software ) decimal 16 base ! create n? ( addr -- [ false ] or [ n true ] or [ d modtrue ] ) here dup 2- ! 3436 , 3720 , 4FE6 , A431 , 211F , 01BD , 5A82 , 3536 , AEA1 , 6E91 , decimal : number ( addr -- d ) dup n? dup 0= if swap count type -1 abort" ? " else -1 = if 0 then rot drop then ; : o. ( u -- ) base @ swap 8 base ! . base ! ; : s0 ( -- addr ) 39 ; : nand ( 16b1 16b2 -- 16b3 ) and not ; : nor ( 16b1 16b2 -- 16b3 ) or not ; : loads ( u -- ) create , does> ( addr -- ) @ load ; : last ( -- addr ) 31 ; : index ( u1 u2 -- ) cr 1+ swap do i block 64 type loop ; BLOCK NUMBER 88 ( CF83-8 Uncontrolled Reference Words Set Plus - 07/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Case Structure Words - 1/2 ) decimal 16 base ! variable nof -1 constant true : case ( -- ) compile >r 0 nof ! ; immediate : of= ( -- addr ) compile r@ compile = 6939 , here 0 , 1 nof +! ; immediate : of< ( -- addr ) compile r@ compile swap compile < 6939 , here 0 , 1 nof +! ; immediate : of> ( -- addr ) compile r@ compile swap compile > 6939 , here 0 , 1 nof +! ; immediate : ofrng ( -- addr ) compile r@ compile > compile swap compile r@ compile < compile and 6939 , here 0 , 1 nof +! ; immediate decimal BLOCK NUMBER 89 ( CF83-8 Uncontrolled Reference Words Set Plus - 08/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Case Structure Words - 2/2 ) decimal 16 base ! : ofother ( -- addr ) compile true 6939 , here 0 , 1 nof +! ; immediate : endof ( addr1 -- addr2 ) 6948 , here 0 , swap here swap ! ; immediate : endcase ( addr1...addrn -- ) nof @ 0 do here swap ! loop compile r> compile drop ; immediate decimal BLOCK NUMBER 90 ( CF83-8 Uncontrolled Reference Words Set Plus - 09/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( String Operations Package - 1/8 ) decimal : $( ( -- ) [compile] ( ; immediate create $tack 1024 allot here dup variable $p $p ! constant $0 ' $tack 2+ constant $top : $p@ ( -- addr ) $( -- ) $p @ ; : $@ ( addr -- ) $( -- $ ) count 1+ swap 1- $p @ 2 pick - 2 pick cmove> $p @ swap - $p ! ; : $! ( addr -- ) $( $ -- ) $p @ count 1+ swap 1- rot 2 pick cmove $p @ + $p ! ; : $depth ( -- u ) $( -- ) 0 $p @ begin dup $0 u< while swap 1+ swap count + repeat drop ; : $n@ ( u -- addr ) $( -- ) dup 0> if 1- $p @ swap -1 do count + loop else drop $p @ then ; BLOCK NUMBER 91 ( CF83-8 Uncontrolled Reference Words Set Plus - 10/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( String Operations Package - 2/8 ) decimal : $len ( -- u ) $( -- ) $p @ count swap drop ; : $drop ( -- ) $( $ -- ) $p @ count + $p ! ; : $dup ( -- ) $( $ -- $ $ ) $p @ $@ ; : $swap ( -- ) $( $1 $0 -- $0 $1 ) 1 $n@ $@ $p @ 1 $n@ 3 $n@ $p ! $@ $@ ; : $over ( -- ) $( $1 $0 -- $1 $0 $1 ) 1 $n@ $@ ; : $rot ( -- ) $( $2 $1 $0 -- $1 $0 $2 ) 2 $n@ $@ $p @ 1 $n@ 2 $n@ 4 $n@ $p ! $@ $@ $@ ; : $pick ( +n -- ) $( $n...$0 -- $n...$0 $n ) $n@ $@ ; : $roll ( +n -- ) $( $n-1 $n $n+1...$0 -- $n-1 $n+1...$0 $n ) dup $n@ $@ dup 1+ 0 do i $n@ swap loop dup 2+ $n@ $p ! 1+ 0 do $@ loop ; BLOCK NUMBER 92 ( CF83-8 Uncontrolled Reference Words Set Plus - 11/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( String Operations Package - 3/8 ) decimal : $. ( -- ) $( $ -- ) $p @ count type $drop ; : $+ ( -- ) $( $1 $0 -- $1+0 ) $p @ c@ 1 $n@ c@ + $p @ 1+ $p @ 2+ $p @ c@ cmove> $p @ 1+ c! 1 $p +! ; : $0= ( -- flag ) $( -- ) $p @ c@ 0= ; : $word ( char -- ) $( -- $ ) word $@ ; : $l= ( -- flag ) $( -- ) 1 $n@ c@ $p @ c@ = ; : $l< ( -- flag ) $( -- ) 1 $n@ c@ $p @ c@ < ; : $l> ( -- flag ) $( -- ) 1 $n@ c@ $p @ c@ > ; : $t= ( -- flag ) $( -- ) -1 1 $n@ c@ $p @ c@ min 1+ 1 do 1 $n@ i + c@ $p @ i + c@ > if drop 0 leave then 1 $n@ i + c@ $p @ i + c@ < if drop 0 leave then loop ; BLOCK NUMBER 93 ( CF83-8 Uncontrolled Reference Words Set Plus - 12/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( String Operations Package - 4/8 ) decimal : $t< ( -- flag ) $( -- ) 0 1 $n@ c@ $p @ c@ min 1+ 1 do 1 $n@ i + c@ $p @ i + c@ < if drop -1 leave then 1 $n@ i + c@ $p @ i + c@ > if leave then loop ; : $t> ( -- flag ) $( -- ) 0 1 $n@ c@ $p @ c@ min 1+ 1 do 1 $n@ i + c@ $p @ i + c@ > if drop -1 leave then 1 $n@ i + c@ $p @ i + c@ < if leave then loop ; : $= ( -- flag ) $( -- ) $l= $t= and ; : $< ( -- flag ) $( -- ) $t= $l< and $t< or ; : $> ( -- flag ) $( -- ) $t= $l> and $t> or ; : $left ( +n -- ) $( -- $ ) $p @ 1+ $top 1+ 2 pick cmove $top c! $top $@ ; BLOCK NUMBER 94 ( CF83-8 Uncontrolled Reference Words Set Plus - 13/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( String Operations Package - 5/8 ) decimal : $right ( +n -- ) $( -- $ ) 1 $n@ over - $top 1+ 2 pick cmove $top c! $top $@ ; : $mid ( +n1 +n2 -- ) $( -- $ ) $p @ 1+ rot + $top 1+ 2 pick cmove $top c! $top $@ ; : $>mid ( +n -- ) $( $1 $0 -- $1modified $0 ) $p @ 1+ 1 $n@ rot + $p @ c@ cmove ; : $match ( -- [ false ] or [ addr true ] ) $( -- ) 0 1 $n@ c@ $p @ c@ - 1+ 0 do i $p @ c@ $swap $mid $rot $swap $= if $drop drop 1 $n@ 1+ i + -1 leave then $drop loop ; : $s. ( -- ) $( -- ) $depth 0 do i $n@ cr count type loop ; : $expect ( -- ) $( -- $ ) $top 1+ 255 expect span @ $top c! $top $@ ; BLOCK NUMBER 95 ( CF83-8 Uncontrolled Reference Words Set Plus - 14/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( String Operations Package - 6/8 ) decimal : $clr ( -- ) $( $n...$0 -- ) $0 $p ! ; : $val ( -- d ) $( $ -- ) $p @ number $drop ; : $str ( d -- ) $( -- $ ) swap over over over 0 0 d< if dnegate then <# 37 hold #s rot sign #> dup 1+ $p @ swap - dup $p ! over over c! 1+ swap cmove ; : $string ( u 8b -- ) $( -- $ ) swap dup 1+ $p @ swap - dup $p ! over over c! 1+ swap 0 do over over i + c! loop drop drop ; : $max ( -- ) $( $1 $0 -- $? ) $< if $swap then $drop ; : $min ( -- ) $( $1 $0 -- $? ) $> if $swap then $drop ; : $cnt ( u1 -- u2 ) $( -- ) $n@ count swap drop ; : $lower ( -- ) $( $ -- $lc ) $p @ c@ 0 do $p @ 1+ i + c@ dup dup 64 > swap 91 < and if 32 + then $p @ 1+ i + c! loop ; BLOCK NUMBER 96 ( CF83-8 Uncontrolled Reference Words Set Plus - 15/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( String Operations Package - 7/8 ) decimal : $upper ( -- ) $( $ -- $uc ) $p @ c@ 0 do $p @ 1+ i + c@ dup dup 96 > swap 123 < and if 32 - then $p @ 1+ i + c! loop ; : $nip ( -- ) $( $1 $0 -- $0 ) $swap $drop ; : $tuck ( -- ) $( $1 $0 -- $0 $1 $0 ) $swap $over ; : $-rot ( -- ) $( $2 $1 $0 -- $0 $2 $1 ) $rot $rot ; : $null ( -- ) $( -- $ ) -1 $p +! 0 $p @ c! ; : $leading+ ( u 8b -- ) $( $ -- $new ) $string $+ ; : $trailing+ ( u 8b -- ) $( $ -- $new ) $string $swap $+ ; : $leading- ( 8b -- ) $( $ -- $new ) $p @ c@ 0 do $p @ 1+ i + c@ over = not if $p @ c@ i - $right $swap $drop leave then loop drop ; BLOCK NUMBER 97 ( CF83-8 Uncontrolled Reference Words Set Plus - 16/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( String Operations Package - 8/8 ) decimal : $trailing- ( 8b -- ) $( $ -- $new ) $p @ c@ 0 do 1 $n@ 1- i - c@ over = not if $p @ c@ i - $left $swap $drop leave then loop drop ; : $variable ( u -- ) $( -- ) create 1+ allot ; : $constant ( -- ) $( $ -- ) create here $p @ c@ 1+ allot $! does> ( -- ) $( -- $ ) $@ ; : $room ( -- u ) $( -- ) $p @ $top - ; BLOCK NUMBER 98 ( CF83-8 Uncontrolled Reference Words Set Plus - 17/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Printer Control Words - 1/1 ) decimal 16 base ! create pcrlf ( -- ) here dup 2- ! BD4F , 8AAE , A16E , 9112 , create pcr ( -- ) here dup 2- ! BD4F , 91AE , A16E , 9112 , create plf ( -- ) here dup 2- ! BD4F , 9DAE , A16E , 9112 , create pemit ( 16b -- ) here dup 2- ! BD4F , A9AE , A16E , 9112 , create pspace ( -- ) here dup 2- ! BD4F , BBAE , A16E , 9112 , create pspaces ( +n -- ) here dup 2- ! BD4F , C7AE , A16E , 9112 , create ptype ( addr +n -- ) here dup 2- ! BD4F , DAAE , A16E , 9112 , create p. ( n -- ) here dup 2- ! BD4F , EBAE , A16E , 9112 , create pu. ( n -- ) here dup 2- ! BD50 , 19AE , A16E , 9112 , decimal BLOCK NUMBER 99 ( CF83-8 Uncontrolled Reference Words Set Plus - 18/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Word Structure Relations - 1/2 ) decimal : >body ( addr1 -- addr2 ) 2+ ; : >link ( addr1 -- addr2 ) 4 - ; : >flink ( addr1 -- addr2 ) 2- ; : >name ( addr1 -- addr2 ) 4 - @ dup c@ 127 and + 3 + @ ; : body> ( addr1 -- addr2 ) 2- ; : link> ( addr1 -- addr2 ) 4 + ; : flink> ( addr1 -- addr2 ) 2+ ; : name> ( addr1 -- addr2 ) dup c@ 127 and + 5 + ; : n>link ( addr1 -- addr2 ) dup c@ 127 and + 1+ ; : n>flink ( addr1 -- addr2 ) dup c@ 127 and + 3 + ; : n>body ( addr1 -- addr2 ) dup c@ 127 and + 7 + ; : l>name ( addr1 -- addr2 ) link> >name ; BLOCK NUMBER 100 ( CF83-8 Uncontrolled Reference Words Set Plus - 19/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Word Structure Relations - 2/2 ) decimal : l>flink ( addr1 -- addr2 ) 2+ ; : l>body ( addr1 -- addr2 ) 6 + ; : f>name ( addr1 -- addr2 ) flink> >name ; : f>link ( addr1 -- addr2 ) 2- ; : f>body ( addr1 -- addr2 ) 4 + ; : b>name ( addr1 -- addr2 ) body> >name ; : b>link ( addr1 -- addr2 ) 6 - ; : b>flink ( addr1 -- addr2 ) 4 - ; BLOCK NUMBER 101 ( CF83-8 Uncontrolled Reference Words Set Plus - 20/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Miscellaneous Words - 1/6 ) decimal 16 base ! : stdspeed ( -- ) 0 FFD6 c! ; : highspeed ( -- ) 0 FFD7 c! ; create cls ( -- ) here dup 2- ! 3416 , BD3B , DCCC , 0000 , DDF3 , DDF5 , 3516 , AEA1 , 6E91 , decimal : >= ( n1 n2 -- flag ) over over > rot rot = or ; : <= ( n1 n2 -- flag ) over over < rot rot = or ; : -rot ( n1 n2 n3 -- n3 n1 n2 ) rot rot ; : nip ( n1 n2 -- n2 ) swap drop ; : tuck ( n1 n2 -- n2 n1 n2 ) swap over ; : fence ( -- ) 27 @ 2555 ! ; : only ( -- ) forth ; : also ( -- ) 2443 @ 2447 ! ; BLOCK NUMBER 102 ( CF83-8 Uncontrolled Reference Words Set Plus - 21/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Miscellaneous Words - 2/6 ) decimal 16 base ! create typf ( addr +n -- ) here dup 2- ! BD4F , 02AE , A16E , 9112 , create bye ( -- ) here dup 2- ! 3416 , 8E00 , CBCC , 8600 , ED81 , CCB7 , FFED , 81CC , DE97 , ED81 , CC71 , 7EED , 81FC , FFFE , ED84 , 0ECB , decimal variable bcopyv : bcopy ( u1 u2 u3 -- ) bcopyv ! 1+ swap do i block dup 8704 = if bcopyv @ 56 ! then dup 9728 = if bcopyv @ 58 ! then dup 10752 = if bcopyv @ 60 ! then dup 11776 = if bcopyv @ 62 ! then drop update 1 bcopyv +! loop flush ; BLOCK NUMBER 103 ( CF83-8 Uncontrolled Reference Words Set Plus - 22/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Miscellaneous Words - 3/6 ) decimal 16 base ! create dliteral ( 32b -- ) here dup 2- ! 3436 , 9E1B , 108E , 51D8 , 10AF , 8137 , 2610 , AF81 , ED81 , 9F1B , 3536 , AEA1 , 6E91 , immediate : fblock ( +n u -- addr ) swap dup 0= if 3 40 c! 2 41 c! 1 42 c! 0 43 c! then dup 1 = if 3 41 c! 2 42 c! 1 43 c! 0 40 c! then dup 2 = if 3 42 c! 2 43 c! 1 40 c! 0 41 c! then 3 = if 3 43 c! 2 40 c! 1 41 c! 0 42 c! then 0 44 ! 0 46 ! FFFF 38 ! FFFF 3A ! FFFF 3C ! FFFF 3E ! block ; decimal BLOCK NUMBER 104 ( CF83-8 Uncontrolled Reference Words Set Plus - 23/25 ) ( Copyright [ c ] 1992 by BDS Software ) decimal 16 base ! create isqr ( ud -- u ) here dup 2- ! 3406 , 4F5F , ED8D , 00B8 , ED8D , 00BA , CCFF , FFED , 8D00 , B5ED , 8D00 , ABED , 8D00 , A920 , 12EC , 8D00 , A1A3 , 8D00 , 9B44 , 56E3 , 8D00 , 95ED , 8D00 , 95DD , CBDD , CDBD , 4327 , ECC4 , 1093 , CF25 , 0D22 , 38EC , 4210 , 93D1 , 2504 , 222F , 2066 , EC8D , 0078 , ED8D , 0076 , EC8D , 006E , 10A3 , 8D00 , 6B25 , 10A3 , 8D00 , 6527 , 3E10 , 8300 , 0127 , 38EC , 8D00 , 57ED , 8D00 , 55ED , 8D00 , 4D20 , A6EC , 8D00 , 4BED , 8D00 , 4910 , A38D , 0040 , 250C , A38D , 003A , 2715 , 1083 , 0001 , 270F , EC8D , 002E , ED8D , 002C , ED8D , 0022 , 16FF , 7CEC , 8D00 , 2310 , A38D , 001A , 2404 , ED8D , 0014 , 3706 , 3706 , EC8D , 000C , 3606 , 3506 , AEA1 , 6E91 , 0000 , 0000 , 0000 , 0000 , 0000 , decimal ( Miscellaneous Words - 4/6 ) BLOCK NUMBER 105 ( CF83-8 Uncontrolled Reference Words Set Plus - 24/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Miscellaneous Words - 5/6 ) decimal 16 base ! create setcursor ( +n1 +n2 -- ) here dup 2- ! 3406 , 3706 , DDF5 , 3706 , DDF3 , 3506 , AEA1 , 6E91 , : mem ( -- u ) FEEE here - ; create exec ( addr -- ) here dup 2- ! 3410 , 3710 , AD84 , 3510 , AEA1 , 6E91 , create cold ( -- ) here dup 2- ! 7E52 , 0012 , create warm ( -- ) here dup 2- ! CE06 , 0010 , CE08 , 00BD , 55F1 , 7E55 , C512 , create pack ( 8b1 8b2 -- 16b ) here dup 2- ! 3416 , 3710 , 3706 , 3604 , 1F10 , 3702 , 3606 , 3516 , AEA1 , 6E91 , decimal BLOCK NUMBER 106 ( CF83-8 Uncontrolled Reference Words Set Plus - 25/25 ) ( Copyright [ c ] 1992 by BDS Software ) ( Miscellaneous Words - 6/6 ) decimal 16 base ! create split ( 16b -- 8b1 8b2 ) here dup 2- ! 3416 , 3706 , 1F01 , 1F89 , 4F36 , 061F , 104F , 3606 , 3516 , AEA1 , 6E91 , decimal : binary ( -- ) 2 base ! ; : false ( -- flag ) 0 ; : true ( -- ) -1 ; : \ ( -- ) >in @ negate 64 mod >in +! ; immediate : \b ( -- ) >in @ negate 1024 mod >in +! ; immediate