Dmitry Kiryashov wrote: > > It seems to me that first of all PIC read register xxxx then reset this > value > to zero then put zero value to W register. If register addr is 0 and FSR I don't get the point of this at all. CLRW = 0103 from MPASM (my version anyway) f bit = 0 CLRF status = 0183 from MPASM f bit = 1 CLRF Status,W is not allowed. (Illegal Character Error (,)) would imply that f bit = 0 and 1 at the same time [Could be wrong mode ON] The difference in code is that the 'f' bit is set for CLRF, obviously so that the zero value is put into the register in question. The 'f' bit is clear for CLRW instruction and any register address is ignored. Even if the PIC reads the value from the address supplied, surely the data would be modified. Here's another one... The only real difference with a NOP instruction and MOVWF is the 'f' bit. If 'f' = 1 then the PIC would use bits 0 to 7 for the RAM address to put the W reg data in, indirect or not. Because 'f' = 0 in a NOP, the address data would be ignored and is meaningless. You can't tell me that these instructions get confused in the PIC. [Could be wrong mode OFF] Gee I'm glad it's Friday. I know where there is a beer can with my name on it :-) -- Best regards Tony Multimedia 16F84 Beginners PIC Tools. **New PicNPrac** http://www.picnpoke.com Email picnpoke@cdi.com.au