> NOP is 00 Ooops. I couldn't remember which and looked in an MPLAB disassembly for an 18F and saw FFFF as the alternate NOP For the 16F all 1s is addlw 0xff. Which might be mostly harmless (compared to CALL) but it's not NOP The 00 0000 0xx0 0000 bit pattern for 14-bit NOP means that 0000, 0020, 0040 and 0060 will execute as true NOP, although MPASM compiles the NOP op-code to only 0000 > You can program it as many times as you want by putting > GOTOs in 0x00 and 0x04 I believe OTP come from the factory full of 00 (I would have said FF before but now I think that's how F parts come - stupid brain fart). So with an OTP you can only make 0 into 1, and need to move the program code up in memory (now it's all coming back - same as the 68, except they had 9D ? as NOP - not particularly friendly) and alter, bits permitting, GOTO START Or not change START, but write 00 over the lower program Another option is that you put the program at the top of memory in the first place with a low GOTO START value and let the PC work through the NOPs until it hits the code. Subsequent versions move down through memory > If you want more, make a GOTO into a new table somewhere That'd work. I'd guess all this fuss might be worth it to correct a production run or something like that. Otherwise just use F -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist