Toggle navigation
首页
问答
IT问答
生活问答
电脑知识
百科
测评
汇编语言中,指令MOVC A,@A+PC 与指令MOVC A,@A+DPTR的不同是什么? 在什么情况下使用MOVC A,@A+PC ?
发布于2022-01-11 17:08:18
6
个回答
网友回答
2022-01-11
首先我想说很佩服你在大年三十提出这个问题,你肯定将来有所作为!
这两条指令都为查表指令,先说区别:先需分清PC与DPTR,pc为程序执行时当前的位置(地址),dptr为程序员当时所加载的值(一般为表头地址),相信你已经明白他们的区别。
一般都用MOVC A,@A+DPTR 不需要管表的位置!
网友回答
2022-01-11
MOVC A,@A+PC是读取地址为A+PC的存储单元里面的内容
MOVC A,@A+DPTR是读取地址为A+DPTR存储单元的内容
PC和DPTR的内容不同时,就有区别啦
还有DPTR可以用指令直接改变其中的值
网友回答
2022-01-11
针对楼下的一些笔误回答,应该是MOVC A ,@A+DPTR,是用来查表的,一般用这个查表。
网友回答
2022-01-11
@A存放地址30H,@A+PC为地址8000H加地址为PC的地址,由于你问题中没有将PC赋值我假设为ORG的值8000H,MOVC A,@A+PC可理解为将地址@A+PC传入变量A中,即A为DB字符串的首地址,也可理解为A为一个指针,指向字符串DB。 建议:如果你16位汇编学得不是很好最好不要学32位的。
网友回答
2022-01-11
楼上正解,但是第二条指令是单字节指令,PC值为8033H. D的地址为8033H(A地址是8030H)
网友回答
2022-01-11
MOV A,#30H
MOVC A,@A+PC这两条指令是双字节指令,在执行
MOVC A,@A+PC
时PC的地址由起初的8000H变成了8000H+2H+2H=8004H了,再加上A里面的30H,就是8034H,再看那个字母表,表首地址位8030H,D不是刚好就是8034H所对应的内容吗,所以送到A里的就是D 啊
IT问答最新文章
1
美图手机充电没反应
2
苹果电脑装windows系统进入黑屏怎么处理
3
朵唯手机t21型号手机,死机了开机后没有亮屏显示,应该怎样刷机
4
联想thankpad x200无线上网设备打开了 蓝牙的灯是亮的 无线上网的灯不亮 连接wifi上网
5
Visual Studio用哪个版本?最方便使用是哪个?
6
连上无线网但是ie浏览器无法访问。好久没用过,恢复出厂设置过。都清理过。
7
给我一份最强pc的配置表吧?
8
可以用手柄玩英雄联盟吗?
9
电脑问题,索尼笔记本用什么杀毒软件好,
10
能用4G吗支持LTE 应该支持4G啊
相关阅读
1
汇编语言中,指令MOVC A,@A+PC 与指令MOVC A,@A+DPTR的不同是什么? 在什么情况下使用MOVC A,@A+PC ?
2
台式机键盘失灵关机后等一会在开机就能用了这是为什mo
3
我的惠普台式电脑为什么在开机时 显示moniter going to sleep 随后就黑屏,主机
回到
顶部