You need something such as a shift left.

For example a reciever:

counter var byte
result var byte

Loop:
result =0

for counter=0 to 7

'Here you check for your sending bit
Loop2:
if Portb0.0=then Loop2
'Here you do NOT go ahead, unless the bit goes to zero
Loop3:
if portb0.0=1 goto Loop3

Pauseus 50 'Wait until transmitter has time toggle bit


'Here you put your bit into register and shift left to add.
'If you do it 8 times, you have a complete byte
result=Portb0.0
result=result << 1
Pause 1 'Give time for transmitter to toggle bit to 0
next counter


Transmitter:

Dcounter var byte
counter var byte
number var byte
T var Porta.bitoftransmitter
DigNumber var byte

number=2468

for counter=7 to 0 step -1
DigNumber=Dig Number 7

for Dcounter=0 to 7
High T
pauseus 10 'remember, you can't go past 50us,because of reciever
Low T

T=DigNumber0.7
pauseus 20 'enough time for receiver to read!!
T=0 'TURN IT OFF!!!!!
DigNumber.7=DigNumber.7 <<1
Pause 1 'give time for receiver to do its job
Next Dcounter

Pause 100 '(give time for display to print it out)
Next counter


Dwayne