关于MCS-51的 MOVX A,@DPTR 和 MOVX @DPTR,A指令
2015-02-10 12:49阅读:
首先要区别好这两个指令MOV 和
MOVX的基本用法。
访问内部RAM时用的是MOV (片内数据存储地址范围:00H~FFH)
访问外部RAM时用的是MOVX (片外数据存储地址范围:0000H~FFFFH)
(别把这两个指令与ROM的操作指令弄混淆了)
接下来看三条指令差不多就可以明白这两个指令的大概意思了
(其实这个指令的想完成的操作是先把地址1600H放到DPTR中,然后在通过 MOVX A,@DPTR 把地址1600H地址中的内容读取到A寄存器当中,我想应该是这样子的
)
(寄存器间接寻址)
(寄存器
访问内部RAM时用的是MOV (片内数据存储地址范围:00H~FFH)
访问外部RAM时用的是MOVX (片外数据存储地址范围:0000H~FFFFH)
(别把这两个指令与ROM的操作指令弄混淆了)
接下来看三条指令差不多就可以明白这两个指令的大概意思了
MOV DPTR,#1600H
这个的指令的意思是把#1600H这个16位立即数放到DPTR这个16为寄存器中(本质就是定义一个片外地址)(其实这个指令的想完成的操作是先把地址1600H放到DPTR中,然后在通过 MOVX A,@DPTR 把地址1600H地址中的内容读取到A寄存器当中,我想应该是这样子的
)MOVX A,@DPTR
把DPTR中的内容对应的地址中的内容读取到A寄存器中(寄存器间接寻址)
MOVX @DPTR,A
把A寄存器中的内容赋值给DPTR中的内容对应的地址中(寄存器
