打印

为什么有多种寻址方式

[复制链接]
1021|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 | 只看该作者

反映了系统指令系统的优劣。

使用特权

评论回复
5
happy_10| | 2017-11-27 18:02 | 只看该作者

或者说是程序执行的速度

使用特权

评论回复
6
wenfen| | 2017-11-27 18:04 | 只看该作者

不同的场合用不同的寻址方式,以达到最佳速率与最短代码的折中

使用特权

评论回复
7
zhuhuis| | 2017-11-27 18:06 | 只看该作者
主要是速度

使用特权

评论回复
8
tian111| | 2017-11-27 18:07 | 只看该作者


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

占多大空间呢?要是用 MOV @R0,#0; R0++不是很好~

使用特权

评论回复
9
songqian17| | 2017-11-27 18:09 | 只看该作者

和单片机发展过程相关,以前内存很金贵,容量小,所以弄很多指令与其交道。而CISC单片机指令一般不是单周期的,所以要计较这些每条指令的长度,越短的指令执行的越快。所以,才弄这许多种寻址方式。

使用特权

评论回复
10
chenho| | 2017-11-27 18:11 | 只看该作者
嗯,内存根本就应该是线性的,只要是片内的存储器,都应该使用一种方式寻址。如果再上了RISC指令集,基本都是单周期操作,根本就不用区分了。

使用特权

评论回复
11
gongche| | 2017-11-27 18:13 | 只看该作者
这个是因为算法本来就是多种多样的,需要多种多样的寻址方式与之相适应。

使用特权

评论回复
12
huanghuac| | 2017-11-27 18:14 | 只看该作者

处理器寻址的方式不同,在程序运行过程中,所用的时间也不一样

使用特权

评论回复
13
wenfen| | 2017-11-27 18:16 | 只看该作者
处理器寻址的方式不同,多种寻址方式配合使用,实现最优

使用特权

评论回复
14
zhuhuis| | 2017-11-27 18:18 | 只看该作者
这是为了在效率和方便性上找一个平衡

使用特权

评论回复
15
tian111| | 2017-11-27 18:19 | 只看该作者

缩短指令长度,扩大寻址空间,提高编程的灵活性

使用特权

评论回复
16
huwr|  楼主 | 2017-11-27 18:21 | 只看该作者
搞定了,呵呵,犯了低级错误……结贴啦,多谢各位

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

粉丝