This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Dual "far" DPTRs

C51 7.0 supports dual DPTRs, at least in some major library routines. It also supports an extended DPTR. I'd like to be able to do both at once, to do block moves from far xdata to far xdata. It doesn't appear as though the Keil tools support dual far DPTRs, though. You can have two DPTRs, the first of which might be 24 bits wide instead of 16 and the second (if used) always 16. So, if I want a far-to-far memcpy, I'll be writing it myself. Is this conclusion correct?

Parents
  • There are two 8051 device variants that really offer dual DPTR on far memory pointers.

    1. DS390/DS400/DS5240 have dual DPTR and these are supported already when you are using the ROM(D512K) or ROM(D16M) compiler options to select the huge code memory model.

    2. Philips 80C51MX variants offer dual universal pointers (PR0 and PR1) and these are also supported in the CX51 compiler.

    So really the question is: how can you enhance these support without being to application specific (we do not think that it makes sense to support dual DPTR with the assuption that they address the same 64KB far memory page).

Reply
  • There are two 8051 device variants that really offer dual DPTR on far memory pointers.

    1. DS390/DS400/DS5240 have dual DPTR and these are supported already when you are using the ROM(D512K) or ROM(D16M) compiler options to select the huge code memory model.

    2. Philips 80C51MX variants offer dual universal pointers (PR0 and PR1) and these are also supported in the CX51 compiler.

    So really the question is: how can you enhance these support without being to application specific (we do not think that it makes sense to support dual DPTR with the assuption that they address the same 64KB far memory page).

Children