Hello again,

I guess I could bother Smiley directly but I figure he will jump in if he has time...I think I drove Mark Alberts nuts (:-)) after my BASCOM purchase so I am more cautious now and the net makes getting help too easy sometimes. OK enough banter..

In the following statement:

(TCCORA & WGM01) I had a knee-jerk reaction that one was a byte value 'TCCORA' and the other is a bit value that is part of the TCCORA byte. So then, using Smiley's original value for TCCORA of 01001100 and the fact that bit WGM01 of that byte is "set" we could say the following:

TCCORA = 01001100

WGM01 = 00001000

and if we '&' AND them together we get 00001000 which means that any non-zero result makes the statement true?? Regardless (and this is what was throughing me) of the decimal result?

It is difficult for me to look at WGM01 as a bit value when I see that value...because of it's location in TCCORA as a byte (0x08) ? As long as my thinking is correct on this I can accept it. Am I missing anything?

Also:

In the statement:

for(int i = 1; i < 128; i = i* 2)

How come we do not evaluate the 'i = i * 2' part on our first pass?

The statement is in the parenthesis. Why move on after the i < 128 part?

PS: I hope I am under the right Forum topic!!

Thanks

John