I'm looking to optimize an ISR written in C and wondered why version 6.21 pushes both DPTR when it doesn't use them both?
Yes I've seen that. I don't happen to use any of those functions and it's a shame they don't use the dual DPTR for other items. I'm positive my ISR doesn't use dual DPTRs. I've looked at the generated assembly from my C source and I think it's odd they push a register pair they don't use.
...I think it's odd they push a register pair they don't use. You can use the NOMODDP2 directive to disable dual data pointers for certain routines (like interrupts). What I like to do is manually enable dual data pointers for functions that use them. Jon