Commit 3ff4bfb6 authored by bernd's avatar bernd

Better fix for 32 bit 64^ locals

parent 2bb5e7a4
......@@ -178,9 +178,17 @@ cell 8 = [IF]
r@ 2 cells + !
r> 3 cells + ! ;
' stop-dns alias stop-64ns
: compile-pushlocal-64 ( a-addr -- ) ( run-time: w1 w2 -- )
locals-size @ alignlp-w cell+ cell+ dup locals-size !
swap !
postpone >l postpone >l ;
also locals-types definitions
' d: alias 64:
' d^ alias 64^
: 64^ ( "name" -- a-addr xt ) \ gforth d-caret
create-local
['] compile-pushlocal-64
does> ( Compilation: -- ) ( Run-time: -- w )
postpone laddr# @ lp-offset, ;
previous definitions
[THEN]
\ independent of cell size, using dfloats:
......
......@@ -949,8 +949,7 @@ also net2o-base
cell 8 = [IF] 6 [ELSE] 5 [THEN] Constant cell>>
: +ackbit ( bit -- ) 0. c:cookie [ cell 4 = ] [IF] swap [THEN]
{ d^ new-ackbit 64^ new-cookie }
: +ackbit ( bit -- ) 0. c:cookie { d^ new-ackbit 64^ new-cookie }
dup [ 8 cells 1- ]L and swap cell>> rshift
data-ackbits-buf $@ bounds ?DO
dup I @ = IF drop
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment