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

"remainder of xdata"

I have a need for making a buffer, the size of which is as large as possible. I know how to do that in assembler; however, not in C. Two ways would work:

1) a pointer to the end of used xdata
2) an array my_array[MAX]

I much prefer method #1, but any method that will give me the desired result will be appreciated.

Thanks,

Erik

Parents
  • Voilà one Reason, why we still use C51 V5.10.
    We are afraid of surprises.

    By the way:
    The assumption is definitely true for the combintion
    of partial code-segments (i.e. constant data in code).
    This is a feature on which Keil itself relies with their
    variable initialization routine ?C_START: a trailing zero
    linked at the end of ?C_INITSEG stops the initialization.
    It is also documented, that the customized STARTUP.A51's
    object file must be the last object file to be specified in
    the command-line.

    By the way. I think I remember that you've said, you have
    an assebler-solution to your problem. But to me this seems to
    be a linker problem, rather than a translator problem.

    So: How do you do it with the assembler?

    Norbert.

Reply
  • Voilà one Reason, why we still use C51 V5.10.
    We are afraid of surprises.

    By the way:
    The assumption is definitely true for the combintion
    of partial code-segments (i.e. constant data in code).
    This is a feature on which Keil itself relies with their
    variable initialization routine ?C_START: a trailing zero
    linked at the end of ?C_INITSEG stops the initialization.
    It is also documented, that the customized STARTUP.A51's
    object file must be the last object file to be specified in
    the command-line.

    By the way. I think I remember that you've said, you have
    an assebler-solution to your problem. But to me this seems to
    be a linker problem, rather than a translator problem.

    So: How do you do it with the assembler?

    Norbert.

Children
No data