每个寄存器都有一个数据内存地址,将他们直接映射到用户数据空间的
头32 个地址。虽然寄存器文件的物理实现不是SRAM,这种内存组织方式在访问寄存器方面具有极大的灵活性,因为X、Y、Z 寄存器可以设置为指向任意寄存器的指针。
那我现在有个疑问,就是物理的SRAM能够存储其他数据不,存储什么数据?
哪位高手能指点我一下,在小弟此多谢了!!!
我有在网上查到一些资料,有介绍一些地址重用的问题:
一:
请问AT89S52有256bit的RAM他的高128位是不是和特殊功能寄存器的地址重叠了吗,他们使用上不会产生冲突吗?谢谢
不会冲突,访问SFR只能使用直接寻址,如MOV 20H,80H,是将P0口的内容送入RAM的20H单元,P0口在SFR中的地址是80H。访问高128字节的内容只能用间接寻址,如刚开始假设R0=80H,则MOV 20H,@R0,表示将RAM中80H单元的内容送入20H,而不是SFR的80H单元。
二:
在51单片机中,有些单片机具有附加的128BYTES的内部RAM,位于80H开始的地址空间中,被称为IDATA,因为IDATA区的地址和SFR(占用数据存储区的80H-FFH地址空间)重叠,通过区分所访问的存储区来解决地址重叠问题,因为IDATA只能用过间接寻址方式来访问。
文章评论(0条评论)
登录后参与讨论