Fix bug where program would break on BEQ; caused by interpreting a negative number as postive due to stripping of leading 1s.  Moved the "too postive" check before conversion to negative.