MicroCode Testing Required

I.	Items To Complete or Fix.

	The VARK←NIL and VARK←UNBOUND opcodes could be removed since the function entry vector will allow displaced entry points to perform any amount of required initialization.

	The Write cycle in GVAR← needs to be fixed to add an extra instruction to save the reference counted item in the global register Incref.  This extra instruction can also set the misc field at the same time to keep the cycle count the same.

	The same problem as above (Incref reg) requires fixing in RefCountStorePop.
	
	FVARX← is popping the stack & FVARM← is not.  This inconsistency must be fixed, probably by removing the pop from FVARX←.

	FVARM & FVARM← are using a Cwrite to stop a write to MarMem.  I am not sure if that will stop the write.

	GETPTRBITS, SUBTYPEP.N, & FLAGTYPEP.N should not need pointer checks.

	ADDBASE needs a Cwrite added.

	DumpPageFault condition should clearout all frames & go to some special fn?

	Set & Check all of the constant fields:
	Fx, Nil, T, vmem,  etc.

	Check that all EUop operations have a Tag specified.

	Change the refresh code into succesive steps instead of doing refresh all at once.


	
II.	Items to test.

	Check that all EUop operations have a Tag specified.

	Test a page fault on a loadibuff to be sure that address is properly incremented & fetch is re-tried after fault routine.

	Test the short True & False jumps FJUMPK & TJUMPK.

	Test all Shift operations for edge conditions.

	Try a function call of 7 arguments.

	Test the Hold logic.

	Check # Ufn arguments.

	


III.	Items to Re-test because of changes:

	All of TESTOPS.

	Function call, Undefn, & Apply, with / without stack frame dump & vmm fault.

	Interrupt function call.

	Frame Adjust function call.

	Re-check the different return opcodes & conditions (traponexit & returnto).
	
	Page Faults in LoadFrame.

	All condition codes since they were re-arranged.

	Verify all opcodes to the right thing.

	GVAR opcodes: page faults & reference counting.

	Free Variables: page faults & reference counting.

	Address computation opcodes.

	Edges on arithmetic opcodes.

	Vmm page faulting in general.



IV.	More Detailed Tests:

	Test such as the ones written by Mike H. to setup Ufn's & ensure that an opcode traps out on the edge conditions.  These tests check the edge conditions & make sure that the ufn gets the correct # of arguments, along with the correct values for the arguments.