Hi Mac & Kef,
Thanks for responding... I may be getting fooled by what the debugger is showing me... I changed the bit setting actions to separate functions, and then what the debugger showed me when single-stepping in C was different than what it was showing me when single-stepping in the assembly. In C, the highlighting would just toggle back and forth between the bit set line and the for() line, while in assembly I could see it jumping around to various places that included both a bit set and bit clear (in assembly).
By the way, I had tried the bit fields approach, too, which gave the same appearance in C: jumping between bit set and for(). At that time I had not tried single stepping in assembly, so I don't know if it was just debugger weirdness.
In any case, now that I actually see it doing bit clears and bit sets in assembly I have to find out why it isn't coming out on the pin! That pin is shared with a couple of functions: SPI and PWM. Probably one of them is claiming the pin, and thus no port twiddling is getting through.
NPIXELS is #defined elsewhere.
Thanks for your suggestions, I will probably have a follow-up tomorrow saying "I found it!" Hope so, anyway.
Kurt