anchor.diff:  	then,
   	ENOTFOUND rsn !, ;,
   
  +\ These routines provide a dynamic memory management facility, allowing
  +\ applications to request blocks of memory of a given size, and to release it
  +\ later if required.
  +\ 
  +\ Pools are maintained through a singly linked, circular list of nodes with the
  +\ invariant that a node N can point to node M if and only if M appears at a higher
  +\ address than N, and which follows N immediately.  So, if looking at a memory
  +\ dump of three nodes, A, B, and C in that order, A generally cannot point directly
  +\ to C.  The sole exception is if A and B both represent free chunks of memory, where
  +\ B's space coalesces with A to reduce fragmentation.  An order like A, C, B is simply
  +\ right out, no matter what.  If this happens, the memory pool is corrupted, and will
  +\ inevitably lead to a crash.
  +\ 
  +\ The structure of a node follows (offsets in cells):
  +\ 
  +\ +0	next		Pointer to next node in the list, or back to first node.
  +\ 
  +\ +1	--111111..	The size of the allocation, in bytes, excluding the header.
  +\ 			Note that memory may not be requested in units smaller than
  +\			four bytes.
  +\ 
  +\ +1	--......1.	Unused bit.  Must be set to zero on writing, and ignored on
  +\			read.
  +\ 
  +\ +1	--.......1	1=block is allocated; 0=block is free.
  +
   \ fmtmem formats a memory pool with the required metadata to support allocation requests.
  -\ Arguments:
  -\	+0	Return PC
  -\	+1	Start of pool (must be even)
  -\	+2	Size of pool
  -\ No returns.
  +\ The mplsta variable must point to the start of the memory pool, while mplsiz must contain
  +\ its size, in bytes.  fmtmem does not return, and cannot fail.
   \ 
   \ Beware: formatting a pool that's been previously used will, in effect, forcefully de-
   \ allocate everything from that pool.
  
positive.code: 	rfs,
  
  \ relmem is used to release previously allocated memory, as returned by getmem.
  \ Nothing is returned.
  
  :, relmem
  	memptr @,  -/node +,  memptr !,
  	memptr @, 2 #, +, @,  -/node and,  memptr @, 2 #, +, !,  ;,
  
  \ First instruction of STS starts here.  coldstart vectors here.
  
  :, cold		$4000 #, %fp !,			( Initialize the STS frame pointer )
  
negative.code: \	+6	checksum
  \ The checksum over the whole structure must equal $FFFF.
  \ 
  \ To use, load fndtagsta with the starting address to check for, and fndtagend with the largest address to check.
  \ If findTag succeeds, rsn will be 0, and fndtagsta will point to the tag found.  Otherwise, fndtagsta will be
  \ undefined (usually, but not guaranteed to be, the same as fndtagend) and rsn set to indicate why.
  
  int, fndtagend
  int, fndtagsta
  