dsp 立即寻址、绝对寻址、直接寻址、间接寻址的差别是什么?如何判断汇编里边的语句他们是属于哪类寻址方式
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/01 22:57:55
![dsp 立即寻址、绝对寻址、直接寻址、间接寻址的差别是什么?如何判断汇编里边的语句他们是属于哪类寻址方式](/uploads/image/z/13396686-6-6.jpg?t=dsp+%E7%AB%8B%E5%8D%B3%E5%AF%BB%E5%9D%80%E3%80%81%E7%BB%9D%E5%AF%B9%E5%AF%BB%E5%9D%80%E3%80%81%E7%9B%B4%E6%8E%A5%E5%AF%BB%E5%9D%80%E3%80%81%E9%97%B4%E6%8E%A5%E5%AF%BB%E5%9D%80%E7%9A%84%E5%B7%AE%E5%88%AB%E6%98%AF%E4%BB%80%E4%B9%88%3F%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E6%B1%87%E7%BC%96%E9%87%8C%E8%BE%B9%E7%9A%84%E8%AF%AD%E5%8F%A5%E4%BB%96%E4%BB%AC%E6%98%AF%E5%B1%9E%E4%BA%8E%E5%93%AA%E7%B1%BB%E5%AF%BB%E5%9D%80%E6%96%B9%E5%BC%8F)
dsp 立即寻址、绝对寻址、直接寻址、间接寻址的差别是什么?如何判断汇编里边的语句他们是属于哪类寻址方式
dsp 立即寻址、绝对寻址、直接寻址、间接寻址的差别是什么?
如何判断汇编里边的语句他们是属于哪类寻址方式
dsp 立即寻址、绝对寻址、直接寻址、间接寻址的差别是什么?如何判断汇编里边的语句他们是属于哪类寻址方式
所有汇编语句必然是两个操作数,而其一必然是寄存器,因为寄存器速度最快,为提高处理速度必须在寄存器中完成操作.就电脑存储层次的速度而言,寄存器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.