|
|
@@ -1,14 +1,10 @@ |
|
|
|
: MOVE ( a1 a2 u -- ) |
|
|
|
( u ) 0 DO ( a1 a2 ) |
|
|
|
SWAP C@+ ( a2 a1+1 x ) |
|
|
|
ROT C!+ ( a1+1 a2+1 ) |
|
|
|
LOOP 2DROP ; |
|
|
|
: MOVE- ( a1 a2 u -- ) |
|
|
|
TUCK + 1- ( a1 u a2+u-1 ) |
|
|
|
ROT 2 PICK + 1- ( u a2+u-1 a1+u-1 ) |
|
|
|
ROT ( u ) 0 DO ( a2 a1 ) |
|
|
|
C@- ( a2 a1-1 x ) |
|
|
|
ROT C!- ( a1-1 a2-1 ) SWAP ( a2 a1 ) |
|
|
|
LOOP 2DROP ; |
|
|
|
: MOVE, ( a u -- ) H@ OVER ALLOT SWAP MOVE ; |
|
|
|
: PREV 3 - DUP @ - ; |
|
|
|
: [entry] ( w -- ) |
|
|
|
1- C@+ ( w+1 len ) TUCK MOVE, ( len ) |
|
|
|
( write prev value ) |
|
|
|
H@ CURRENT @ - , |
|
|
|
C, ( write size ) |
|
|
|
H@ CURRENT ! |
|
|
|
; |
|
|
|
: (entry) WORD [entry] ; |
|
|
|
: CREATE (entry) 11 ( 11 == cellWord ) C, ; |
|
|
|
: VARIABLE CREATE 2 ALLOT ; |