On Oct 25, 2011, at 4:23 AM, Electron wrote: >> >> digitalWriteFast(3,1); // compiles to LATxSET =3D b >> 9d00135c: 24020001 li v0,1 >> 9d001360: 3c03bf88 lui v1,0xbf88 >> 9d001364: ac6260e8 sw v0,24808(v1) >> that was digitalWriteFast, I have seen more horrific output from =20 >> the compiler. That does look pretty optimal for setting an output pin; I'm happy =20 (aside from the lack of optimization when manipulating other pins =20 "nearby" in the code.) (digitalWriteFast() is a macro to implement =20 the digitalWrite() "standard Arduino function" when all the arguments =20 are constants. A horrible kludge depending on gcc features and =20 compile-time optimization. But about 20x faster than the function. BillW --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .