先来看data、bdata、idata、pdata、xdata、code指代的意思。
然后我们对应到51单片机的存储空间:
从上面可以知道:
1、51的存储空间分为指令空间和数据空间,他们独立编址。指令空间是flash,用来存程序。数据空间是ram,用来存数据。
2、数据空间又分为内部数据空间(IRAM)和外部数据空间(XRAM),他们的大小和访问速度有很大区别。用data、bdata、idata、pdata、xdata修饰变量时,会导致变量存在不同的数据空间中,从而导致访问速度的差异。