为什么有多种寻址方式

[复制链接]
1338|15
 楼主| huwr 发表于 2017-11-27 17:57 | 显示全部楼层 |阅读模式

寻址方式就是根据指令给出的地址寻找真实操作数地址的方式。我的问题是,为什么有多种寻址方式
 楼主| huwr 发表于 2017-11-27 17:58 | 显示全部楼层

寻址方式的多少和功能强弱反映指令系统优劣
gongche 发表于 2017-11-27 17:59 | 显示全部楼层
顾名思义,寻址方式的多少和功能强弱反映出指令给出的地址寻找真实操作数地址或数据的快慢,即反映了系统程序的运行速度
huanghuac 发表于 2017-11-27 18:01 | 显示全部楼层

反映了系统指令系统的优劣。
happy_10 发表于 2017-11-27 18:02 | 显示全部楼层

或者说是程序执行的速度
wenfen 发表于 2017-11-27 18:04 | 显示全部楼层

不同的场合用不同的寻址方式,以达到最佳速率与最短代码的折中
zhuhuis 发表于 2017-11-27 18:06 | 显示全部楼层
主要是速度
tian111 发表于 2017-11-27 18:07 | 显示全部楼层


假设只有 MOV xxH,#0xxH, 那么你将128Byte的SRAM清零怎么写?
MOV 01H,#0;
MOV 02H,#0;
.
.
.
MOV 7FH,#0;

占多大空间呢?要是用 MOV @R0,#0; R0++不是很好~
songqian17 发表于 2017-11-27 18:09 | 显示全部楼层

和单片机发展过程相关,以前内存很金贵,容量小,所以弄很多指令与其交道。而CISC单片机指令一般不是单周期的,所以要计较这些每条指令的长度,越短的指令执行的越快。所以,才弄这许多种寻址方式。
chenho 发表于 2017-11-27 18:11 | 显示全部楼层
嗯,内存根本就应该是线性的,只要是片内的存储器,都应该使用一种方式寻址。如果再上了RISC指令集,基本都是单周期操作,根本就不用区分了。
gongche 发表于 2017-11-27 18:13 | 显示全部楼层
这个是因为算法本来就是多种多样的,需要多种多样的寻址方式与之相适应。
huanghuac 发表于 2017-11-27 18:14 | 显示全部楼层

处理器寻址的方式不同,在程序运行过程中,所用的时间也不一样
wenfen 发表于 2017-11-27 18:16 | 显示全部楼层
处理器寻址的方式不同,多种寻址方式配合使用,实现最优
zhuhuis 发表于 2017-11-27 18:18 | 显示全部楼层
这是为了在效率和方便性上找一个平衡
tian111 发表于 2017-11-27 18:19 | 显示全部楼层

缩短指令长度,扩大寻址空间,提高编程的灵活性
 楼主| huwr 发表于 2017-11-27 18:21 | 显示全部楼层
搞定了,呵呵,犯了低级错误……结贴啦,多谢各位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部