作者m9021200 (小妞)
看板ASM
标题[问题] 请问Keil c 8051 转型问题
时间Thu Nov 28 10:37:06 2013
请问一下用keil c 编辑8051遇到转型问题
unsigned char g_test xdata _at_ 0x5000;
void func(void)
{
unsigned long testaddr = 0;
testaddr = &g_test;
}
刻意把16bit的位址给32bit的testaddr,
期望testaddr = 0x00005000
结果testaddr = 0x00015000
请问一下为什麽第17bit会是1?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 106.65.21.247
1F:推 ruemann:memory type是xdata就会是0x01 可以去查c51.pdf的第六章 11/28 12:55
2F:→ ruemann:KEILC的generic pointer分3byte,xdata=0x01, code=0xFF 11/28 12:57
3F:→ ruemann:所以你如果用CODE去宣告的话,得到的值会是0X00FF5000 11/28 12:57