anchor.diff:    repeat,
   
     \ Now C=0 and B = codeword slot
  -  \ Write the address of (DODOES) into that slot.
  -  [DODOES] lit [rb] set,
  -  0 lit 1 [rb+] set, \ Write a 0 after the codeword; the DOES> slot.
  -  2 lit rb add, \ The beginning of the data space for this new word.
  -  \ Finally, write this updated dsp into the variable again.
  +  rb rx set, \ Set aside the codeword address.
  +
  +  \ Update the DSP to after the codeword.
  +  1 lit rb add,
     rb [ra] set,
  +  rx ra set, \ Copy the code field address to A for return.
  +  rpop rpc set,
  +
  +
  +:WORD CREATE
  +  \ First, call into code-(CREATE) to get a partial header.
  +  code-(CREATE) lit jsr,
  +  \ Now A = code field address.
  +  \ Write [DODOES] into it.
  +  [DODOES] lit [ra] set,
  +  0 lit 1 [ra+] set, \ Write a 0 after the codeword; the DOES> slot.
  +
  +  \ Now we need to bump DSP to after that DOES> address.
  +  var-DSP lit rb set,
  +  1 lit [rb] add,
  +  \ New word created and ready!
   ;WORD
   
   
  
positive.code: ;WORD
  
  
  \ Parses a word and assembles a new dictionary header for it.
  :WORD CREATE
    \ Read the current (target) data space pointer, because that's the new LATEST.
    var-dsp lit ra set, \ A - *dsp
    [ra] rb set,        \ B - dsp
  
negative.code:   ra ri add,
  ;WORD
  
  :WORD EXIT
    DH 1- CONSTANT cfa-EXIT \ cfa-EXIT can be used by ; below
    ri poprsp,
  ;WORD
  
  DVAR VAR-LATEST (LATEST)
  
  