I2C em Assembler (start/stop)

Oi pessoal estou tentando impementar um programinha em assembler para ler os dados do acelerometro do controle do Wii.
Os dados sao passado no formato I2C e eu estou usando o pic18f258 que tem o protocolo implementado.
Depois de dar uma olhada no datasheet e implementar o programa eu estava vendo uns programas em C que fazem a mesma leitura para saber o protocolo e vi que em C tem os comandos I2C_Start() e I2C_Stop() isso nao existia no meu codigo, procurando na net encontrei uma comunicacao I2C para E2Prom que e mais ou menos assim:
call AGUARDA_I2C_LIVRE
bcf STATUS,C
rlncf ENDERECO_HIGH,W
iorlw B'10100000'
movwf SSPBUF
call AGUARDA_I2C_LIVRE
call TESTA_ACK
btfsc F_ERRO
goto I2C_ERRO
movf ENDERECO_LOW,W
movwf SSPBUF
call AGUARDA_I2C_LIVRE
call TESTA_ACK
btfsc F_ERRO
goto I2C_ERRO
Minha duvida e se esse iorlw estaria fazendo o papel do I2C_Start e o que faria o papel do I2C_Stop
Desde ja agradeco,
Icaro
Os dados sao passado no formato I2C e eu estou usando o pic18f258 que tem o protocolo implementado.
Depois de dar uma olhada no datasheet e implementar o programa eu estava vendo uns programas em C que fazem a mesma leitura para saber o protocolo e vi que em C tem os comandos I2C_Start() e I2C_Stop() isso nao existia no meu codigo, procurando na net encontrei uma comunicacao I2C para E2Prom que e mais ou menos assim:
call AGUARDA_I2C_LIVRE
bcf STATUS,C
rlncf ENDERECO_HIGH,W
iorlw B'10100000'
movwf SSPBUF
call AGUARDA_I2C_LIVRE
call TESTA_ACK
btfsc F_ERRO
goto I2C_ERRO
movf ENDERECO_LOW,W
movwf SSPBUF
call AGUARDA_I2C_LIVRE
call TESTA_ACK
btfsc F_ERRO
goto I2C_ERRO
Minha duvida e se esse iorlw estaria fazendo o papel do I2C_Start e o que faria o papel do I2C_Stop
Desde ja agradeco,
Icaro