




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP寻址方式和指令系统立即寻址方式直接寻址方式间接寻址方式寻址方式在立即寻址方式下,指令字里包含了一个供该指令使用的常数立即数前面必须加“#”C2xx支持两种立即寻址方式短立即数寻址长立即数寻址立即寻址方式该方式下,数据存储器以128个字被分为若干块,每个块称作数据页,64K数据存储器包含512个数据页。当前的数据页由状态寄存器ST0的9位页指针DP决定,CPU访问的特定单元地址由数据页和指令包含的7位偏移量产生。直接寻址方式指令寄存器的格式为:D15~8:指令类型D7:寻址方式D6~0:所寻址的数据存储器的7位偏移量直接寻址方式利用8个辅助寄存器(AR0~AR7)提供间接寻址的16位地址,可以访问64K数据存储器的任意单元。当前的辅助寄存器由状态寄存器ST0的3位指针ARP选定,它可以由MAR、LST指令或任何支持间接寻址的指令装载。指令执行过程中,当前AR的内容用作被访问的数据存储器地址。间接寻址方式
8MSBs:指令类型,还包括数据移位信息
N:下一个辅助寄存器更新指示。0:ARP的内容保持不变1:ARP装入ARB,NAR装入ARP。
NAR:下一个辅助寄存器,NAR装入ARP。间接寻址指令寄存器格式共六类(86条)累加器、算术、逻辑指令辅助寄存器、数据页指针指令TREG、PREG、乘法指令转移指令控制指令I/O、存储器操作指令指令介绍累加器、算术、逻辑指令
(1)ABS
功能:累加器取绝对值;句法:ABS
执行:PC+1;|(ACC)|->ACC;0->C(正数不变;负数取反加1)状态位:执行受OVM影响,结果影响C和OV
说明:当ACC为80000000h时,若没有设置溢出模式(OVM=0),则结果为80000000h;若OVM=1,则结果为7FFFFFFFh。两种情况OV均置位。(2)ADD
功能:加至累加器;句法:ADDdma[,shift];直接寻址,shift=0~16ADDind[,shift[,Arn]];间接寻址n=0~7ind:间接寻址操作选项
ADD#k ;短立即数寻址k:8位短立即数
ADD#lk[,shift];长立即数寻址lk:16位长立即数shift=0~15执行:PC+1;(ACC)+(dma)*2shift->ACC;or(ACC)+lk*2shift->ACC;or(ACC)+k->ACC
状态位:执行受SXM(符号扩展)和OVM(结果)影响,结果影响C和OV
说明:若使用间接寻址并更新ARP,则必须声明一个移位操作(0~16);短立即数寻址不受SXM位影响,并且不可重复执行。(3)ADDC
功能:带进位加至累加器;句法:ADDCdma ;直接寻址
ADDCind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(ACC)+(dma)+C->ACC;
状态位:执行受OVM影响,不受SXM影响,结果影响C和OV
说明:符号扩展位被抑制;进位位按正常方式产生。(4)ADDS
功能:符号抑制加至累加器;句法:ADDSdma ;直接寻址
ADDSind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(ACC)+(dma)->ACC;
状态位:执行受OVM影响,不受SXM影响,结果影响C和OV
说明:符号扩展位被抑制;进位位按正常方式产生。(5)ADDT
功能:由Treg决定移位次数加至累加器;句法:ADDTdma;直接寻址
ADDTind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(ACC)+(dma)X2Treg(3:0)->ACC;
状态位:执行受OVM和SXM影响,结果影响C和OV(6)AND功能:和累加器逻辑“与”;句法:ANDdma;直接寻址
ANDind[,Arn];间接寻址n=0~7ind:间接寻址操作选项
AND#lk[,shift];长立即数寻址lk:16位长立即数shift=0~16执行:PC+1;(ACC(15:0))AND(dma)->ACC(15:0)0->ACC(31:16);(ACC(31:0)ANDlk*2shift->ACC;状态位:无说明:若使用直接或间接寻址,累加器高字被清零;若使用长立即数寻址,移位时,32位结果未被填充的高/低位清零。(7)CMPL功能:累加器求反;句法:CMPL执行:PC+1;(ACC)逐位取反->ACC状态位:无说明:累加器内容被其逻辑反所代替。(8)LACC
功能:左移后装入累加器;句法:LACCdma[,shift] ;直接寻址,shift=0~16LACCind[,shift[,Arn]];间接寻址n=0~7ind:间接寻址操作选项
LACC#lk[,shift] ;长立即数寻址lk:16位长立即数,shift=0~15
执行:PC+1;(dma)*2shift->ACC;orlk*2shift->ACC;
状态位:执行受SXM影响说明:移位时,低位填0,高位由SXM位和符号位控制(9)LACL
功能:装载累加器低位并清除累加器高位;句法:LACLdma ;直接寻址
LACLind[,Arn];间接寻址n=0~7ind:间接寻址操作选项
LACL#k ;短立即数寻址k:8位短立即数执行:PC+1;(dma)->ACC(15:0)0->ACC(31:16);ork->ACC(7:0)0->ACC(31:8);
状态位:执行不受SXM影响说明:数据被当作无符号数处理(10)LACT
功能:由TREG决定左移次数装入累加器;句法:LACTdma ;直接寻址,shift=0~15LACTind[,Arn]];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(dma)*2TREG(3:0)->ACC
状态位:执行受SXM影响说明:移位时,低位填0,高位由SXM位和符号位控制(11)NEG
功能:累加器求补;句法:NEG
执行:PC+1;ACC*(-1)->ACC;
状态位:执行受OVM影响,结果影响C和OV
说明:当ACC为80000000h时,若没有设置溢出模式(OVM=0),则结果为80000000h,若OVM=1;则结果为7FFFFFFFh,两种情况OV均置1;如果执行结果ACC=0,则C=1;否则C=0。(12)NORM功能:对累加器规格化;句法:NORMind执行:PC增加1,然后…
如果(ACC)=0:那么TC→1
否则,如果(ACC(31))XOR(ACC(30))=0
那么TC→0(ACC)×2→ACC按指定修改当前AR
否则TC→1;状态位:影响TC(13)OR
功能:和累加器逻辑“或”;句法:ORdma ;直接寻址
ORind[,Arn];间接寻址n=0~7ind:间接寻址操作选项
OR#lk[,shift];长立即数寻址lk:16位长立即数shift=0~16
执行:PC+1;(ACC(31:0))OR(dma)->ACC(31:0);(ACC(31:0)ORlk*2shift->ACC;
状态位:无说明:若使用长立即数寻址,移位时,32位结果未被填充的高/低位清零。(14)ROL
功能:累加器左移旋转;句法:ROL
执行:PC+1;C→ACC(0)(ACC(31))→C(ACC(30:0))→ACC(31:1)
状态位:不受SXM位影响,该指令影响C位;(15)ROR
功能:累加器右移旋转;句法:ROR
执行:PC+1;C→(ACC(31)),ACC(0)→C,(ACC(31:1))→ACC(30:0)
状态位:不受SXM位影响,该指令影响C位;(16)SACH
功能:移位并存储累加器高字;句法:SACHdma[,shift2];直接寻址,shift2=0~7SACHind[,shift2[,Arn]];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(ACC*2shift)(高16位)->dma;
状态位:不受SXM的影响说明:将整个32位累加器内容复制到输出定标器,无符号左移0~7位,再将高16位结果保存。累加器的内容保持不变。(17)SACL
功能:移位并存储累加器低字;句法:SACLdma[,shift2];直接寻址,shift2=0~7SACLind[,shift2[,Arn]];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(ACC*2shift)(低16位)->dma;
状态位:不受SXM的影响说明:将整个32位累加器内容复制到输出定标器,无符号左移0~7位,再将低16位结果保存。累加器的内容保持不变。(18)SFL
功能:累加器左移;句法:SFL
执行:PC+1;ACC(31)->CACC(30:0)->ACC(31:1)0->ACC(0)
状态位:执行不受SXM影响,结果影响C(19)SFR
功能:累加器算术右移;句法:SFR
执行:PC+1;ACC(31:1)->ACC(30:0)ACC(0)->CifSXM=0,0->ACC(31)elseSXM=1ACC(31)->ACC(31);
状态位:执行受SXM影响,结果影响C(20)SUB功能:从累加器减;句法:SUBdma[,shift] ;直接寻址,shift=0~16SUBind[,shift[,Arn]];间接寻址n=0~7ind:间接寻址操作选项
SUB#k ;短立即数寻址SUB#lk[,shift] ;长立即数寻址执行:PC+1;(ACC)-(dma)*2shift->ACC;or(ACC)-lk*2shift->ACC;or(ACC)-k->ACC状态位:执行受SXM和OVM影响(短立即数不受SXM影响),结果影响C和OV说明:若未产生借位,C=1;若产生借位,C=0。(21)SUBB
功能:累加器带借位减;句法:SUBBdma ;直接寻址
SUBBind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(ACC)-(dma)-C的逻辑反->ACC;
状态位:执行受OVM(结果)影响,不受SXM影响,结果影响C和OV
说明:符号扩展位被抑制。(22)SUBC
功能:累加器条件减;句法:SUBCdma ;直接寻址
SUBCind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:对于(ACC)大于等于0并且(dma)大于等于0PC+1;(ACC)-(dma)×215->ALU输出;若ALU输出大于等于0,则ALU输出×2+1->ACC,否则ACC×2->ACC
状态位:不受SXM位影响,结果影响C和OV;说明:实现条件减法,可用于16位正数除法:16位被除数位于累加器低字,累加器高字清0,16位正除数存于数据存储器,然后执行16次SUBC指令,商位于累加器低字,余数位于累加器高字。(23)SUBS功能:抑制符号扩展的累加器减;句法:SUBSdma ;直接寻址
SUBSind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(ACC)-(dma)->ACC;状态位:执行受OVM(结果)影响,不受SXM影响,结果影响C和OV说明:符号扩展位被抑制;借位位按正常方式产生。(24)SUBT
功能:由Treg决定移位次数从累加器减;句法:SUBTdma;直接寻址
SUBTind;间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(ACC)-(dma)*2(TREG(3:0))->ACC;
状态位:执行受SXM和OVM影响,结果影响C和OV
说明:若未产生借位,C=1;若产生借位,C=0。(25)XOR
功能:和累加器逻辑“异或”;句法:XORdma;直接寻址
XORind[,Arn];间接寻址n=0~7ind:间接寻址操作选项
XOR#lk[,shift];长立即数寻址lk:16位长立即数shift=0~16
执行:PC+1; (ACC(15:0))XOR(dma)->ACC(15:0)ACC(31:16)->ACC(31:16);or(ACC(31:0)XORlk*2shift->ACC(31:0);
说明:若使用长立即数寻址,移位时,32位结果未被填充的高低位清零。(26)ZALR
功能:清累加器低字并舍入装载累加器高字;句法:ZALRdma ;直接寻址
ZALRind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(dma)->ACC(31:16);8000h->ACC(15:0);辅助寄存器指令(1)ADRK功能:当前辅助寄存器加1个短立即数;句法:ADRK#k ;立即寻址执行:PC+1;(当前AR)+k->AR;状态位:无说明:k为8位正整数。(2)SBRK功能:当前辅助寄存器减1个短立即数;句法:SBRK#k ;立即寻址执行:PC+1;(当前AR)-k->AR;状态位:无说明:k为8位正整数,无符号减法。(3)BANZ功能:当前辅助寄存器不为0则跳转;句法:BANZpma[,ind[,Arn]];间接寻址n=0~7ind:间接寻址操作选项执行:if(当前AR)‡0Thenpma->PCelse(PC)+2->pc状态位:无说明:缺省的操作是当前的AR减1,初始化AR为N-1,可以执行N次循环。(4)CMPR功能:比较当前辅助寄存器和AR0;句法:CMPRCM;CM比较条件:00-相等;01-小于;10-大于;11-不等执行:比较结果->ST1.TC状态位:影响TC说明:结果为真则TC=1;否则TC=0。(5)LAR功能:加载辅助寄存器句法:LARARx,dma;直接寻址,x=0~7LARARx,ind[,Arn];间接寻址n=0~7ind:间接寻址操作选项
LARARx,#k ;短立即数寻址k:8位短立即LARArx,#lk ;长立即数寻址lk:16位长立即数执行:PC+1;(dma)->ARx;orkorlk->ARx说明:无论SXM为何值,常数被当作一个无符号数。SAR句法:SARARx,dma;直接寻址,x=0~7SARARx,ind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;ARx->(dma);状态位:无说明:无MAR功能:修改辅助寄存器句法:MARdma;直接寻址,类似于执行一条空指令
MARind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;修改当前的AR和ARP指针状态位:无TREG、PREG和乘法指令(1)APAC功能:将乘积寄存器加至累加器;句法:APAC执行:PC+1;ACC+移位的PREG->ACC状态位:执行受PM和OVM影响,结果影响C和OV说明:操作不受SXM影响,PREG总是符号扩展的。(2)LPH功能:将数据存储器的内容装入乘积寄存器高字;句法:LPHdma;直接寻址
LPHind[,ARn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(数据存储器)->PREG(31:16)状态位:无说明:将数据存储器的内容装入乘积寄存器高字,低字不受影响。(3)LT功能:装载TREG句法:LTdma;直接寻址
LTind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(dma)->TREG状态位:无(4)LTA功能:装载TREG,累加前一次的乘积结果句法:LTAdma;直接寻址
LTAind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(dma)->TREG;ACC+移位的PREG->ACC状态位:执行受PM和OVM影响,结果影响C和OV说明:对应的指令是LTS(装载TREG,减去前一次的乘积结果)(5)LTD功能:装载TREG,累加前一次的乘积结果,同时移动数据句法:LTDdma;直接寻址LTDind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(dma)->TREG;(DMA)->DMA+1;ACC+移位的PREG->ACC状态位:执行受PM和OVM影响,结果影响C和OV说明:只能用于片上的数据RAM操作,数据移动可以跨越数据页(6)LTP功能:装载TREG,前一次的乘积结果保存到累加器句法:LTPdma;直接寻址LTPind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(dma)->TREG;移位的PREG->ACC状态位:执行受PM影响说明:无(7)LTS功能:装载TREG,减去前一次的乘积结果句法:LTSdma;直接寻址
LTSind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(dma)->TREG;ACC-移位的PREG->ACC状态位:执行受PM和OVM影响,结果影响C和OV说明:(8)MAC功能:乘加操作句法:MACpma,dma;直接寻址MACpma,ind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC->MSTACK;pma->PC;ACC+移位的PREG->ACC;(dma)->TREG;(pma)*TREG->PREG;辅助寄存器操作;
PC+1->PC;如果无重复操作,MSTACK->PC状态位:执行受PM和OVM影响,结果影响C和OV说明:比较适于多项式计算,类似指令MACD。(9)MACD功能:乘加及数据移动操作句法:MACDpma,dma;直接寻址MACDpma,ind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC->MSTACK;pma->PC;ACC+移位的PREG->ACC;(dma)->TREG;(pma)*TREG->PREG;辅助寄存器操作;(dma)->dma+1; PC+1->PC;如果无重复操作,MSTACK->PC状态位:执行受PM和OVM影响,结果影响C和OV说明:(10)MPY功能:有符号数乘法操作句法:MPYdma;直接寻址MPYind[,Arn];间接寻址n=0~7ind:间接寻址操作选项MPY#k;短立即数寻址,k:13位短立即数执行:PC+1;(dma)*TREG->PREG;k*TREG->PREG状态位:无说明:短立即数为13位有符号常数,直接符号扩展,不受SXM的影响(11)MPYA功能:乘法操作并累加前一次的乘积结果句法:MPYAdma;直接寻址MPYAind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;ACC+移位的PREG->ACC;(dma)*TREG->PREG;状态位:执行受PM和OVM影响,结果影响C和OV说明:对应的指令是MPYS(乘法操作并减去前一次的乘积结果)(12)MPYS功能:乘法操作并减前一次的乘积结果句法:MPYSdma;直接寻址MPYSind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;ACC-移位的PREG->ACC;(dma)*TREG->PREG;状态位:执行受PM和OVM影响,结果影响C和OV说明:(13)MPYU功能:无符号乘法操作句法:MPYUdma;直接寻址MPYUind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;无符号(dma)*无符号TREG->PREG;状态位:无,不受SXM的影响说明:(14)PAC功能:乘积寄存器送给累加器句法:PAC执行:PC+1;移位的PREG->ACC;状态位:受PM的影响说明:(15)SPAC功能:累加器与乘积寄存器相减句法:SPAC执行:PC+1;ACC-移位的PREG->ACC;状态位:受PM和OVM的影响,不受SXM的影响,影响C和OV说明:PREG总是符号扩展(16)SPH功能:保存PREG高字句法:SPHdma;直接寻址
SPHind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;16位移位的PREG高字->(dma);状态位:结果受PM影响说明:相关的指令SPL(保存PREG低字)(17)SPL功能:保存PREG低字句法:SPLdma;直接寻址
SPLind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;16位移位的PREG低字->(dma);状态位:结果受PM影响说明:(18)SPM功能:确定PREG的移位模式句法:SPM常数执行:PC+1;常数送给乘积移位模式位;状态位:影响PM说明:ST0(0,1)(19)SQRA功能:平方计算并累加前次乘积结果句法:SQRAdma;直接寻址
SQRAind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;ACC+移位的PREG->ACC;(dma)->TREG;(dma)*TREG->PREG;状态位:执行受PM和OVM影响,结果影响C和OV说明:相对应的指令是SQRS(平方计算并减去前次乘积结果)。(20)SQRS功能:平方计算并减前次乘积结果句法:SQRAdma;直接寻址
SQRAind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;ACC-移位的PREG->ACC;(dma)->TREG;(dma)*TREG->PREG;状态位:执行受PM和OVM影响,结果影响C和OV说明:转移指令(1)B功能:无条件跳转句法:Bpma[,ind[,Arn]];间接寻址n=0~7ind:间接寻址操作选项执行:pma->PC;间接寻址操作状态位:无说明:相关指令BACC(ACC(15:0)->PC)(2)BACC功能:根据累加器低字的内容跳转句法:BACC执行:ACC(15:0)->PC状态位:无说明:(3)BANZ功能:辅助寄存器为不零跳转句法:BANZpma[,ind[,Arn]];间接寻址n=0~7ind:间接寻址操作选项执行:如果当前AR不等于0,pma->PC;否则PC+2->PC;间接寻址操作状态位:无说明:(4)BCND功能:有条件跳转句法:BCNDpma,C1[C2,[C3]]]条件:EQ,NEQ,LT,LEQ,GT,GEQ,NC,C,NOV,OV,BIO,NTC,TC执行:ifC1andC2andC3pma->PC;状态位:无说明:无(5)CALA功能:无条件调用句法:CALA执行:PC+1->TOS,ACC(15:0)->PC;状态位:无说明:(6)CALL功能:无条件调用句法:CALLpma[,ind[,Arn]];间接寻址n=0~7ind:间接寻址操作选项执行:PC+2->TOS,pma->PC;间接寻址操作状态位:无说明:(6)CC功能:有条件调用句法:CCpma,C1[C2,[C3]]]条件:EQ,NEQ,LT,LEQ,GT,GEQ,NC,C,NOV,OV,BIO,NTC,TC执行:ifC1andC2andC3thenPC+2->TOS,pma->PCelsePC+1;状态位:无说明:无(7)INTR功能:软件中断句法:INTRk;k=0~31执行:PC+1->TOS对应中断矢量内容->PC;状态位:影响INTM;不受INTM的影响说明:INTM和中断屏蔽不会影响INTR指令,一旦响应中断,通过INTM=1来总的禁止中断(8)NMI功能:非屏蔽中断句法:NMI执行:PC+1->TOS;24H->PC;1->INTM;状态位:影响INTM;不受INTM的影响说明:(9)RET功能:子程序调用或中断调用返回句法:RET执行:(TOS)->PC;堆栈操作状态位:无说明:(10)RETC功能:子程序调用或中断调用条件返回句法:RETCcond1[,cond2][,cond3]…执行:ifcond1andcond2…,(TOS)->PC;堆栈操作;否则继续状态位:无说明:(11)TRAP功能:软件陷阱中断句法:TRAP执行:PC+1->TOS;22H->PC;状态位:不影响INTM;不受INTM的影响说明:5控制指令(1)BIT功能:位测试句法:BITdma,bitcode;直接寻址bitcode:0~15BITind,bitcode[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(dma)的位(15-bitcode)->TC;状态位:结果影响TC说明:拷贝数据存储器的位值到TC(2)BITT功能:TREG确定位代码的位测试句法:BITTdma;直接寻址BITind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(dma)的位(15-TREG(3:0))->TC;状态位:结果影响TC说明:拷贝数据存储器的位值到TC(3)CLRC功能:清除控制位句法:CLRCbit;bit:C,CNF,INTM,OVM,SXM,TC,XF执行:PC+1;0->bit;状态位:无说明:相对应的指令SETC(置位控制位)(4)IDLE功能:系统空闲等待中断句法:IDLE执行:PC不变;等待可屏蔽或不可屏蔽的硬件中断;状态位:受INTM的影响说明:该指令使系统进入低功耗模式。若INTM=0,中断到来时,程序跳转到相应的中断服务程序;若INTM=1,中断到来时,程序继续执行。(5)LDP功能:加载数据页指针句法:LDPdma;直接寻址
LDPind[,ARn];间接寻址
LDP#K;短立即数寻址执行:PC+1;(dma)的低9位->DP;K->DP状态位:影响DP说明:k为9位的短立即数。(6)LST功能:加载状态寄存器句法:LST#m,dma;直接寻址,m=0:ST0,m=1:ST1LST#m,ind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;(dma)->STm;状态位:影响ST0或ST1,但不影响INTM说明:1)LST#0操作不影响ST1中的ARB位;2)LST#1操作装载ARB的同时也加载ARP;3)间接寻址操作选项中指定下一个AR的操作被忽略;4)用于子程序或中断调用现场保护;5)直接寻址时,通常选择dma在数据页0。相对应的指令有SST。(7)NOP功能:空操作句法:NOP;执行:PC+1;状态位:无;说明:产生延时。(8)POP功能:出栈操作句法:POP;执行:PC+1;(TOS)->ACC(15:0),0->ACC(31:16);堆栈上弹一级状态位:无;说明:(9)POPD功能:出栈操作句法:POPDdma;直接寻址
POPDind[,ARn];间接寻址执行:PC+1;(TOS)->dma;堆栈上弹一级状态位:无;说明:(10)PSHD功能:入栈操作句法:PSHDdma;直接寻址
PSHDind[,ARn];间接寻址执行:PC+1;(dma)->TOS;堆栈下压一级状态位:无;说明:(11)PUSH功能:入栈操作句法:PUSH执行:PC+1;ACC(15:0)->TOS;堆栈下压一级状态位:无;说明:(12)RPT功能:重复下一条指令句法:RPTdma;直接寻址RPTind[,ARn];间接寻址n=0~7ind:间接寻址操作选项RPT#k;;短立即数寻址k:8位短立即数执行:PC+1;(dma)或k->RPTC;状态位:无说明:指令重复N+1次,重复操作不可被中断打断。(13)SETC功能:设置控制位句法:SETCbit;bit:C,CNF,INTM,OVM,SXM,TC,XF执行:PC+1;1->bit;状态位:无说明:(14)SST功能:保存状态寄存器句法:SST#m,dma;直接寻址,m=0:ST0,m=1:ST1SST#m,ind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;STm->dma;状态位:说明:I/O和存储器指令(1)BLDD功能:数据存储器空间内数据块移动句法:BLDD#lk,dma;直接寻址,lk:16位长立即数BLDD#lk,ind[,Arn];间接寻址n=0~7ind:间接寻址操作选项BLDDdma,#lk;BLDDind,#lk[,Arn];执行:PC+1;PC->MSTACK;lk->PC;(源)->目的;间接寻址操作;PC+1->PC;(MSTACK)->PC说明:指令之后的第一个操作数为源地址,第二个操作数为目的地址;源地址在指令执行后自动加1(间接寻址、长立即数寻址);该指令不能应用于存储器映射的控制寄存器;对应指令BLPD#PMA,DMA。(2)BLPD功能:从程序空间到数据存储器空间的数据块移动句法:BLPD#pma,dma;直接寻址,lk:16位长立即数BLPD#pma,ind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;PC->MSTACK;pma->PC;(源)->目的;间接寻址操作;PC+1->PC;(MSTACK)->PC状态位:无说明:指令之后的第一个操作数为源地址,第二个操作数为目的地址。(3)DMOV功能:数据存储器空间内数据向高地址的移动句法:DMOVdma;直接寻址,DMOVind[,ARn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;dma->(dma+1)状态位:受CNF 的影响说明:DMOV只在DARAM块内工作,也可穿过连续块的边界。(4)IN功能:从I/O端口读取数据句法:INdma,IOPORT;直接寻址,IOPORT:16位I/O端口地址INind,IOPORT[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;IOPORT->地址A(15:0);数据D(15:0)->dma状态位:无说明:读取外部I/O端口的数据。相对应的指令是OUT(输出数据到I/O端口)。(5)OUT功能:数据写从I/O端口句法:OUTdma,IOPORT;直接寻址,IOPORT:16位I/O端口地址OUTind,IOPORT[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;IOPORT->地址A(15:0);数据D(15:0)->IOPORT状态位:无说明:(6)SPLK功能:存储长立即数到数据存储器句法:SPLK#lk,dma;直接寻址,lk:16位长立即数
SPLK#lk,ind[,ARn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;lk->(dma);状态位:无说明:初始化控制寄存器或数据存储器(7)TBLR功能:表格读取句法:TBLRdma;直接寻址TBLRind[,Arn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;然后PC->MSTACK;ACC(15:0)->PC;(pma)->dma;间接寻址操作;PC+1->PC状态位:无说明:把累加器低字指定地址的PM单元的数据拷贝到指令指定的DM单元,指令执行后,PC自动加1,相对应的指令是TBLW(表格写入)。(8)TBLW功能:表格写句法:TBLWdma;直接寻址TBLWind[,ARn];间接寻址n=0~7ind:间接寻址操作选项执行:PC+1;然后PC->MSTACK;ACC(15:0)->
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内部集资合同范例
- 个人工地用工合同范例
- 兔业养殖收购合同范例
- 锚杆格梁施工方案
- 公益冠名合同范例
- 2025年药学鉴定考试题及答案
- 个人闲置住房买卖合同范例
- 修复车交易合同范例
- 众筹 投资合同范例
- 出售彩钢瓦油漆合同范例
- 安徽2025年安徽医科大学第一附属医院临床医技护理管理岗位招聘156人笔试历年参考题库附带答案详解
- 传染病习题库与参考答案
- 旅游景区股份合作开发协议书范本
- 2025年湖南信息职业技术学院单招职业技能测试题库参考答案
- 学情分析方案及学情分析报告范文
- 《CRISPR-Cas9及基因技术》课件
- 【博观研究院】2025年跨境进口保健品市场分析报告
- 游戏直播平台推广合作协议
- 《高科技服装与面料》课件
- 2025中国船舶集团限公司招聘高频重点模拟试卷提升(共500题附带答案详解)
- 土壤侵蚀与碳汇-深度研究
评论
0/150
提交评论