Each rising edge shifts the previous contents toward the high bit and loads the current serial_in into bit 0.