Diff for /gforth/kernel/int.fs between versions 1.68 and 1.69

version 1.68, 2001/01/28 18:49:11 version 1.69, 2001/01/28 22:43:39
Line 257  forth-wordlist current ! Line 257  forth-wordlist current !
   
 \ \ header, finding, ticks                              17dec92py  \ \ header, finding, ticks                              17dec92py
   
   \ The constants are defined as 32 bits, but then erased
 \ !! these should be done using the target's operations and cell size  \ and overwritten by the right ones
 \ 0 invert 1 rshift invert ( u ) \ top bit set  
 \ constant alias-mask \ set when the word is not an alias!  
 \ alias-mask 1 rshift constant immediate-mask  
 \ alias-mask 2 rshift constant restrict-mask  
 \ 0 invert 3 rshift   constant lcount-mask  
   
 \ as an intermediate step, I define them correctly for 32-bit machines:  
   
 $80000000 constant alias-mask  $80000000 constant alias-mask
   1 bits/char 1 - lshift
   -1 cells allot  bigendian [IF]   c, 0 1 cells 1- times
                             [ELSE] 0 1 cells 1- times c, [THEN]
 $40000000 constant immediate-mask  $40000000 constant immediate-mask
   1 bits/char 2 - lshift
   -1 cells allot  bigendian [IF]   c, 0 1 cells 1- times
                             [ELSE] 0 1 cells 1- times c, [THEN]
 $20000000 constant restrict-mask  $20000000 constant restrict-mask
   1 bits/char 3 - lshift
   -1 cells allot  bigendian [IF]   c, 0 1 cells 1- times
                             [ELSE] 0 1 cells 1- times c, [THEN]
 $1fffffff constant lcount-mask  $1fffffff constant lcount-mask
   1 bits/char 3 - lshift 1 -
   -1 cells allot  bigendian [IF]   c, $FF 1 cells 1- times
                             [ELSE] $FF 1 cells 1- times c, [THEN]
   
 \ higher level parts of find  \ higher level parts of find
   

Removed from v.1.68  
changed lines
  Added in v.1.69


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>