CosyOS
发表于 2025-6-6 18:49:11
ukeoxcac 发表于 2025-6-6 07:13
那EXATA 是100% 一次读2个字节或4个字节?
世界上没有什么事是绝对的,总会有特例。
有时,2 or 4 个字节的变量,本可以一次读出,
但由于你的原因 or 编译器的原因,它优化后偏偏要分多次读出,这种可能性不是没有。
所以,需要看汇编才能最终确定。
1、
2、打开C文件,编译后点这里
3、
上面窗口是对应的汇编。
在C文件中,鼠标点哪一行,哪一行前面会显示一个 箭头,
上面窗口中也会显示出对应的汇编。
在这个示例中,我定义了 u16 xdata myu16 = 0;
行27,u16 t = myu16; 对应的汇编是:
0xFF3422 900BA1 MOV DPTR,#0x0BA1// 这里是把 myu16 的地址 #0x0BA1 放入 DPTR
0xFF3425 0BEA70 MOV WR14,@DR56 // 这里通过@DR56间接寻址,一次性把 myu16的两个字节 放入 WR14
qwe
发表于 2025-6-9 09:35:00
👍