



	
	
	
	ENTRY	copymode + ifunctor
	
		/*
			*D++ = makeword (TERM, (int) G);
			*G++ = *(XC + CLAUSELEN + *PC++);
			*++SP = (int) D;
			*++SP = 0;
			D = G;
			G += *PC++;
			checkglobal (10);
			goto CopyMode;
		*/
	 
	 	CONT	DZ MASK  OR  RAMA A=ir0 B=R0
		CONT	DA D=BR, clauselen A=R0  ADD  RAMF B=R0
		CONT	AB A=xc  ADD  RAMF B=R0  LVAR
		LDCT	cbackup  ZB  ADD CIN  RAMF B=pc  D=TB  LBR  ADDR
		CJS	RFLT, rcache  DZ  RTR1  OR  RAMA A=ir0 B=ir0  LOCK
		CONT	DA D=BR, termtag SHL3  A=g  OR  RAMF B=R0  RD
		CONT	ZA A=d  OR  LVAR
		CONT	D=TB  LBR  ADDR
		CJS	WFLT, wcache  DZ D=BUS  OR  RAMF B=R1  LOCK
		LDCT	cbackup  ZA A=R0  OR  LBR  WR
	rst112:
		CONT	ZA A=g  ADD CIN  RAMA B=g  LVAR
		CONT	ZB  ADD CIN  RAMF B=d  D=TB  LBR  ADDR
		CJS	WFLT, wcache  LOCK
		LDCT	fix112  ZA A=R1  OR  LBR  WR
	
		CONT	ZB  ADD CIN  RAMF B=sp  ALDCA
		CONT	ZB  ADD CIN  RAMA A=d  B=sp  CWR  INCCA
		CONT	ZA A=g  OR  RAMF B=d  D=BR,0  CWR
	
	 	CONT	DZ MASK  OR  RAMA A=ir0 B=R0
		CONT	AB A=R0  ADD  RAMF B=g
		CONT	ZB  ADD CIN  RAMF B=pc
	  	CJS	checkGlobal  DZ RTR1  OR  RAMA A=ir0 B=ir0
		CONT	DZ D=BR, 10  OR  RAMF B=R0
		JUMP	copyFetch2  DZ RTR1  OR  RAMA A=ir0  B=ir0  LDIR
		CJV	NZ  DA D=BR,3 A=pc  AND
	
	fix112:
		CONT	ZB  SUBR  RAMF B=d
		JUMP	cfexit  ZB  SUBR  RAMF B=g
		CONT	DZ D=BR, 112  OR  QREG
