I am using the P89c51rd2's IAP function the store the data to the code space at 0xff00 ~ 0xffd0 for example, i want to call the data at oxff00 how can i do it in C51? can i use pointer? please help and many thx!
See: http://www.keil.com/support/docs/307.htm Substitute the dedired target address for 0x0000.
looking at the other reference cited earlier, it seems to me like the 0xFF00 is a sort of API call, requiring certain data to be set up in certain locations as "parameters" to the call - a bit like the old MS-DOS INT 21 "calls". I'm not sure that you could guarantee this by just casting C:0xFF00 as a function pointer? (the API may well not correspond to the C51 calling convention?)
The way the original post is worded is confusing. ...to "call" "data'. My reference is to call "code" - perhaps some self-modifying code that never gets old. The Keil macros in ABSACC.h (CBYTE,CWORD) provide easy access to "read" "data" in "code" space.