




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
DSP控制器原理與應(yīng)用第三節(jié)DSP編程語(yǔ)言地址符號(hào)寄存器名稱地址符號(hào)寄存器名稱00HIMR中斷屏蔽寄存器10HAR0輔助寄存器001HIFR中斷標(biāo)志寄存器11HAR1輔助寄存器102H
保留(用于測(cè)試)12HAR2輔助寄存器203H保留(用于測(cè)試)13HAR3輔助寄存器304H保留(用于測(cè)試)14HAR4輔助寄存器405H保留(用于測(cè)試)15HAR5輔助寄存器506HST0狀態(tài)寄存器016HAR6輔助寄存器607HST1狀態(tài)寄存器117HAR7輔助寄存器708HAL累加器A低字(15~0位)18HSP堆棧指針09HAH累加器A高字(31~16位)19HBK循環(huán)緩沖區(qū)長(zhǎng)度寄存器0AHAG累加器A保護(hù)位(39~32位)1AHBRC塊重復(fù)計(jì)數(shù)器0BHBL累加器B低字(15~0位)1BHRSA塊重復(fù)起始地址寄存器0CHBH累加器B高字(31~16位)1CHREA塊重復(fù)結(jié)束地址寄存器0DHBG累加器B保護(hù)位(39~32位)1DHPMST處理器模式狀態(tài)寄存器0EHT暫存寄存器1EHXPC程序計(jì)數(shù)器擴(kuò)展寄存器0FHTRN狀態(tài)轉(zhuǎn)移寄存器1FH保留常用寄存器及映射地址一、指令簡(jiǎn)介1.1按照尋址方式分類大體分為7種基本的數(shù)據(jù)尋址方式:1.立即數(shù)尋址2.絕對(duì)地址尋址3.累加器尋址4.直接尋址5.間接尋址6.存儲(chǔ)器映射寄存器尋址7.堆棧尋址常用符號(hào)dmad16位立即數(shù)表示的數(shù)據(jù)存儲(chǔ)器地址pmad16位立即數(shù)表示的程序存儲(chǔ)器地址dmem數(shù)據(jù)存儲(chǔ)器操作數(shù)pmem程序存儲(chǔ)器操作數(shù)Smem16位單數(shù)據(jù)存儲(chǔ)器操作數(shù)Lmem使用長(zhǎng)字尋址32位單數(shù)據(jù)存儲(chǔ)器操作數(shù)Xmem在雙(和一些)操作數(shù)指令使用的16位Ymem雙數(shù)據(jù)存儲(chǔ)器操作數(shù)MMRxMMRy存儲(chǔ)器映射寄存器:AR0~AR7或SP
MMR存儲(chǔ)器映射寄存器常用符號(hào)K少于9位的短立即數(shù)k33位立即數(shù)0~7k55位立即數(shù)-16~15k99位立即數(shù)0~115lk16位長(zhǎng)立即數(shù)PC程序指針XPC程序計(jì)數(shù)器擴(kuò)展寄存器SPC程序頁(yè)指針PAR程序地址寄存器RC循環(huán)計(jì)數(shù)器ST0主要反映處理器的尋址要求和計(jì)算機(jī)運(yùn)行狀態(tài)。ST0的結(jié)構(gòu):15—1312111098——0ST0:ARPTCCOVAOVBDPARPARP:輔助寄存器指針。用來(lái)選擇使用單操作數(shù)間接尋址時(shí)的輔助寄存器AR0~AR7。ARPTCTC:測(cè)試/控制標(biāo)志。
用來(lái)保存ALU測(cè)試操作的結(jié)果。TCCC:進(jìn)位標(biāo)志位。
用來(lái)保存ALU加減運(yùn)算時(shí)所產(chǎn)生的進(jìn)/借位。COVBOVAOVA/B:累加器A/B的溢出標(biāo)志。
用來(lái)反映A/B是否產(chǎn)生溢出。OVBOVADPDP:數(shù)據(jù)存儲(chǔ)器頁(yè)指針。
用來(lái)與指令中提供的7位地址結(jié)合形成1個(gè)
16位數(shù)據(jù)存儲(chǔ)器的地址。DPST1151413121110987654~0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAF:塊重復(fù)操作標(biāo)志位。
用來(lái)指示當(dāng)前是否在執(zhí)行塊重復(fù)操作。
BRAF=0
表示當(dāng)前不進(jìn)行重復(fù)塊操作;
BRAF=1
表示當(dāng)前正在進(jìn)行塊重復(fù)操作。CPL:直接尋址編輯方式標(biāo)志位;
用來(lái)指示直接尋址選用何種指針。
CPL=0選用數(shù)據(jù)頁(yè)指針DP的直接尋址;
CPL=1選用堆棧指針SP的直接尋址。XF:外部XF引腳狀態(tài)控制位。
用來(lái)控制XF通用外部輸出引腳的狀態(tài)。執(zhí)行SSBX
XF=1
XF通用輸出引腳為1;執(zhí)行RSBX
XF=0
XF通用輸出引腳為0。HM:保持方式位;響應(yīng)HOLD信號(hào)時(shí),指示
CPU是否繼續(xù)執(zhí)行內(nèi)部操作。
HM=0
CPU從內(nèi)部程序存儲(chǔ)器取指,
繼續(xù)執(zhí)行內(nèi)部操作。
HM=1
CPU停止內(nèi)部操作。
INTM:中斷方式控制位;
用于屏蔽或開(kāi)放所有可屏蔽中斷。
INTN=0開(kāi)放全部可屏蔽中斷;
INTN=1禁止所有可屏蔽中斷。0:保留位,未被使用,總是讀為0。OVM:溢出方式控制位;
用來(lái)確定累加器溢出時(shí),對(duì)累加器的加載方式。
OVM=0將運(yùn)算的溢出結(jié)果直接加載到累加器中;
OVM=1
當(dāng)正溢出時(shí),將007FFFFFFFH加載累加器;
當(dāng)負(fù)溢出時(shí),將FF80000000H加載累加器。SXM:符號(hào)位擴(kuò)展方式控制位;用來(lái)確定數(shù)據(jù)在運(yùn)算之前是否需要符號(hào)位擴(kuò)展。
SXM=0數(shù)據(jù)進(jìn)入ALU之前禁止符號(hào)位擴(kuò)展;
SXM=1數(shù)據(jù)進(jìn)入ALU之前進(jìn)行符號(hào)位擴(kuò)展。C16:雙16位/雙精度算術(shù)運(yùn)算方式控制位;
用來(lái)決定ALU的算術(shù)運(yùn)算方式。
C16=0
ALU工作在雙精度算術(shù)運(yùn)算方式;
C16=1
ALU工作在雙16位算術(shù)運(yùn)算方式。FRCT:小數(shù)方式控制位;
用來(lái)確定乘法器的運(yùn)算方式。
FRCT=1乘法器的輸出左移一位,消除多余的符號(hào)位。CMPT:間接尋址輔助寄存器修正方式控制位;
用來(lái)決定ARP是否進(jìn)行修正。
CMPT=0在進(jìn)行間接尋址單操作數(shù)時(shí),不修正ARP;
CMPT=1在進(jìn)行間接尋址單操作數(shù)時(shí),修正ARP。ASM:累加器移位方式控制位。
為某些具有移位操作的指令設(shè)定一個(gè)從-16~15范圍內(nèi)的移位值。BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM主要反映處理器的尋址要求、計(jì)算初始狀態(tài)的設(shè)置、I/O及中斷的控制等。1.2立即數(shù)尋址用于設(shè)置常數(shù)和對(duì)寄存器的初始化指令中包含一個(gè)操作數(shù),沒(méi)有尋找數(shù)據(jù)地址的操作分為短立即數(shù),用#K表示,包括3,5,8,9位,單字指令長(zhǎng)立即數(shù),用#lK表示,16位,雙字指令舉例:LD#23,A將立即數(shù)23送到A中3位立即數(shù)5位立即數(shù)8位立即數(shù)9位立即數(shù)16位立即數(shù)LD
LD
FRAMELDRPT
LD
ADDADDMANDANDMBITFCMPMLDMACORORMRPTRPTZSTSTMSUBXORXORM1.3絕對(duì)地址尋址指令中包含存放操作數(shù)的16位的存儲(chǔ)器單元地址能尋址所有的數(shù)據(jù)存儲(chǔ)器單元常操作:16位的標(biāo)號(hào)、16位的符號(hào)常量包括四種類型:1.數(shù)據(jù)存儲(chǔ)器地址(DMAD)尋址2.程序存儲(chǔ)器地址(PMAD)尋址3.端口地址(PA)尋址4.*(lk)尋址1.3.1數(shù)據(jù)存儲(chǔ)器地址尋址用于確定存放操作數(shù)的數(shù)據(jù)存儲(chǔ)器的地址使用程序標(biāo)號(hào)或數(shù)字來(lái)指定數(shù)據(jù)空間的一個(gè)地址常用語(yǔ)句:MVDKSmem,dmadMVDMdmad,MMRMVKDdmad,SmemMVMDMMR,dmad例句:MVDK*AR3-,1000hMVDM300h,AR7MVKD1000h,*+AR3MVMDAR7,1000h1.3.2.程序存儲(chǔ)器地址尋址用于確定程序存儲(chǔ)器中的一個(gè)地址使用一個(gè)符號(hào)或具體數(shù)字來(lái)指定程序空間一個(gè)地址主要指令:FIRSXmem,Ymem,pmadMACDSmem,pmad,srcMACPSmem,pmad,srcMVDPSmem,pmadMVPDpmad,Smem例句:A=0000770000H,AR3=0100H,(PM2000H)=1234H(DM0100H)=0055HMACD*AR3,2000H,AA=1234H*55H+770000HMACP*AR3,2000H,A結(jié)果同MACD若DP=004(DM0200H)=0123H(PMFE00H)=FFFFHMVDP0,0FE00h后(FE00H)=0123HAR7=0FFEH(PM2000H)=123H(DM0FFEH)=FFFFH
MVPD2000h,*AR7后(2000H)=123H1.3.3端口地址尋址指令中一個(gè)操作數(shù)用符號(hào)或者常數(shù)來(lái)指明端口地址語(yǔ)句:PORTRPA,SmemPORTWSmem,PA例句:PORTW200H,300H將數(shù)據(jù)存儲(chǔ)器地址200h中的內(nèi)容復(fù)制到端口地址位300H的I/O口1.4累加器尋址將累加器的內(nèi)容作為地址去訪問(wèn)程序存儲(chǔ)器單元將累加器的內(nèi)容作為一個(gè)地址,把程序存儲(chǔ)器當(dāng)作數(shù)據(jù)存儲(chǔ)器訪問(wèn)語(yǔ)句:READASmem
將A所指定的程序存儲(chǔ)器單元內(nèi)容傳送到Smem指向的數(shù)據(jù)存儲(chǔ)器單元中
WRITASmem將Smem指向的數(shù)據(jù)存儲(chǔ)器單元內(nèi)容傳送到A所指定的程序存儲(chǔ)器單元中在重復(fù)使用時(shí),A自動(dòng)增減,且只有通過(guò)A才可以訪問(wèn)程序存儲(chǔ)器例句:.mmregs
.global_main
.text
_main:LD#100H,AREADA23HLD#0F13H,AWRITA23H
.end查看memory中23H處和0F13H處數(shù)值的變化舉例:DPdmad
.mmregs.global_main.dataxx.set1ffhyy.set200h
.text
_main:rsbxcplld#3,dpld@xx,ald#4,dpadd@yy,a
.end1.菜單view–memory對(duì)180H,1FFH,200H賦值#0001H,#1000H,#0500H2.菜單view下的CPUregisters查看CPU寄存器的值3.菜單view下的peripheralregs查看外圍寄存器的值
舉例:SP+dmad
.mmregs.global_main.text
_main:stm#1000h,spstm#300h,AR2pshmar2pshmar2pshmar2ssbxcplld@1,aadd@2,a
.end1.菜單view–memory查看1000h附近的值2.菜單view下的CPUregisters查看CPU寄存器的值3.菜單view下的peripheralregs查看外圍寄存器的值
單操作數(shù)間接尋址形式操作句法功
能說(shuō)
明*ARx
地址=ARxARx的內(nèi)容為數(shù)據(jù)存儲(chǔ)器地址*ARx-地址=ARxARx=ARx-1尋址結(jié)束后,ARx地址減1。[注2]
*ARx+
地址=ARxARx=ARx+1尋址結(jié)束后,ARx地址加1。[注1]
*
+ARx
ARx=ARx+1地址=ARxARx中的地址加1后,再尋址。
[注1]、[注2]、[注3]
*ARx-0B
地址=ARxARx=B(ARx-AR0)尋址結(jié)束后,用位倒序進(jìn)位的方法從ARx中減去AR0的值。[注1]:尋址16位字時(shí)增/減量為1,32位字時(shí)增/減量為2。[注2]:這種方式只能用寫(xiě)操作指令。[注3]:這種方式不允許對(duì)存儲(chǔ)器映像寄存器尋址。
單操作數(shù)間接尋址形式操作句法功能說(shuō)明*ARx-0
地址=ARxARx=ARx-AR0尋址結(jié)束后,從ARx中減去AR0的值。*ARx+0
地址=ARxARx=ARx+AR0
尋址結(jié)束后,把AR0加到ARx中。*ARx+0B
地址=ARxARx=B(ARx+AR0)尋址結(jié)束后,用位倒序進(jìn)位的方法將AR0加到ARx中*ARx-%地址=ARxARx=Circ(ARx-1)尋址結(jié)束后,ARx中的地址值按循環(huán)減的方法減1。[注1]
*ARx+%地址=ARxARx=Circ(ARx+1)尋址結(jié)束后,ARx中的地址值按循環(huán)加的方法加1。[注1]
*ARx-0%地址=ARxARx=Circ(ARx-AR0)尋址結(jié)束后,按循環(huán)減的方法從ARx中減去AR0中的值[注1]:尋址16位字時(shí)增/減量為1,32位字時(shí)增/減量為2。單操作數(shù)間接尋址形式
操作句法功
能說(shuō)
明*ARx+0%地址=ARxARx=Circ(ARx+AR0)尋址結(jié)束后,按循環(huán)加的方法將AR0中的值加到ARx。*ARx(lk)地址=ARx+lkARx=ARx以ARx與16位數(shù)之和作為地址,尋址結(jié)束后,ARx中的值不變。*+ARx(lk)
地址=ARx+lkARx=ARx+lk將一個(gè)16位帶符號(hào)數(shù)加到ARx,然后尋址。[注3]*ARx(lk)%地址=Circ(ARx+lk)ARx=Circ(ARx+lk)將一個(gè)16位帶符號(hào)數(shù)按循環(huán)加的方法加至ARx,然后再尋址*(lk)地址=(lk)利用16位無(wú)符號(hào)數(shù)作為地址,尋址數(shù)據(jù)存儲(chǔ)器[注3]:這種方式不允許對(duì)存儲(chǔ)器映像寄存器尋址。
1.7存儲(chǔ)器映射寄存器尋址修改映射寄存器的內(nèi)容而不影響當(dāng)前的DP和SP在直接尋址方式下,數(shù)據(jù)存儲(chǔ)器地址的低7位來(lái)自指令字,無(wú)論DP和SP,數(shù)據(jù)地址的高9位強(qiáng)制清零在間接尋址方式下,數(shù)據(jù)存儲(chǔ)器地址的低7位來(lái)自當(dāng)前輔助寄存器的低7位,數(shù)據(jù)地址的高9位置零,操作完畢輔助寄存器的高9位被強(qiáng)制清零在存儲(chǔ)器映射寄存器尋址方式下,不能采用下列間接尋址的方法:ARx(lk),*+ARx(lk),*+ARx(lk)%和*(lk)可直接利用MMR的名稱快速訪問(wèn)數(shù)據(jù)存儲(chǔ)空間的0頁(yè)資源。指令匯編語(yǔ)言中只有下面的8條語(yǔ)句可以使用寄存器尋址LDMMMR,dst
;將MMR加載到累加器MVDMdmad,MMR
;數(shù)據(jù)存儲(chǔ)器向MMR傳送數(shù)據(jù)MVMDMMR,dmad
;MMR向指定地址傳送數(shù)據(jù)MVMMMMRx,MMRy
;MMRx向MMRy傳送數(shù)據(jù)POPMMMR
;將數(shù)據(jù)從棧頂彈至MMRPSHMMMR
;將MMR數(shù)據(jù)壓入堆棧STLMsrc,MMR
;累加器低位存入MMRSTM#lk,MMR
;長(zhǎng)立即數(shù)lk存入MMR舉例
.mmregs.global_main.text_main:STM#200H,AR4STM#23H,AR3LDMAR3,ALDMAR4,BMVMDAR3,200HMVDM200H,AR6MVMMAR6,SPPSHMAR3POPMAR3STLMA,AR5STM#300H,AR1.end1.8堆棧尋址堆棧向低地址生長(zhǎng),由16位的SP在管理壓棧是SP先減小,再存入數(shù)據(jù),出棧是數(shù)據(jù)先出棧,SP再增加。PSHDSmem;將Smem中的數(shù)據(jù)壓入堆棧POPDSmem;將數(shù)據(jù)從棧頂彈至Smem中PSHMMMR;將MMR中的數(shù)據(jù)壓入堆棧POPMMMR;將數(shù)據(jù)從棧頂彈至MMR中例句:PSHD23HPOPD23HPSHMAR2POPMAR2二.按照功能劃分(一)2.1數(shù)據(jù)傳送指令裝載指令即取數(shù)或賦值指令,用于將存儲(chǔ)器內(nèi)容或立即數(shù)賦給目的寄存器,共計(jì)21條。DLDLmem,dstdst=Lmem將Lmem所指定單數(shù)據(jù)存儲(chǔ)器中的32位數(shù)據(jù)送入累加器A或B中。LDSmem,dst
dst=Smem將Smem所指定單數(shù)據(jù)存儲(chǔ)器中的16位數(shù)據(jù)送入累加器A或B中。LDSmem,TS,dstdst=Smem<<TS將Smem所指定單數(shù)據(jù)存儲(chǔ)器中數(shù)據(jù),按TS所給定的移位數(shù)(-16TS31)移位,然后送入A或B。LDSmem,16,dst
dst=Smem<<16將Smem所指定單數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)左移16位后送入A或B。
LDSmem[,SHIFT],dstdst=Smem<<SHIFT將Smem所指定的單數(shù)據(jù)存儲(chǔ)器數(shù)據(jù),按SHIFT所給定移位數(shù)移位,然后送入A或B。LDXmem,SHIFT,dst
dst=Xmem<<SHIFT將Xmem所指定的雙數(shù)據(jù)存儲(chǔ)器數(shù)據(jù),按SHIFT所給定的移位數(shù)移位,然后送入A或B。
LD#K,dstdst=#K將短立即數(shù)K送入A或B。LD#lk[,SHIFT],dst
dst=#lk<<SHIFT將長(zhǎng)立即數(shù)lk移位后,送入累加器A或B。LD#lk,16,dstdst=#lk<<16將長(zhǎng)立即數(shù)lk左移16位后,送入累加器A或B。LDsrc,ASM[,dst]
dst=src<<ASM將源累加器src中的數(shù)據(jù),按ASM(-16SAM15)所給定移位數(shù)移位后,送入目的累加器dst。
LDsrc[,SHIFT][,dst]dst=src<<SHIFT將源累加器src中的數(shù)據(jù),按SHIFT所給定的移位數(shù)移位后,送入目的累加器dst。LDSmem,TT=Smem將Smem所指定的單數(shù)據(jù)器的數(shù)據(jù)送入暫存器T。LDSmem,DP
DP=Smem(8-0)將Smem所指定的單數(shù)據(jù)存儲(chǔ)器的低9位數(shù)據(jù),送入數(shù)據(jù)存儲(chǔ)器頁(yè)指針DP。
LD#k9,DPDP=#k9將9位立即數(shù)送入DPLD#k5,ASM
ASM=#k5將5位立即數(shù)送入累加器移位方式位ASM。
LD#k3,ARPARP=#k3將3位立即數(shù)送入ARP(3位輔助寄存器指針位)。LDSmem,ASM
ASM=Smem(4-0)將Smem所指定的單數(shù)據(jù)存儲(chǔ)器的低5位數(shù)據(jù)送入ASM。
LDMMMR,dstdst=MMR將MMR寄存器中的數(shù)據(jù),送入累加器dst。LDRSmem,dstdst(31-16)=rnd(Smem)將Smem所指定單數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)舍入后送入累加器。LDUSmem,dst
dst=uns(Smem)將Smem所指定的單數(shù)存儲(chǔ)器的無(wú)符號(hào)數(shù)據(jù),送入累加器。
LTDSmemT=Smem,(Smem+1)=Smem將單數(shù)據(jù)存儲(chǔ)器Smem數(shù)據(jù),送入寄存器T,并延時(shí)。存儲(chǔ)指令將源操作數(shù)或立即數(shù)存入指定存儲(chǔ)器或寄存器,共14條。DSTsrc,LmemLmem=src累加器值存入長(zhǎng)字存儲(chǔ)單元STT,Smem
Smem=T暫存器值存入存儲(chǔ)單元STTRN,SmemSmem=TRN狀態(tài)寄存器存入存儲(chǔ)單元ST#lk,Smem
Smem=#lk長(zhǎng)立即數(shù)存入存儲(chǔ)單元STHsrc,Smem Smem=src(31-16)累加器高階位存入存儲(chǔ)單元STHsrc,ASM,Smem
Smem=src(31-16)<<ASM累加器高階位移位后存入存儲(chǔ)單元STHsrc,SHIFT,Xmem Xmem=src(31-16)<<SHIFT累加器高階移位后存入存儲(chǔ)單元STHsrc[,SHIFT],Smem Smem=src(31-16)<<SHIFT累加器高階位移位后存入存儲(chǔ)單元STLsrc,Smem
Smem=src(15-0)累加器低階位存入存儲(chǔ)單元STLsrc,ASM,SmemSmem=src(15-0)<<ASM累加器低階位移位后存入存儲(chǔ)單元STLsrc,SHIFT,Xmem
Xmem=src(15-0)<<SHIFT累加器低階位移位后存入存儲(chǔ)單元STLsrc[,SHIFT],SmemSmem=src(15-0)<<SHIFT 累加器低階位移位后存入存儲(chǔ)單元STLMsrc,MMR
MMR=src(15-0)累加器低階位存入MMRSTM#lk,MMR MMR=#lk長(zhǎng)立即數(shù)存入MMR條件存儲(chǔ)指令根據(jù)條件將源操作數(shù)存入目的存儲(chǔ)器,共計(jì)4條指令。CMPSsrc,Smem若src(31~16)>src(15~0),則Smem=src(31~16);若src(31~16)src(15~0),則Smem=src(15~0)。即比較累加器的高、低位,并存儲(chǔ)最大值。SACCDsrc,Xmem,cond若滿足cond條件,則累加器值按ASM-16的差值移位,并存入Xmem中。
SRCCDXmem,cond若滿足cond條件,則將塊重復(fù)計(jì)數(shù)器BRC內(nèi)容存入Xmem中。STRCDXmem,cond若滿足cond條件,則將T寄存器中內(nèi)容存入Xmem中。
混合裝載和存儲(chǔ)指令用于完成數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器以及I/O口之間的數(shù)據(jù)傳輸,共計(jì)12條。MVDD
Xmem,Ymem
Ymem=Xmem
將數(shù)據(jù)存儲(chǔ)器Xmem中的數(shù)據(jù)傳送到數(shù)據(jù)存儲(chǔ)器Ymem中MVDK
Smem,dmad
dmad=Smem
將數(shù)據(jù)存儲(chǔ)器Smem中數(shù)據(jù)傳送到以dmad為地址的數(shù)據(jù)存儲(chǔ)器MVDM
dmad,MMRMMR=dmad
將以dmad為地址的數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)傳送到MMR中MVDP
Smem,pmad
pmad=Smem
將數(shù)據(jù)存儲(chǔ)器Smem中的數(shù)據(jù)傳送到以pmad為地址的程序存儲(chǔ)器中
MVKDdmad,Smem
Smem=dmad將以dmad為地址的數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)傳送到數(shù)據(jù)存儲(chǔ)器Smem中。
MVMDMMR,dmaddmad=MMR將MMR中的數(shù)據(jù)傳送到以dmad為地址的數(shù)據(jù)存儲(chǔ)器中。MVMMMMRx,MMRy
MMRy=MMRx將映像寄存器MMRx中的數(shù)據(jù)傳送到MMRy中。
MVPDpmad,SmemSmem=pmad將以pmad為地址的程序存儲(chǔ)器中的數(shù)據(jù)傳送到數(shù)據(jù)存儲(chǔ)器Smem中。PORTWSmem,PA
PA=Smem將數(shù)據(jù)存儲(chǔ)器Smem中的數(shù)據(jù)傳送到以PA為地址的I/O口中。PORTRPA,Smem
Smem=PA從以PA為地址的I/O口中讀入數(shù)據(jù)并存放在數(shù)據(jù)存儲(chǔ)器Smem中。READASmemSmem=Pmem(A)將以累加器A為地址的程序存儲(chǔ)器中的數(shù)據(jù)傳送到數(shù)據(jù)存儲(chǔ)器Smem中。
WRITASmem
Pmem(A)=Smem將數(shù)據(jù)存儲(chǔ)器Smem中的數(shù)據(jù)傳送到以累加器A為地址的程序存儲(chǔ)器中。
2.2算術(shù)運(yùn)算指令加法指令A(yù)DD減法指令SUB乘法指令MPY乘法-累加/累減指令MAC/MAS雙字指令DADD其他特殊指令加法指令共13條指令A(yù)DDSmem,src src=src+Smem操作數(shù)加至累加器ADDSmem,TS,src
src=src+Smem<<TS操作數(shù)移位后加至累加器ADDSmem,16,src[,dst]dst=src+Smem<<16操作數(shù)左移16位加至累加器ADDSmem,[,SHIFT],src[,dst]
dst=src+Smem<<SHIFT操作數(shù)移位后加至累加器ADDXmem,SHFT,src src=src+Xmem<<SHFT操作數(shù)移位后加至累加器ADDXmem,Ymem,dst
dst=Xmem<<16+Ymem<<16兩操作數(shù)分別左移16位后相加送至累加器ADD#lk,[,SHFT],src[,dst]
dst=src+#lk<<SHFT長(zhǎng)立即數(shù)移位后加至累加器ADD#lk,16,src[,dst]
dst=src+#lk<<16長(zhǎng)立即數(shù)左移16位加至累加器ADDsrc,[,SHIFT][,dst]
dst=dst+src<<SHIFT累加器移位后相加ADDsrc,ASM[,dst]
dst=dst+src<<ASM累加器按ASM移位后相加ADDCSmem,src
src=src+Smem+C操作數(shù)帶進(jìn)位加至累加器ADDM#lk,Smem
Smem=Smem+#lk長(zhǎng)立即數(shù)加至存儲(chǔ)器ADDSSmem,src
src=src+uns(Smem)操作數(shù)符號(hào)位不擴(kuò)展加至累加器減法指令共13條SUBSmem,srcsrc=src-Smem從累加器中減去操作數(shù)SUBSmem,TS,src
src=src-Smem<<TS從累加器中減去移位后的操作數(shù)SUBSmem,16,src[,dst]dst=src-Smem<<16累加器減去左移16位的操作數(shù)SUBSmem,[,SHIFT],src[,dst]
dst=src-Smem<<SHIFT操作數(shù)移位后與累加器相減SUBXmem,SHIFT,srcsrc=src-Xmem<<SHIFT操作數(shù)移位后與累加器相減SUBXmem,Ymem,dst
dst=Xmem<<16-Ymem<<16兩操作數(shù)分別左移16位后相減送至累加器SUB#lk,[,SHIFT],src[,dst]dst=src-#lk<<SHIFT長(zhǎng)立即數(shù)移位后與累加器相減SUB#lk,16,src[,dst] dst=src-#lk<<16長(zhǎng)立即數(shù)左移16位與累加器相減SUBsrc,[,SHIFT][,dst] dst=dst-src<<SHIFT目標(biāo)累加器減去移位后的源累加器SUBsrc,ASM[,dst] dst=dst-src<<ASM源累加器按ASM移位與目標(biāo)累加器相減SUBBSmem,srcsrc=src-Smem-C累加器與操作數(shù)帶借位減操作SUBCSmem,srcIf(src-Smem<<15)>0,
條件減法操作src=(src-Smem<<15)<<1+1Elsesrc=src<<1SUBSSmem,srcsrc=src-uns(Smem)累加器與符號(hào)位不擴(kuò)展的操作數(shù)減操作乘法指令10條結(jié)果都是32位的,存放在累加器A和B中MPYSmem,dstdst=T*SmemT寄存器與操作數(shù)相乘MPYRSmem,dstdst=rnd(T*Smem)T寄存器與操作數(shù)帶舍入相乘MPYXmem,Ymem,dstdst=Xmem*Ymem,T=Xmem兩操作數(shù)相乘MPYSmem,#lk,dstdst=Smem*#lk,T=Smem長(zhǎng)立即數(shù)與操作數(shù)相乘MPY#lk,dstdst=T*#lk長(zhǎng)立即數(shù)與T寄存器相乘MPYAdst
dst=T*A(32-16)T寄存器與累加器A高位相乘MPYASmemB=Smem*A(32-16),T=Smem操作數(shù)與累加器A高位相乘MPYUSmem,dst
dst=uns(T)*uns(Smem)無(wú)符號(hào)數(shù)相乘SQURSmem,dstdst=Smem*Smem,T=Smem操作數(shù)的平方SQURA,dst
dst=A(32-16)*A(32-16)累加器A高位的平方乘法-累加和乘法-減法指令22條MACSmem,srcsrc=src+T*Smem操作數(shù)與T相乘加到累加器MACXmem,Ymem,src[,dst]dst=src+Xmem*Ymem,T=Xmem兩操作數(shù)相乘加到累加器MAC#lk,src[,dst]dst=src+T*#lk長(zhǎng)立即數(shù)與T相乘加到累加器MACSmem,#lk,src[,dst]dst=src+Smem*#lk,T=Smem長(zhǎng)立即數(shù)與操作數(shù)相乘加到累加器MACRSmem,srcsrc=rnd(src+T*Smem)操作數(shù)與T相乘加到累加器(帶舍入)MACRXmem,Ymem,src[,dst]dst=rnd(src+Xmem*Ymem)T=Xmem兩操作數(shù)相乘加到累加器(帶舍入)MACASmem[,B] B=B+Smem*A(32-16),T=Smem操作數(shù)與累加器A高位相乘加到累加器BMACAT,src[,dst]dst=src+T*A(32-16)T與A的高位相乘加到累加器MACARSmem[,B]B=rnd(B+Smem*A(32-16)),T=Smem操作數(shù)與累加器A高位相乘加到累加器B(帶舍入)MACART,src[,dst]dst=rnd(src+T*A(32-16)) T與A高位相乘加到累加器(帶舍入)MACDSmem,Pmad,srcsrc=src+Smem*Pmad,T=Smem,(Smem+1)=Smem操作數(shù)與程序存儲(chǔ)器內(nèi)容相乘后加到累加器并延遲MACPSmem,Pmad,srcsrc=src+Smem*Pmad,T=Smem操作數(shù)與程序存儲(chǔ)器內(nèi)容相乘后加到累加器MACSUXmem,Ymem,srcsrc=src+uns(Xmem)*Ymem,T=Xmem無(wú)符號(hào)操作數(shù)與有符號(hào)操作數(shù)相乘后加到累加器MASSmem,srcsrc=src-T*Smem累加器減去T與操作數(shù)的乘積MASXmem,Ymem,src[,dst]dst=src-Xmem*Ymem,T=Xmem累加器減去兩操作數(shù)的乘積MASRXmem,Ymem,src[,dst]dst=rnd(src-Xmem*Ymem)T=Xmem累加器減去兩操作數(shù)的乘積(帶舍入)MASRSmem,srcsrc=rnd(src-T*Smem)累加器減去T與操作數(shù)的乘積(帶舍入)MASASmem[,B] B=B-Smem*A(32-16),T=Smem累加器B減去操作數(shù)與累加器A高位的乘積MASAT,src[,dst]dst=src-T*A(32-16)累加器減去T與A高位的乘積MASART,src[,dst]dst=rnd(src-T*A(32-16))累加器減去T與A高位的乘積(帶舍入)SQURASmem,srcsrc=src+Smem*Smem,T=Smem操作數(shù)的平方與累加器相加SQURSSmem,srcsrc=src-Smem*Smem,T=Smem操作數(shù)的平方與累加器相減雙字算術(shù)運(yùn)算指令6條DADDLmem,src[,dst]若C16=0,則完成雙精度加法dst=Lmem+src;若C16=1,則雙16位數(shù)加法dst(39-16)=Lmem(31-16)+src(31-16)dst(15-0)=Lmem(15-0)+src(15-0)DADSTLmem,dst若C16=0,則完成雙精度加法dst=Lmem+(T<<16+T);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)機(jī)制木碳數(shù)據(jù)監(jiān)測(cè)研究報(bào)告001
- 2025至2030年中國(guó)木制飛機(jī)市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 直播時(shí)代如何防沉迷
- 2025至2030年中國(guó)智能網(wǎng)集中監(jiān)測(cè)系統(tǒng)行業(yè)發(fā)展研究報(bào)告
- 2025至2030年中國(guó)智能信號(hào)顯示器行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國(guó)普通不粘鋁鍋市場(chǎng)調(diào)查研究報(bào)告
- 2025至2030年中國(guó)日常用品數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)無(wú)糖苦瓜曲奇行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國(guó)方蠟數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)新標(biāo)準(zhǔn)砂石篩行業(yè)投資前景及策略咨詢研究報(bào)告
- 【數(shù)學(xué)】三角形 問(wèn)題解決策略:特殊化課件2024-2025學(xué)年北師大版數(shù)學(xué)七年級(jí)下冊(cè)
- 2025年新人教版七年級(jí)英語(yǔ)新目標(biāo)下冊(cè)教學(xué)計(jì)劃
- 2025年領(lǐng)導(dǎo)干部任前廉政法規(guī)知識(shí)競(jìng)賽試題庫(kù)及答案(130題)
- 康復(fù)科制度及職責(zé)
- 玩具工廠訂單合同范文
- 《心理B證論文:淺談小學(xué)生自我監(jiān)控能力的培養(yǎng)》3100字
- 切口引流管非計(jì)劃拔管不良事件根本原因RCA分析
- 2024年10月自考03708中國(guó)近現(xiàn)代史綱要試題及答案含解析
- 消化科口服洗腸患者服務(wù)流程改進(jìn)及效果評(píng)價(jià)
- 別墅電梯井的施工方案
- 2023年福建省泉州泉港區(qū)第四屆頤豐杯七年級(jí)數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論