Doh. I should learn to always sleep on a bug report before I send it off. Of course I was mistaken. 1. sbiw *does* set the zero flag. 2. r1 is the zero register, or is supposed to be. The reason this caused a problem for me was because my crt*.s didn't clear the zero register. A non-zero zero register causes a lot of trouble. Thanks, Shaun