百科狗-知识改变命运!
--

指令MOV与MOVX有什么不同之处?

一语惊醒梦中人1年前 (2023-12-17)阅读数 5#综合百科
文章标签存储器寄存器

MOV指令表示单片机内部的寄存器或者存储器之间相互传递数据,而MOVX则表示单片机内部的A累加器与片外的数据存储器传送数据.还有两条是MOVC的指令,它们表示A向ROM(程序存储器)读取数据,因为程序存储器是固定的不可以写的,所以,A只能读数据,却不能向它写数据.换句话说MOVX和MOVC是针对两种不同的存储器而言,一个是数据存储器,另一个却是程序存储器.

七种寻址方式举例为:

1、立即寻址方式:

指令:MOV AX,1234H

则: AX = 1234H

2、寄存器寻址方式:

对于16位操作数,寄存器可以是:AX、BX、CX、DX、SI、DI、SP和BP等。

3、直接寻址方式:

MOV AX,[8054]

如(DS)= 2000H,

则执行结果为(AX) = 3050H

4、寄存器间接寻址方式:

MOV AX,[SI]

如果(DS) = 5000H (SI)= 1234H

则物理地址 = ?50000 + 1234 = 51234H

51234H地址中的内容为:6789H

执行该指令后,(AX)= 6789H

指令MOV与MOVX有什么不同之处?

5、寄存器相对寻址方式:

MOV AX,[DI+1223H]

假设,(DS) = 5000H,(DI) = 3678H

则物理地址 = 50000 + 3678 + 1233 = 5489BH

5489BH地址中的内容:55AAH

执行该指令后AX = 55AAH

6、基址加变址寻址方式:

MOV AX,[BX][DI]

7、相对基址加变址寻址方式:

MOV AX,[BX+DI-2]

假设,(DS) = 5000H,(BX) = 1223H,DI = 54H,(51275)= 54H,(51276) = 76H

物理地址= 50000 + 1223 + 0054 + FFFE(-2 各位取反末位加一)= 51275H

执行该指令后 (AX) = 7654H

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)