fun s_div32(x1,x2,var ccr) {
    val xx = (+x1 / +x2?sext(64))?cast(ullong);
    if(+xx > +(1?ext(64)<<31)) { xx = 0x7fffffff?ext(64); ccr = ccr | 0x02; }
    else if(+xx < +((-1)?sext(64)<<31)) {
	xx = 0x80000000?sext(64);
	ccr = ccr | 0x02;
    }
    return xx;
}