how can I use the on chip ram at 0x100 to 0x2FF?

I used the SM89516A, the cpu have 512 byte ram, but how can i define a variable at 0x100 to 0x2FF? I try to define a variable as idata but it will be located at 0x80 to 0xFF. then I try to define a variable as xdata, but it seem like the variable locate at the off chip ram. so, how can i do?

Parents
  • "I used the SM89516A, the cpu have 512 byte ram"

    The Keil Database entry says 1024 bytes:
    http://www.keil.com/dd/chip/3759.htm

    Anyhow, you need to read the Datasheet carefully to determine exactly what it means by this.

    "512 byte ram" could well mean that it has the standard 8052's 256 bytes of DATA/IDATA "internal" RAM, plus a further 256 bytes of on-chip XDATA RAM.
    If that is the case, then the on-chip XDATA address range is 0x00-0xFF - which would explain your observations!

Reply
  • "I used the SM89516A, the cpu have 512 byte ram"

    The Keil Database entry says 1024 bytes:
    http://www.keil.com/dd/chip/3759.htm

    Anyhow, you need to read the Datasheet carefully to determine exactly what it means by this.

    "512 byte ram" could well mean that it has the standard 8052's 256 bytes of DATA/IDATA "internal" RAM, plus a further 256 bytes of on-chip XDATA RAM.
    If that is the case, then the on-chip XDATA address range is 0x00-0xFF - which would explain your observations!

Children
More questions in this forum