use __SHIFTOUT and __SHIFTIN