仿真奇怪的问题!
今天学习Protues仿真的时候发现一个很奇怪的问题。单片机是AT89C52MAIN:
ORG 0000H
MOV7DH,#01
MOV7EH,#02
MOV7FH,#03//00H-7FH
MOV80H,#01 //80H-0FFH
MOV82H,#02
MOV83H,#03
END
程序,运行完后,看了IDATA里面的结果发现只有7DH-7FH里面有01、02、03数据,80H-83H里面还是00。
不知道怎么回事,我发现好像是00H-7FH里面的单元都能写进去。。但是超过了7FH就写不进去了?
欢迎大家拍砖
不知道咋回事上传不了截图。。。。。 http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_616143D0F76G.JPG
(原文件名:wenti.JPG) 回复【1楼】gprs_new
-----------------------------------------------------------------------
MOV R0,#80H
MOV @R0,#01H (Intel在8052中扩展了高128字节RAM)及特殊功能寄存器区。低128字节的数据存储器既
可直接寻址也可间接寻址。高128字节RAM与特殊功能寄存器区貌似共用相同的地址范围,都使
用80H~FFH,地址空间虽然貌似重叠,但物理上是独立的,使用时通过不同的寻址方式�以区
分。高128字节RAM只能间接寻址,特殊功能寄存器区只可直接寻址。 感谢楼上的两位的指点。 谢了
哦我明白了。
通俗理解就是高128位,在传输数据的时候要有个“中间人”才能访问,
打个比方 皇帝(高128位)《-----太监(寄存器)《---奏折(数据)。
页:
[1]