汇编一点求解
时间:10-02
整理:3721RD
点击:
汇编很久都没有碰过,这次再次阅读资料,无意看见其中一段,竟然不解了?请知道的告知,谢谢!
DATA 和IDATA区寻址
MOV R1 #22H 设置R1 为指向DATA区内的地址22H的指针
MOV R0 #0A9H 设置R0为指向IDATA区内的地址0A9H的指针
==========================================
上面两项,R1 R0指向区域为什么会不同?
==========================================
MOV A @R1 读入地址22H的数据
MOV @R0 A 将累加器中的数据写入地址A9H
INC R0 RO中的地址变为AAH
INC R1 R1 中的地址变为23H
MOV 34H @R0 将地址AAH中的数据写入34H
MOV @R1 #67H 把立即数写入地址23H
XDATA区寻址
MOV DPTR #3048H DPTR指向外部存储区
MOVX A @DPTR 读入外部存储区地址3048H中的数
INC DPTR 指针加一
MOV A #26H 立即数26H写入A中
MOVX @DPTR A 将26H写入外部存储区地址3049H中
MOV R0 #87H R0指向外部存储区地址87H//(R0指向外部存储区?有点模糊)
MOVX A @R0 将外部存储区地址87H中的数读入累加器中
DATA 和IDATA区寻址
MOV R1 #22H 设置R1 为指向DATA区内的地址22H的指针
MOV R0 #0A9H 设置R0为指向IDATA区内的地址0A9H的指针
==========================================
上面两项,R1 R0指向区域为什么会不同?
==========================================
MOV A @R1 读入地址22H的数据
MOV @R0 A 将累加器中的数据写入地址A9H
INC R0 RO中的地址变为AAH
INC R1 R1 中的地址变为23H
MOV 34H @R0 将地址AAH中的数据写入34H
MOV @R1 #67H 把立即数写入地址23H
XDATA区寻址
MOV DPTR #3048H DPTR指向外部存储区
MOVX A @DPTR 读入外部存储区地址3048H中的数
INC DPTR 指针加一
MOV A #26H 立即数26H写入A中
MOVX @DPTR A 将26H写入外部存储区地址3049H中
MOV R0 #87H R0指向外部存储区地址87H//(R0指向外部存储区?有点模糊)
MOVX A @R0 将外部存储区地址87H中的数读入累加器中
没有什么不同,当R0,R1值大于7FH的时候,指针指向内部存储器的高128单元(51子系列里高128单元地址是没有物理RAM的,但是52子系列有)。
谢谢你的回答,明白了,
二楼回答正确
谢谢你的回答,学习了,