src/gvar2.c
/************************************************************************/
/*									*/
/*			    N _ O P _ r p l p t r			*/
/*									*/
/*	RPLPTR opcode (024).  Replace a pointer field somewhere,	*/
/*	updating the reference counts for the old value and the new	*/
/*	value (DELREF and ADDREF, respectively).			*/
/*									*/
/*	tos_m_1 is the base, and alpha is a word-offset for finding	*/
/*	the cell to replace contents of.				*/
/*	tos is the new value.						*/
/*									*/
/************************************************************************/
N _ O P _ r p l p t r

RPLPTR opcode (024).  Replace a pointer field somewhere,
updating the reference counts for the old value and the new
value (DELREF and ADDREF, respectively).

tos_m_1 is the base, and alpha is a word-offset for finding
the cell to replace contents of.
tos is the new value.
N _ O P _ r p l p t r RPLPTR opcode ( 024 ) . Replace a pointer field somewhere updating the reference counts for the old value and the new value ( DELREF and ADDREF respectively ) . tos_m_1 is the base and alpha is a word - offset for finding the cell to replace contents of . tos is the new value .
LispPTR N_OP_rplptr(register LispPTR tos_m_1, register LispPTR tos, unsigned int alpha) {
  register DLword *pslot; 
  pslot = Addr68k_from_LADDR(tos_m_1 + alpha);
  FRPLPTR(((struct xpointer *)pslot)->addr, tos);
  return (tos_m_1);
}
LispPTR N_OP_rplptr ( register LispPTR tos_m_1 , register LispPTR tos , unsigned int alpha ) { register DLword * pslot ; pslot = Addr68k_from_LADDR ( tos_m_1 + alpha ) ; FRPLPTR ( ( ( struct xpointer * ) pslot ) -> addr , tos ) ; return ( tos_m_1 ) ; }
N _ O P _ r p l p t r
N _ O P _ r p l p t r
/* pointer to argued slot (68 address) */