汇编语言中,指令MOVC A,@A+PC 与指令MOVC A,@A+DPTR的区别是什么? 在什么情况下使用MOVC A,@A+PC ?

在什么情况下使用MOVCA,,@A+DPTR?... 在什么情况下使用MOVC A,,@A+DPTR ? 展开
 我来答
帐号已注销
2021-10-30 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:216万
展开全部

MOVC A,@A+PC是读取地址为A+PC的存储单元里面的内容。

MOVC A,@A+DPTR是读取地址为A+DPTR存储单元的内容。

PC和DPTR的内容不同时,就有区别,还有DPTR可以用指令直接改变其中的值。

这两条都是查表指令,MOVC A,@A+PC,只能给累加器A赋值,所以只能查这条指令所在地址以后256字节范围内的代码或常数。而MOVC A,@A+DPTR,可以给DPTR赋给任何一个16位的地址值,所以查表范围可达整个程序存储器64K字节空间的代码或常数。

语言组成

由于汇编指令系统庞大,因而需构建指令系统体系,其指令数量庞大,格式复杂,可记忆性差等。指令中最难的是指令所支持的寻址方式,其实质就是指令中操作数如何获取。对于处理器而言,就是如何找到他所需的数据。

但对于计算机底层的汇编语言而言,这种寻址方式将涉及大量的计算存储格式,与 复杂的存储管理方式紧密相关,因而难以理解。最后,汇编指令还关系到如何影响标志位,但处理器标志位非常复杂,因而对其机制掌握就比较困难。

hkhk321
推荐于2017-09-24
知道答主
回答量:34
采纳率:0%
帮助的人:19.3万
展开全部
首先我想说很佩服你在大年三十提出这个问题,你肯定将来有所作为!
这两条指令都为查表指令,先说区别:先需分清PC与DPTR,pc为程序执行时当前的位置(地址),dptr为程序员当时所加载的值(一般为表头地址),相信你已经明白他们的区别。
一般都用MOVC A,@A+DPTR 不需要管表的位置!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
定惠cu
2011-02-04 · TA获得超过199个赞
知道答主
回答量:139
采纳率:0%
帮助的人:145万
展开全部
MOVC A,@A+PC是读取地址为A+PC的存储单元里面的内容
MOVC A,@A+DPTR是读取地址为A+DPTR存储单元的内容
PC和DPTR的内容不同时,就有区别啦
还有DPTR可以用指令直接改变其中的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaodawei004
2011-02-02
知道答主
回答量:18
采纳率:0%
帮助的人:10.9万
展开全部
针对楼下的一些笔误回答,应该是MOVC A ,@A+DPTR,是用来查表的,一般用这个查表。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式