> I assume that your "17-cycle" code (I count 18 cycles, but > that includes the load/store) looks something like this: Nope. Like this [assuming RB0 is output on each device, RB7 is 'the' input, and RB's 1-6 are either unused or are inputs: rlf Data0,w ; Get C flag rlf PORTB rlf Data0 rlf PORTB rlf Data0 rlf PORTB rlf Data0 rlf PORTB rlf Data0 rlf PORTB rlf Data0 rlf PORTB rlf Data0 rlf PORTB rlf Data0 rlf PORTB rlf Data0 ; Then 17 cycles for Data1, then 17 for Data2, etc.