// compile.asm: WORD p_does,'DOES>',fasm,IMMEDIATE anchor:p_does[] === WORD: DOES> .... Data stack: ( -- ) .... "DOES>" is a function that in execution mode does nothing but in compilation mode it changes the execution semantics assignments for the most recent word to use the +dodoes+ sematics with adjustment offset to the current heap address. I.e., the word being defined will have its execution start at whatever comes after "DOES>". ==== .Defintion concept for DOES> **** : DOES> IMMEDIATE STATE @ != IF ( only for compilation mode ) CURRENT-WORDLIST @ @ TFA>CFA ( cfa of current word ) doDOES OVER ! ( set up doer ) HERE @ OVER 8 + - SWAP 8 - ! ( set up offset THEN ; **** ==== See also <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <CFA>>, <>, <>, as well as <> about the range of "doer" assignments and their meanings.