如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
寻址用到的缩写语立即寻址:﹡就是指令中包含有执行指令所需要的立即数(不用寻址)。在数字前面加#号,表示一个立即数;﹡立即数可为3、5、8、9位短立即数,也可为16位长立即数;指令可为1字或2字。如:1)LD#80h,A2)LD#7h,ARP3)RPT#FFh4)LD#1Fh,ASM;将5位立即数加载到ASM中5)LD#1FFh,DP;将9位立即数加载到DP中绝对寻址:﹡指令中包含有所要寻址的存储单元的16位地址。﹡有四种绝对寻址:dmad寻址,pmad寻址,PA寻址,*(lk)寻址。数据页分配情况:地址DP27=1280000-----007Fh0080-----00FF10100-----017F20180-----01FF30200-----027F40280-----02FF50300-----037F60380-----03FF7…..Dmad寻址:Pmad寻址:PA寻址:*(lk)寻址:累加器寻址:直接寻址:﹡指令包含了数据地址的低7位,作为偏移地址与DP或SP中的基地址组合形成完整的16位数据地址。在DP和SP不变的情况下,可以直接访问128个地址。﹡使用SP还是DP由状态寄存器中的CPL位决定:CPL=0,使用DP的9位作为高9位与偏移地址相加CPL=1,使用SP的16位与偏移地址相加﹡直接寻址指令编码格式:15~876~0直接寻址的地址产生:※DP的取值范围:0~511(29=512),dma的取值范围从0~128,所以,DP指向全部的512页之一,dma指向这一页的128个字地址之一。※SP指向全空间的任意一个地址,dma指向某页的特定地址。从一个数据空间的任何一个基地址访问连续的128个字的块。※在偏移地址前加@来设定举例:注意(流水线等待..)见p341、LD#1234h,SPSSBXCPLST#5678h,@30h;(1264h)=#5678h2、LD#020h,DPRSBXCPLST#1234h,@30h;(1030h)=#1234h0001000000110000=1030间接寻址:例:完成下列表达式的程序.bssx,4;伪指令,为变量X,Y保留一个5个字的空间.bssy,1.text;程序开始,该段后包含了可执行的代码STM#X,AR1;将#X送到AR1中LD*AR1+,A;((AR1))→A,AR1=AR1+1ADD*AR1+,A;((AR1))+(A)→AADD*AR1+,A;+X3ADD*AR1,A;+X4STLA,*(y);A中的低位数送到y中.title“add001.asm”.mmregs.defstart.bssx,5.bssy,1.dataTable:.word1,2,3,4,5.textstart:stm#0,swwsrstm#x,ar1rpt#4mvpdtable,*ar1+;初始化数据;-----2222222222---rpt----stm#x,ar1ld*ar1+,arpt#3add*ar1+,astla,*(y);----222222222222-------例:求Y=X2+X4+X6+X8+X10.bssx,10;给变量x保留10个空间.bssy,1;给变量y保留1个空间.text;程序开始STM#X+1,AR1STM#2,AR0LD*AR1+0,A;X2→AADD*AR1+0,A;X2+X4→AADD*AR1+0,A;X2+X4+X6→AADD*AR1+0,A;X2+X4+X6+X8→AADD*AR1+0,A;X2+X4+X6+X8+X10→ASTLA,*(Y);Y为数据存储器的绝对地址135和246这样的都容易寻址,如何寻址084122101419513311715??位码倒序寻址功能:p36--2位码倒序寻址功能提高了FFT的运算速度和在程序中使用存储器的效率。在这种方式中,AR0存放的整数是FFT点数N的一半,执行*ARX+0B时,进位是从左到右。例:N=8,AR0=N/2=4,AR2=×××8H*AR2+0B;×××C*AR2+0B;×××A*AR2+0B;×××E……×××1000+100×××1100=×××C+100×××1010=×××A+×××1001110=×××E例:AR2=(01100000)2,AR0=(00001000)2执行*AR2+0B;01100000执行完后AR2的内容+0000100001101000;68h+0000100001100100;64h+0000100001101100;6Ch……循环寻址功能:许多算法,例如卷积、相关和