result_hi
result_hi = 0; /* remainder = 0 */
if (op1_sign && result_hi) {
result_hi = opnd2 - result_hi;
result_hi = 0; /* remainder = 0 */
if (op1_sign) result_hi = -result_hi;
result_hi = 0; /* remainder = 0 */
result_hi = opnd1; /* remainder = opnd1 */
if (op1_sign && result_hi) {
result_hi = opnd2 - result_hi;
result_hi = 0; /* remainder = 0 */
result_hi = opnd1; /* remainder = opnd1 */
if (op1_sign) result_hi = -result_hi;
#define mdrr(reg1,reg2,result) {result_hi = reg1;result_lo = reg2;}
sign = result_hi ^ temp.rslt_hi;
result_hi += temp.rslt_hi + carry;
if (sign >= 0 && (temp.rslt_hi ^ result_hi) < 0)
if ((result_hi += (unsigned)temp.rslt_hi + carry) <
if ((result_hi == 0 && result_lo >= 0) ||
(result_hi == -1 && result_lo < 0))
if (result_hi)