【汇编】MOV DPTR,#E000H;MOVX A,@DPTR与MOVX A, #E000H有什么区别?

 我来答
胖大海君
推荐于2018-05-04 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1436
采纳率:11%
帮助的人:645万
展开全部
嘿嘿
MOV DPTR,#E000H;MOVX A,@DPTR与MOVX A, #E000H有什么区别?
最大的区别就是一个是51单片机的合法指令,另一个是51单片机的非法指令

你是想访问片外数据存储器,将片外数据存储器地址为E000H单元的内容传送给累加器A。
访问片外数据存储器必须要使用数据指针DPTR做间接寄存器来访问
MOV DPTR,#E000H; 首先将要访问的地址送给指针 即要确定数据指针的指向(E000H的单元)
MOVX A;使用片外数据存储器的传送指令,将指针所指的单元的内容送给累加器A。
因此 以上指令时正确的。

而MOVX A, #E000H 在8051单片机的指令表中时不存在的,
MOVX指令 只能采用寄存器间接寻址 即如,@DPTR ,@R0; 而不能采用其它寻址方式
如: #E000H 立即数寻址 E000H 直接寻址 都是不对的 ,即违法的。

呵呵 满意 就选满意回答啊
做而论道
高能答主

2012-10-19 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
MOV DPTR,#0E000H;
MOVX A,@DPTR
这两条是正确的写法。

MOVX A, #0E000H
这一条,是非法指令。

编写程序,必须使用指令系统中存在的指令。
自己创造的指令,就是非法指令。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式