In a message dated 98-05-08 08:04:10 EDT, you write: << The example 'IF bit_count then si2c_rbyte_lp' is dirty piece of code. Why ? because we use a register that should hold only 2-state's (True & False) as a counter (256 states for Byte-counter). It works fine because if the counter == 0 it will _logically_ be equal to a True. If the counter is anything else than a 0 it will, again logically, be equal to a False. Greetz, Rudy Wieser >> THANK YOU FOR YOUR TIME, BUT I AM REALLY CONFUSED NOW. I WILL STUDY YOUR EXPLANATION IN DETAIL. I THOUGHT IF BIT_COUNT WAS ANY VALUE OTHER THAN 0 IT IS TRUE AND WILL BRANCH 'IF bit_count then si2c_rbyte_lp' JON