Regulus Berdin [rberdin at BIGFOOT.COM]
this is 2x faster (500kbps @ 4MHz) :
; serial tx
; assumes PORTB1 initially on high state
rrf data,w
xorwf data,f
movlw 1
xorwf PORTB,f ;start bit
skpnc
xorwf PORTB,f ;b0
btfsc data,0
xorwf PORTB,f ;b1
btfsc data,1
xorwf PORTB,f ;b2
btfsc data,2
xorwf PORTB,f ;b3
.
.
.
nop
bsf PORTB,0 ;