fun window_save(var inst : InstOp) {
inst.delta = 1?cvt(char);
CWP = ((CWP?cvt(ulong) + 1) % 8 )?bits(5);
if(CANSAVE?cvt(ulong) > 0) {
CANSAVE = (CANSAVE?cvt(ulong) - 1)?cvt(cwp_t);
CANRESTORE = (CANRESTORE?cvt(ulong) + 1)?cvt(cwp_t);
} else { is_trap = true; }
}