angalp 发表于 2024-11-20 08:31
咋数据手册上说pdata读写比xdata慢呢
可能movx a,@ri, movx @ri,指令慢,但实际一般还需要对@Ri作运算,这时就会慢
u8 pdata aucMyBuf;
aucMyBuf = 0;
类似这样的操作pdata快很多,因为只需要8位的运算
angalp 发表于 2024-11-20 08:31
咋数据手册上说pdata读写比xdata慢呢
早期标准 51指令, PDATA 寻址比 XDATA 寻址快.
现在 STC 优化指令, 重点在XDATA 上, 所以 XDATA 寻址比 PDATA 寻址快.
很正常呀
bkeuqoaq 发表于 2024-11-20 08:37
可能movx a,@ri, movx @ri,指令慢,但实际一般还需要对@Ri作运算,这时就会慢
u8 pdata aucMyBuf;
原来是这么个原因,明白了。
LAOXU 发表于 2024-11-20 09:09
早期标准 51指令, PDATA 寻址比 XDATA 寻址快.
现在 STC 优化指令, 重点在XDATA 上, 所以 XDATA 寻址比 ...
所以说针对使用STCMCU,直接使用XDATA就行了吧。
我从来没有用过pdata,要么idata,要么xdata.当然我也很少仿真,,,,出现问题就一堆printf{:sweat:}
bit1= ! bit1这句改成 : bit1 = ~ bit1