1. Send the start condition. 2. Send the device address with the write bit (0). 3. Wait for acknowledgment. 4. Send the register address. 5. Send a restart condition. 6. Send the device address with the read bit (1). 7. Read the data from the slave. 8. Send acknowledgment if more data is needed or a non-acknowledgment to end. 9. Send the stop condition.