51采用哈弗结构总线,谈不上明白的透彻,没有深入用过51,就这样放着
调试68013时,用keil一切默认,忽然发现存储器空间不够了,超过了128B,看手册,
68013内部有256B内存,
8KB程序/数据空间,
8KB数据空间,其中4KB多用于FIFO(PDIU12才几十字节FIFO,怪不得这款51芯片能上高速),0.5KB用户随便用(scratch),剩余空间用于寄存器等,还有近3KB保留,但是用户可以使用(够奢侈)
单片机低128B叫data
高128B叫idata,声明该关键字后,内部ram可以用到256B,特殊功能寄存器也在高128B空间,但是用直接寻址,高128B数据空间用间接寻址
还有pdata,xdata,这两个好像类似,没太搞明白,用xdata声明的关键字,在keil bl51 locate里xdata range设置0xe000-0xe1fff(512B),这样编译器就可以自动分配这块空间了。