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

C51S and movx/xdata

Since Keil (as opposed to some other compilers) do not supply the library in source, I have a question:
I am tasked with debugging some glitches in a very strange design: External memory is used and ALE is disabled. To access external RAM one must latch the low address in an external latch by toggling a p1 pin before executing external RAM access (movx). My question thus is: do the routines in C51S EVER execute movx.
I have no possibility of replacing thousands of hardware units, and already have the next version concept so I need the above question answered.

Thanks in advance

Erik

Parents
  • The ALE is actually not connected in this @#$%^& design. I have disassembled the code and found a few cases using CLODPTR, an undocumented "shortcut subroutine" which actually uses MOVX. I am not criticising the compiler, who in his right mind would design a compiler anticipating such a design, I am only looking for help in the hunt for the unknown MOVX'es.

Reply
  • The ALE is actually not connected in this @#$%^& design. I have disassembled the code and found a few cases using CLODPTR, an undocumented "shortcut subroutine" which actually uses MOVX. I am not criticising the compiler, who in his right mind would design a compiler anticipating such a design, I am only looking for help in the hunt for the unknown MOVX'es.

Children
  • Well, the small model just means that everything defaults to being in DATA - the user is still free to declare things in PDATA, XDATA, etc should the need (or whim) arise.
    Therefore the Library must support access to XDATA etc; eg, if you define a big string in XDATA, you still want your small-model printf to be able to print it.
    (OK, maybe not a brilliant example, but you get the idea?)

    So the Small Library shouldn't use XDATA for its own purposes, but should be able to handle any such requests which the user may make of it