dsp 立即寻址、绝对寻址、直接寻址、间接寻址的差别是什么?
答案:1 悬赏:80 手机版
解决时间 2021-03-25 11:09
- 提问者网友:沉默菋噵
- 2021-03-25 03:23
dsp 立即寻址、绝对寻址、直接寻址、间接寻址的差别是什么?
最佳答案
- 五星知识达人网友:第幾種人
- 2021-03-25 04:16
所有汇编语句必然是两个操作数,而其一必然是寄存器,因为寄存器速度最快,为提高处理速度必须在寄存器中完成操作。就电脑存储层次的速度而言,寄存器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。
根据另一个操作数所在的位置分类的话,就是上述几种和另外一些了寻址模式了,如堆栈寻址、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。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯