Bug fix---using setjmp() incorrectly.

A close reading of P. J. Plauger [1] and the C Standard showed that I may
have been using setjmp() incorrectly.  I was doing:

	rc = setjmp(cpu->err);
	if (rc != 0) return rc;

But the standard is weasly enough such that you can't *reliably* assign the
result of setjmp().  Portably, you can only do:

	switch(setjmp(buf))
	if (setjmp(buf) == CONSTANT) /* or any relational operator */
	if (!setjmp(buf))

This changes the error protocol a bit.  You now have to set cpu->rc (or
dis->rc) then do the longjmp().

[1]	_The Standard C Library_ by P. J. Plauger.