'William Chops" Westfield ' Although I suspect that Arduino's biggest departure from "normal > programming techniques" is in abstracting away the whole concept of > "ports and registers and bits" into mere "pins", so that would-be > users don't have to understand binary. That's a very useful abstraction, but you don't need a Arduino to get it. You can still have it at the assembly level on PICs via my /INBIT and /OUTBIT preprocessor commands. In the project include files you can write, for example: /outbit led portb 3 n ;RB3 low lights the LED Then later in the executable code you can write: set_led_on ;turn on the LED set_led_off ;turn off the LED These set the bank appropriately if needed, and use LATx bits when present over direct setting of the PORTx bits. You can also perform manipulation of the PORT, LAT, and TRIS bits of the LED pin symbolically without the specific port and bit hard coded in the source. If the LED is moved to a different pin or rewired to the opposite polarity, the single /OUTBIT line is changed and the rest of the code will continue to work without modification. I'm not pretending this is anything like a Arduino, but just pointing out that symbolic abstractions are quite possible in assembler. ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist