dsp间接寻址分为哪几个

103次

问题描述:

间接寻址的寻址范围怎么确定

推荐答案

2023-10-25 14:31:30

所有汇编语句必然是两个操作数,而其一必然是寄存器,因为寄存器速度最快,为提高处理速度必须在寄存器中完成操作。

就电脑存储层次的速度而言,寄存器register>缓存cache>内存memory>硬盘hard disk,可见离cpu越近速度越快(register是直接做在cpu内部的,就像下面例子中的教学楼、教务处等,所以速度够快)。

DSP与此类似。

根据另一个操作数所在的位置分类的话,就是上述几种和另外一些了寻址模式了,如堆栈寻址、MMR等。

举个例子。

你现在你的学校里,去找人处理一些事情,那么此人在哪里呢?几种可能:在身边、在某省市县小区幢101、你校第1教学楼301或你校第2教学楼301、此人不在学校但是教务处办公室可以查到他现在的地址,以上分别对应立即寻址、绝对寻址、直接寻址、间接寻址。

例子: LD #10,A STL A,*(y) LD @x,A LD *AR1,A 可以看到, 立即寻址,立即数前面必须加#; 绝对寻址是*和(),y就是这个绝对地址省市县区楼; 直接寻址的地址x前有@,就是301,至于是1教还是2教作基地址,需要提前设置到底是到哪个教学楼去找,对应sp堆栈或者数据存储器页指针DP设置。

用SSBX CPL(SET bit置CPL为1,用SP作基地址)或RSBX CPL(reset将CPL置0,用DP做基地址),到某页数据存储器中找,还需要设置此页数,如另DP为3就到第三页数据存储器中找),将堆栈当前地址sp+x低7位或将DP第三页首地址+x低7位; 间接寻址也有*,不过紧跟的是一个寄存器AR1而不是直接存储器中的数值x。

知道问答相关问答

(c)2008-2025 自学教育网 All Rights Reserved