hello , I am calling C functions from assembly .The C functions has two float arguments, one variable is in R4 to R7,other is in some memory location assigned by the compiler .How can i pass argument to this memory location ? How can i know this memory location ?Please help ...
somewhere in C51 there is the necessary to make the compiler aware of internal XDATA where rather than in P2, the high address is in some SFR. I suspect that declaring the correct chip will do it. There will be more to it since the internal xdata COULD be external and thus P2/P0 addressed. Anyhow it is documented. OR is it that you have declared pdata and forgot to set the high address SFR in startup.
anyhow it is all somewhere in the documentation.
Erik