16F876 to 16F876A migration issue
I have inherited the responsibility of migrating some old assembler code to the new chips. Due to a checksum change and program memory write to change the initial boot goto I needed to change the assembler to account for the fact the 16F876A can only write program memory in 4 word blocks. I have made this change in several pieces of code using the same assembler copied into each. This has worked on all but one of the programs. The failing program runs incorrectly on the A chip but the same hex file programmed into a non A version of the chip operates correctly. I have read the hex from both chips after the checksum calculation and both read identically. This leads me to believe there's some kind of minor electrical or timing issues only reflected on the A chip. I have check the migration document, the clock settings, the errata sheets and nothing I can find should cause this different behavior. I'm looking for suggestions of other things to check or that I may have missed?