i could read address 0x82800 by this code :
mov R2,#0x2800 EXTS #8,#1 mov R1,[R2]
which R1 contains right answer .
but i cant write to this address with this code :
mov R1,0xffff mov R2,#0x2800 EXTS #8,#1 Mov [R2],R1
when i can read this location , why i can not write ? please help me.
So just write your own assembler routine that does exactly what you want, and move on...
http://www.keil.com/forum/58254/
i tried many time to reply post on that thread but it shows this message: error 500 (if i am correct?!) and so i start a new thread :) again i try to reply on that thread now
resend on that thread shows this error message:
HTTP Error 500.100 Page Cannot Be Displayed --------------------
now how could write??
this is exact question: how to write to address 0x82800 ? i tried this code but does not work:
So what did you find from your checking in the manual about pointer implementation ?
nothing, i cant understand hope this works:
int *p_a = (int *)(0x82800) ; int a = *p_a ;
but .... i cant understand why when i could read , i cant write? i think addressing is correct using EXTR instruction, but that not work.
now i'm testing flash register (FCR0H FAR FDR0) but does not work, and i dont know what to do
So if you read the cite, why aren't your trying with a far or huge pointer?
What exactly trying to achieve with this hacking around? And if something would be easier to achieve as an assembly function why don't you just do that?
Try printing the sizeof(int *)
ok , i will try and post results soon
View all questions in Keil forum