>Andy, I never heard of any part of the C spec that guarantees zeroed >variables at startup! I have used Borland Turbo C++ for several years for >programming PCs and I never remember any such guarantee. IN fact, I seem to >remember just the opposite being said (i.e.,you must initialize the vars >yourself,as opposed to other higher-level languages such as BASIC). For automatic variables, no, but static duration variables, yes. ANS X3.159-1989 3.5.7 Initialization "If an object that has automatic storage duration is not initialized explicitly, its value is indeterminate. If an object that has static storage duration is not initialized explicitly, it is initialized implicitly as if every member that has arithmetic type were assigned 0 and every member that has pointer type were assigned a null pointer constant." It is not unreasonable, IMO, for compilers for small processors to, at least optionally, waive the implicit initialization of static duration objects, as it's good style to explicitly initialize any variable upon whose startup-value the program will depend and initializing a bunch of locations to zero when it's not necessary can chew up a lot of cycles at startup that could be put to better use. Jim James Grosbach Development Systems Microchip Technology james.grosbach@microchip.com