fun _trap(iflag,rs2,imm7) {
    val tnum;
    if(iflag) tnum = imm7?ext(32);
    else tnum = Rx(rs2)?cvt(ulong) & 0x7f?ext(32);

    if(tnum == 3) _flushw() ;
    else trap_sparc(tnum+256,CWP,CANRESTORE);
}