fun Rx(i0,vv) {				 
    val ii = i0?ext(32);
    if(ii >= 8) {
	val win = (CWP?cvt(ulong) - (ii / 16) + 8 ) % 8 ;
	ii = ii & 0xf?ext(32);
	destQ?push_back((16*win+ii?cvt(ulong)+8)?cvt(ushort));
	register_windows[win][ii] = vv;
    } else if(ii > 0) {
	destQ?push_back(ii?cvt(ushort));
	global_registers[ii-1] = vv;
    }
}