anchor.diff:  	\ Global Pointer Relative forward reference prefix for LOADs.
   : GL> ( -- 0 : "word" )
   	['] glreloc (>) 0 ;
  +
  +	\ Fixes up a GP-relative offset for STORE instructions.
  +: fixup-gs ( a -- )
  +	LC OVER 3 CELLS + @ - >R
  +	2 CELLS + @ DUP ST@ R> + SWAP ST! ;
  +
  +	\ gsreloc creates an global pointer-relative relocation record in the
  +	\ Forth dictionary.
  +: gsreloc ( a -- )
  +	DUP HERE >R
  +	CELL+ @ ,
  +	['] fixup-gs ,
  +	bc @ ,
  +	gp0 @ ,
  +	R> SWAP CELL+ ! ;
  +
  +	\ Global Pointer Relative forward reference prefix for STOREs.
  +: GS> ( -- 0 : "word" )
  +	['] gsreloc (>) 0 ;
   
   	\ Global Pointer Relative back-reference to an already defined
   	\ symbol for LOADs and STOREs.
  
positive.code: 	SWAP 19 RSHIFT $1000 AND OR
  	DUP $1000 AND NEGATE OR ;
  
  \ Recover the displacement from a UJ-format instruction in image memory.
  : UJ@ ( addr -- displacement )
  	IW@ 0 UJ>S ;
  
negative.code: 
  	\ Fixes up a GP-relative offset for LOAD instructions.
  : fixup-gl ( a -- )
  	LC OVER 3 CELLS + @ - >R
  	2 CELLS + @ DUP LD@ R> + SWAP LD! ;
  
  	\ glreloc creates an global pointer-relative relocation record in the
  	\ Forth dictionary.
  