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); }