In my routines, i am not checking for ack! i am assuming that the data transfer is perfect and ack is received. thats the reason, it cannot be used for EEPROM.
but my C routines can be used for EEPROM and any I2C device.
RLC A instruction means "rotate left through carry"