




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章TMS320C54x匯編指令系統(tǒng)4.1指令系統(tǒng)中的符號(hào)和縮寫4.2指令系統(tǒng)4.3舉例TMS320C54x的指令系統(tǒng)較普通微控制器的指令系統(tǒng)復(fù)雜,有許多特殊的指令及用法,需要加以注意!!!
CISC4.1指令系統(tǒng)中的符號(hào)和縮寫序號(hào)符號(hào)含義1A累加器A2ALU算術(shù)邏輯運(yùn)算單元3AR泛指輔助寄存器4ARx指定某一輔助寄存器AR0~AR75ARPST0中的3位輔助寄存器指針位6ASMST1中的5位累加器移位方式位(-16~15)7B累加器B8BRAFST1中的塊重復(fù)有效標(biāo)志9BRC塊重復(fù)計(jì)數(shù)器10BITC或bit_code用于測(cè)試指令,指定數(shù)據(jù)存儲(chǔ)器單元中的哪一位被測(cè)試,4位,取指范圍:0~154.1指令系統(tǒng)中的符號(hào)和縮寫序號(hào)符號(hào)含義11C16ST1中的雙16位/雙精度算術(shù)運(yùn)算方式位12CST0中的進(jìn)位位13CC2位條件碼(0≤CC≤3)14CMPTST1中的兼容方式位15CPLST1中的編輯方式位16cond表示一種條件的操作數(shù),用于條件執(zhí)行指令17[d],[D]延遲選項(xiàng)18DABD地址總線19DARDAB地址寄存器20dmad16位立即數(shù)數(shù)據(jù)存儲(chǔ)器地址(0~65535)4.1指令系統(tǒng)中的符號(hào)和縮寫序號(hào)符號(hào)含義21Dmem數(shù)據(jù)存儲(chǔ)器操作數(shù)22DPST0中的9位數(shù)據(jù)存儲(chǔ)器頁指針(0≤
DP≤511)23dst目的累加器(A或B)24dst_另一個(gè)目的累加器25EABE地址總線26EAREAB地址寄存器27extpmad23位立即數(shù)程序存儲(chǔ)器地址28FRCTST1中的小數(shù)方式位29hi(A)累加器A的高階位(AH)30HMST1中的保持方式位4.1指令系統(tǒng)中的符號(hào)和縮寫序號(hào)符號(hào)含義31IFR中斷標(biāo)志寄存器32INTMST1中的中斷屏蔽位33K少于9位的短立即數(shù)34k33位立即數(shù)(0≤
k3≤7)35k55位立即數(shù)(-16≤
k5≤15)36k99位立即數(shù)(0≤
k9≤511)37lk16位長(zhǎng)立即數(shù)38Lmem利用長(zhǎng)字尋址的32位單數(shù)據(jù)存儲(chǔ)器操作數(shù)39mmr,MMR存儲(chǔ)器映像寄存器40MMRx,MMRy存儲(chǔ)器映像寄存器,AR0~AR7或SP4.1指令系統(tǒng)中的符號(hào)和縮寫序號(hào)符號(hào)含義41nXC指令后面的字?jǐn)?shù),取1或242N指定狀態(tài)寄存器,N=0為ST0,N=1為ST143OVAST0中的累加器A溢出標(biāo)志44OVBST0中的累加器B溢出標(biāo)志45OVdst目的累加器(A或B)的溢出標(biāo)志46OVdst_另一個(gè)目的累加器的溢出標(biāo)志47OVsrc源累加器(A或B)的溢出標(biāo)志48OVMST1中的溢出方式位49PA16位立即數(shù)端口地址(0≤
PA≤65535)50PAR程序存儲(chǔ)器地址寄存器4.1指令系統(tǒng)中的符號(hào)和縮寫序號(hào)符號(hào)含義51PC程序計(jì)數(shù)器52pmad16位立即數(shù)程序存儲(chǔ)器地址(0≤
pmad
≤
65535)53Pmem程序存儲(chǔ)器操作數(shù)54PMST處理器方式狀態(tài)寄存器55prog程序存儲(chǔ)器操作數(shù)56[R]舍入選項(xiàng)57rnd舍入58RC重復(fù)計(jì)數(shù)器59RTN快速返回寄存器60REA塊重復(fù)結(jié)束地址寄存器4.1指令系統(tǒng)中的符號(hào)和縮寫序號(hào)符號(hào)含義61RSA塊重復(fù)起始地址寄存器62SBIT指定狀態(tài)寄存器位的4位地址(0~15)63SHFT4位移位值(0~15)64SHIFT5位移位值(-16~15)65Sind間接尋址的單數(shù)據(jù)存儲(chǔ)器操作數(shù)66Smem16位單數(shù)據(jù)存儲(chǔ)器操作數(shù)67SP堆棧指針68src源累加器(A或B)69ST0,ST1狀態(tài)寄存器0,狀態(tài)寄存器170SXMST1中的符號(hào)擴(kuò)展方式位4.1指令系統(tǒng)中的符號(hào)和縮寫序號(hào)符號(hào)含義71T暫存器72TCST0中的測(cè)試/控制標(biāo)志73TOS堆棧頂部74TRN狀態(tài)轉(zhuǎn)移寄存器75TS由T寄存器的5~0位所規(guī)定的移位數(shù)(-16~31)76uns無符號(hào)數(shù)77XFST1中的外部標(biāo)志位78XPC程序計(jì)數(shù)器擴(kuò)展寄存器79Xmem16位雙數(shù)據(jù)存儲(chǔ)器操作數(shù),用于雙數(shù)據(jù)操作數(shù)指令和某些單數(shù)據(jù)操作數(shù)指令80Ymem16位雙數(shù)據(jù)存儲(chǔ)器操作數(shù),用于雙數(shù)據(jù)操作數(shù)指令4.1指令系統(tǒng)中的符號(hào)和縮寫序號(hào)符號(hào)運(yùn)算功能求值順序1+-~一元加法、減法、按位求反
從右至左2*/%乘法、除法、求模從左至右3+-加法、減法從左至右4^指數(shù)
從左到右
5<<>>左移、右移從左至右6<≤小于、小于等于從左至右7>≥大于、大于等于從左至右8!=不等于從左至右9&按位與運(yùn)算從左至右10∧
按位異或運(yùn)算從左至右11|按位或運(yùn)算從左至右指令系統(tǒng)的運(yùn)算符號(hào) C54x的指令系統(tǒng)包含助記符指令和代數(shù)指令兩種形式助記符指令: 是一種采用助記符號(hào)表示的類似于匯編語言的指令代數(shù)指令: 是一種比匯編語言更高級(jí),類似于高級(jí)語言的代數(shù)形式指令,具有接近匯編語言的特點(diǎn)
兩種指令形式具有相同的功能4.2指令系統(tǒng)基本指令129條,派生有205條按指令功能分為四類 算術(shù)運(yùn)算 邏輯運(yùn)算 程序控制 加載和存儲(chǔ)4.2指令系統(tǒng)4.2指令系統(tǒng)TMS320C54x的指令表示方法 C54x的助記符指令是由操作碼和操作數(shù)兩部分組成LD#0FFh,A
;將立即數(shù)0FFH傳送至A
操作碼源操作數(shù)目的操作數(shù)注釋4.2指令系統(tǒng)
LDSmem,SHIFT,dst
;dst=Smem<<SHIFT151413121110987654321001101111IAAAAAAA0000110D010SHIFTA:Smem的存儲(chǔ)地址
D:目的累加器位D=0dst為累加器AD=1dst為累加器BSHIFT:移位數(shù)區(qū)移位范圍:-16~15I=0:直接尋址,A…A:指令中dma的低7位I=1:間接尋址,3位選擇ARx,4位選擇MODMOD=15,*(lk),增加一個(gè)字4.2指令系統(tǒng) 學(xué)習(xí)指令應(yīng)注意的事項(xiàng):指令功能操作數(shù)尋址方式影響指令執(zhí)行的狀態(tài)位指令的執(zhí)行結(jié)果指令對(duì)狀態(tài)位的影響指令的長(zhǎng)度指令的周期數(shù)指令的限制條件指令的使用場(chǎng)合4.2指令系統(tǒng)4.2.1算術(shù)運(yùn)算指令4.2.2邏輯運(yùn)算指令4.2.3程序控制指令4.2.4加載和存儲(chǔ)指令TMS320C54xDSPReferenceSetVolume2:MnemonicInstructionSetLiteratureNumber:SPRU172BJune19984.2.1算術(shù)運(yùn)算指令C54x的算術(shù)運(yùn)算指令 加法指令(ADD) 減法指令(SUB) 乘法指令(MPY) 乘累加指令(MAC) 乘法減法指令(MAS) 雙字/雙精度運(yùn)算指令(DADD、DSUB) 專用指令(ABDST、SQDST)序號(hào)語法表達(dá)式說明1ADDSmem,srcsrc=src+Smem操作數(shù)加至累加器2ADDSmem,TS,srcsrc=src+Smem<<TS操作數(shù)移位后加至累加器3ADDSmem,16,src[,dst]dst=src+Smem<<16操作數(shù)左移16位加至累加器4ADDSmem,[,SHIFT],src[,dst]dst=src+Smem<<SHIFT操作數(shù)移位后加至累加器5ADDXmem,SHFT,src
src=src+Xmem<<SHFT操作數(shù)移位后加至累加器6ADDXmem,Ymem,dstdst=Xmem<<16+Ymem<<16兩操作數(shù)分別左移16位后相加至累加器7ADD#lk,[,SHFT],src[,dst]dst=src+#lk<<SHFT長(zhǎng)立即數(shù)移位后加至累加器8ADD#lk,16,src[,dst]dst=src+#lk<<16長(zhǎng)立即數(shù)左移16位加至累加器9ADDsrc,[,SHIFT][,dst]dst=dst+src<<SHIFT累加器移位后相加10ADDsrc,ASM[,dst]dst=dst+src<<ASM累加器按ASM移位后相加11ADDCSmem,srcsrc=src+Smem+C操作數(shù)帶進(jìn)位加至累加器12ADDM#lk,SmemSmem=Smem+#lk長(zhǎng)立即數(shù)加至存儲(chǔ)器13ADDSSmem,srcsrc=src+uns(Smem)操作數(shù)符號(hào)位不擴(kuò)展加至累加器加法指令(ADD)減法指令(SUB)序號(hào)語法表達(dá)式說明1SUBSmem,srcsrc=src-Smem從累加器中減去操作數(shù)2SUBSmem,TS,srcsrc=src-Smem<<TS從累加器中減去移位后的操作數(shù)3SUBSmem,16,src[,dst]dst=src-Smem<<16累加器減去左移16位的操作數(shù)4SUBSmem,[,SHIFT],src[,dst]dst=src-Smem<<SHIFT操作數(shù)移位后與累加器相減5SUBXmem,SHFT,src
src=src-Xmem<<SHFT操作數(shù)移位后與累加器相減6SUBXmem,Ymem,dstdst=Xmem<<16-Ymem<<16兩操作數(shù)分別左移16位后相減送至累加器7SUB#lk,[,SHFT],src[,dst]dst=src-#lk<<SHFT長(zhǎng)立即數(shù)移位后與累加器相減8SUB#lk,16,src[,dst]dst=src-#lk<<16長(zhǎng)立即數(shù)左移16位與累加器相減9SUBsrc,[,SHIFT][,dst]dst=dst-src<<SHIFT目標(biāo)累加器減去移位后的源累加器10SUBsrc,ASM[,dst]dst=dst-src<<ASM源累加器按ASM移位與目標(biāo)累加器相減11SUBBSmem,srcsrc=src-Smem-C累加器與操作數(shù)帶借位減操作12SUBCSmem,srcIf(src-Smem<<15)>0,src=(src-Smem<<15)<<1+1Elsesrc=src<<1條件減法操作13SUBSSmem,srcsrc=src-uns(Smem)累加器與符號(hào)位不擴(kuò)展的操作數(shù)減操作乘法指令(MPY)序號(hào)語法表達(dá)式說明1MPYSmem,dstdst=T*SmemT寄存器與操作數(shù)相乘2MPYRSmem,dstdst=rnd(T*Smem)T寄存器與操作數(shù)帶舍入相乘3MPYXmem,Ymem,dst
dst=Xmem*Ymem,T=Xmem兩操作數(shù)相乘4MPYSmem,#lk,dstdst=Smem*#lk,T=Smem長(zhǎng)立即數(shù)與操作數(shù)相乘5MPY#lk,dstdst=T*#lk長(zhǎng)立即數(shù)與T寄存器相乘6MPYAdstdst=T*A(32-16)T寄存器與累加器A高位相乘7MPYASmemB=Smem*A(32-16),T=Smem操作數(shù)與累加器A高位相乘8MPYUSmem,dstdst=uns(T)*uns(Smem)無符號(hào)數(shù)相乘9SQURSmem,dstdst=Smem*Smem,T=Smem操作數(shù)的平方10SQURA,dstdst=A(32-16)*A(32-16)累加器A高位的平方乘累加指令(MAC)和乘法減法指令(MAS)序號(hào)語法表達(dá)式說明1MAC
Smem,srcsrc=src+T*Smem操作數(shù)與T相乘加到累加器2MACXmem,Ymem,src[,dst]dst=src+Xmem*Ymem,T=Xmem兩操作數(shù)相乘加到累加器3MAC#lk,src[,dst]dst=src+T*#lk長(zhǎng)立即數(shù)與T相乘加到累加器4MAC
Smem,#lk,src[,dst]dst=src+Smem*#lk,T=Smem長(zhǎng)立即數(shù)與操作數(shù)相乘加到累加器5MACRSmem,srcsrc=rnd(src+T*Smem)操作數(shù)與T相乘加到累加器(帶舍入)6MACRXmem,Ymem,src[,dst]dst=rnd(src+Xmem*Ymem),T=Xmem兩操作數(shù)相乘加到累加器(帶舍入)7MACASmem[,B]B=B+Smem*A(32-16),T=Smem操作數(shù)與累加器A高位相乘加到累加器B8MACAT,src[,dst]dst=src+T*A(32-16)T與A的高位相乘加到累加器乘累加指令(MAC)和乘法減法指令(MAS)序號(hào)語法表達(dá)式說明9MACARSmem[,B]B=rnd(B+Smem*A(32-16)),T=Smem操作數(shù)與累加器A高位相乘加到累加器B(帶舍入)10MACART,src[,dst]dst=rnd(src+T*A(32-16))T與A高位相乘加到累加器(帶舍入)11MACDSmem,Pmad,srcsrc=src+Smem*Pmad,T=Smem,(Smem+1)=Smem操作數(shù)與程序存儲(chǔ)器內(nèi)容相乘后加到累加器并延遲12MACPSmem,Pmad,srcsrc=src+Smem*Pmad,T=Smem操作數(shù)與程序存儲(chǔ)器內(nèi)容相乘后加到累加器13MACSUXmem,Ymem,srcsrc=src+uns(Xmem)*Ymem,T=Xmem無符號(hào)操作數(shù)與有符號(hào)操作數(shù)相乘后加到累加器14MAS
Smem,srcsrc=src-T*Smem累加器減去T與操作數(shù)的乘積15MASXmem,Ymem,src[,dst]dst=src-Xmem
*Ymem,T=Xmem累加器減去兩操作數(shù)的乘積乘累加指令(MAC)和乘法減法指令(MAS)序號(hào)語法表達(dá)式說明16MASRXmem,Ymem,src[,dst]dst=rnd(src-Xmem*Ymem),T=Xmem累加器減去兩操作數(shù)的乘積(帶舍入)17MASRSmem,srcsrc=rnd(src-T*Smem)累加器減去T與操作數(shù)的乘積(帶舍入)18MASASmem[,B]B=B-Smem*A(32-16),T=Smem累加器B減去操作數(shù)與累加器A高位的乘積19MASAT,src[,dst]dst=src-T*A(32-16)累加器減去T與A高位的乘積20MASART,src[,dst]dst=rnd(src-T*A(32-16))累加器減去T與A高位的乘積(帶舍入)21SQURASmem,srcsrc=src+Smem*Smem,T=Smem操作數(shù)的平方與累加器相加22SQURSSmem,srcsrc=src-Smem*Smem,T=Smem操作數(shù)的平方與累加器相減專用指令(ABDST、SQDST)序號(hào)語法表達(dá)式說明1ABDSTXmem,YmemB=B+|A(32-16)|,A=(Xmem-Ymem)<<16絕對(duì)距離2ABSsrc[,dst]dst=|src|累加器求絕對(duì)值3CMPLsrc[,dst]dst=~src累加器求反4DELAYSmem(Smem+1)=Smem存儲(chǔ)單元延遲5EXPsrcT=帶符號(hào)數(shù)(src)-8求累加器的指數(shù)6FIRSXmem,Ymem,PmadB=B–A*Pmad,A=(Xmem+Ymem)<<16對(duì)稱FIR濾波7LMSXmem,YmemB=B+Xmem*Ymem,A=(A+Xmem<<16)+215求最小均方值專用指令(ABDST、SQDST)序號(hào)語法表達(dá)式說明8MAXdstdst=max(A,B)求A和B的最大值9MINdstdst=min(A,B)求A和B的最小值10NEGsrc[,dst]dst=-src累加器變負(fù)11NORMsrc[,dst]dst=src<<TS,dst=norm(src,T)歸一化12POLYSmem
B=Smem<<16,A=rnd(A*T+B)求多項(xiàng)式的值13RNDsrc[,dst]dst=src+215累加器舍入運(yùn)算14SATsrc
Saturate(src)累加器飽和運(yùn)算15SQDSTXmem,Ymem
B=B+A(32-16)*A(32-16)A=(Xmem-Ymem)<<16求距離的平方4.2.2邏輯運(yùn)算指令邏輯指令 與(AND) 或(OR) 異或(XOR)
移位 測(cè)試與(AND)序號(hào)語法表達(dá)式說明1ANDSmem,srcsrc=src&Smem源操作數(shù)與累加器與運(yùn)算2AND#lk[,SHFT],src[,dst]dst=srclk<<SHFT長(zhǎng)立即數(shù)移位后與累加器與運(yùn)算3AND#lk,16,src[,dst]dst=srclk<<16長(zhǎng)立即數(shù)左移16位與累加器與運(yùn)算4ANDsrc[,SHIFT][,dst]dst=dst&src<<SHIFT源累加器移位后與目標(biāo)累加器與運(yùn)算5ANDM#lk,SmemSmem=Smemlk目標(biāo)操作數(shù)與長(zhǎng)立即數(shù)與運(yùn)算或(OR)序號(hào)語法表達(dá)式說明1ORSmem,srcsrc=src|Smem源操作數(shù)與累加器或運(yùn)算2OR#lk[,SHFT],src[,dst]dst=src|#lk<<SHFT長(zhǎng)立即數(shù)移位后與累加器或運(yùn)算3OR#lk,16,src[,dst]dst=src|#lk<<16長(zhǎng)立即數(shù)左移16位與累加器或運(yùn)算4ORsrc[,SHIFT][,dst]dst=dst|src<<SHIFT源累加器移位后與目標(biāo)累加器或運(yùn)算5ORM#lk,SmemSmem=Smem|#lk目標(biāo)操作數(shù)與長(zhǎng)立即數(shù)或運(yùn)算異或(XOR)序號(hào)語法表達(dá)式說明1XORSmem,srcsrc=src
Smem源操作數(shù)與累加器異或運(yùn)算2XOR#lk[,SHFT],src[,dst]dst=src
#lk<<SHFT長(zhǎng)立即數(shù)移位后與累加器異或運(yùn)算3XOR#lk,16,src[,dst]dst=src
#lk<<16長(zhǎng)立即數(shù)左移16位與累加器異或運(yùn)算4XORsrc[,SHIFT][,dst]dst=dst
src<<SHIFT源累加器移位后與目標(biāo)累加器異或運(yùn)算5XORM#lk,SmemSmem=Smem
#lk目標(biāo)操作數(shù)與長(zhǎng)立即數(shù)異或運(yùn)算移位指令測(cè)試指令4.2.3程序控制指令程序控制指令 分支轉(zhuǎn)移指令 子程序調(diào)用指令 中斷指令 返回指令 重復(fù)指令 堆棧操作指令 混合程序控制指令分支轉(zhuǎn)移指令子程序調(diào)用指令中斷指令返回指令重復(fù)指令序號(hào)語法表達(dá)式說明1RPTSmem重復(fù)單次,RC=Smem重復(fù)執(zhí)行下條指令(Smem)+1次2RPT#K重復(fù)單次,RC=#K重復(fù)執(zhí)行下條指令#K+1次3RPT#lk重復(fù)單次,RC=#lk重復(fù)執(zhí)行下條指令#lk
+1次4RPTB[D]pmad塊重復(fù),RSA=PC+2[4],REA=pmad
重復(fù)執(zhí)行程序塊5RPTZdst,#lk重復(fù)單次,RC=#lk,dst=0重復(fù)執(zhí)行下條指令#lk
+1次,累加器清零堆棧操作指令混合程序控制指令影響ST0,ST1,不影響PMST4.2.4加載和存儲(chǔ)指令加載和存儲(chǔ)指令 加載指令 存儲(chǔ)指令 條件存儲(chǔ)指令 并行加載和存儲(chǔ)指令 并行加載和乘法指令 并行存儲(chǔ)和加/減法指令 混合加載和存儲(chǔ)指令加載指令存儲(chǔ)器的內(nèi)容或立即數(shù)賦給目的寄存器(A,B,或ST0,ST1位及位域)存儲(chǔ)指令源操作數(shù)或立即數(shù)存入存儲(chǔ)器或寄存器存儲(chǔ)器映像寄存器MMR加載指令存儲(chǔ)指令條件存儲(chǔ)指令并行加載和存儲(chǔ)指令并行加載和乘法指令并行存儲(chǔ)和加/減法指令混合加載和存儲(chǔ)指令(數(shù)據(jù)塊傳送指令)4.3舉例例1ADD*AR3+,14,AADDSmem[,SHIFT],src[,dst]dst=src+Smem<<SHIFT;(AR3)<<14+A
A,AR3+1AR3運(yùn)算:1500H<<14=1500H*4000H=0005400000H操作數(shù)移位后加到累加器4.3舉例例2ADDA,-8,BADDsrc[,SHIFT][,dst]dst=dst+src<<SHIFT;A>>8+B
B運(yùn)算:0000001200H>>8=0000000012H累加器移位后相加4.3舉例例3ADD#4568H,8,A,BADD#lk[,SHFT],src[,dst]dst=src+#lk<<SHFT;#4568H<<8+AB運(yùn)算:#4568H<<8=00456800H長(zhǎng)立即數(shù)移位后加到累加器4.3舉例例4ADD*AR2+,*AR2-,AADDXmem,Ymem,dstdst=Xmem<<16+Ymem<<16;(AR2)<<16+(AR2)<<16
A如果雙操作數(shù)指令指向同一輔助寄存器,并且這兩個(gè)操作數(shù)的尋址方式不同,按Xmod域所確定的方式尋址執(zhí)行前:A=0000001200HAR2=0100H(00FFH)=1300H(0100H)=1400H(0101H)=1500H執(zhí)行后:A=0028000000HAR2=0101HC=0雙操作數(shù)分別左移16位后加到累加器4.3舉例例5
ADDC*+AR2(5),AADDCSmem,srcsrc=src+Smem+C;AR2+5AR2;(AR2)+A+C
A帶進(jìn)位加4.3舉例例6ADDM#0123BH,*AR4+ADDM#lk,SmemSmem=Smem+#lk;#123BH+(AR4)
(AR4);AR4=AR4+1長(zhǎng)立即數(shù)加至存儲(chǔ)器中4.3舉例例7
ADDM#0F088H,*AR4+ADDM#lk,SmemSmem=Smem+#lk;#0F088H+(AR4)
(AR4);AR4=AR4+1OVM=0時(shí)結(jié)果如何?4.3舉例例8 ADDS*AR2-,BADDSSmem,srcsrc=src+uns(Smem);B+uns(AR2)
B;AR2=AR2-1符號(hào)位不擴(kuò)展的加法不受SXM位影響0100h0100h4.3舉例例9SUB#12345,8,A,BSUB#lk[,SHFT],src[,dst]dst=src-#lk<<SHFT;A-#12345<<8
B運(yùn)算:A-#12345<<8=0000001200H-3039H<<8=1200H-303900H=FFFFCFD900長(zhǎng)立即數(shù)移位后與累加器相減4.3舉例例10LD#8,DPLD#0006H,ASSBXCSUBB5,ASUBBSmem,srcsrc=src-Smem-/C;A-(@5)-/CA直接尋址執(zhí)行前:DP=8A=0000000006HC=1@5=8*128+5=1029=0405H(0405H)=0008H執(zhí)行后:A-(0405H)-0=FFFFFFFFFEH有借位,C=0帶借位的減法4.3舉例例11
LD#0041H,
BSTM#0100H,AR2STM#0110H,AR3ST#0007H,*AR2RPT#15SUBC*AR2,Bif(src-Smem<<15)>0
src=(src-Smem<<15)<<1+1else
src=src<<1STLB,*AR3+STHB,*AR3執(zhí)行前:B=0000000041HAR2=0100HAR3=0110H(0100H)=0007H(0110H)=0000H(0111H)=0000H執(zhí)行后:B=0000020009HAR2=0100HAR3=0111H(0100H)=0007H(0110H)=0009H(0111H)=0002H4.3舉例例14整數(shù)乘法 LD#0030H,
ASTM#0100H,AR2ST#2000H,*AR2RSBXFRCTLD#2,DPLD0,T;LDSmem,TMPY#-2,AMPY#lk,dstdst=T*#lk執(zhí)行后:A=2000H*0FFFEH=FFFFFFC000H
直接尋址(0100H)-->TT寄存器與長(zhǎng)立即數(shù)相乘4.3舉例例18 MAC*AR3+,*AR4+,A,BMACXmem,Ymem,src[,dst]dst=src+Xmem*YmemT=Xmem執(zhí)行前:A=0000001000HB=0000000004HFRCT=1AR3=0100HAR4=0200H(0100H)=5678H(0200H)=1234H執(zhí)行后:B=000C4C10C0HAR3=0101HAR4=0201HT=5678H兩個(gè)操作數(shù)相乘后加到累加器5678H*1234H=6260060H6260060H<<1=C4C00C0H4.3舉例例28 DADD*AR3+,A,BDADDLmem,src,[,dst]ifC16=0
dst=Lmem+srcelse dst(39~16)=Lmem(31~16)+src(31~16) dst(15~0)=Lmem(15~0)+src(15~0)執(zhí)行前:A=0056788933HB=0000000000HAR3=0100HC16=0(0100H)=1534H(0101H)=9456H執(zhí)行后B=006BAD1D89HAR3=0102H
雙字/雙精度位數(shù)加到累加器4.3舉例例29 DADD*AR3+,A,BDADDLmem,src,[,dst]ifC16=0
dst=Lmem+srcelse dst(39~16)=Lmem(31~16)+src(31~16) dst(15~0)=Lmem(15~0)+src(15~0)執(zhí)行前:A=0056788933HB=0000000000HAR3=0100HC16=1(0100H)=1534H(0101H)=9456H執(zhí)行后:B=006BAC1D89HAR3=0102H
4.3舉例例30 ABDST*AR3+,*AR4+
ABDSTXmem,YmemB=B+|A(32~16)|A=(Xmem-Ymem)<<164.3舉例例31 FIRS*AR3+,*AR4+,COEFFS
FIRSXmem,Ymem,pmadB=B+A(32~16)*pmadA=(Xmem+Ymem)<<16執(zhí)行前:A=0000770000HB=0000000000HAR3=0100HAR4=0200H(0100H)=0055H(0200H)=00AAH(COEFFS)=1234HFRCT=0執(zhí)行后:A=0000FF0000H
B=000008762CHAR3=0101HAR4=0201HFRCT=1,結(jié)果如何?4.3舉例例32 SFTAA,-8,B
SFTAsrc,SHIFT[,dst]
dst=src<<SHIFT ifSHIFT<0then C=src((-SHIFT)-1)
dst=src(39~0)<<SHIFT ......執(zhí)行前:A=FF87650055HB=0043211234HC=0SXM=1執(zhí)行后:A=FF87650055HB=FFFF876500HC=A(7)=0SXM=1SXM=0,結(jié)果如何?累加器算術(shù)移位4.3舉例例36 BIT*AR5+,15-12
BITXmem,BITC TC=Xmem(15-BITC)Xmem?4.3舉例例37 CMPR2,AR4
CMPRCC,ARx 0≤
CC≤3 CC=0,ARx=AR0(EQ) CC=1,ARx<AR0(LT) CC=2,ARx>AR0(GT) CC=3,ARx!=AR0(NEQ)
If(cond)thenTC=1elseTC=0無符號(hào)數(shù)比較4.3舉例例38LOOP: ADD*AR1+,A BANZLOOP,*AR2-
BANZpmad,Sind if((ARx)!
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療健康居間合作協(xié)議書
- 鞋類物流企業(yè)轉(zhuǎn)讓合同
- 網(wǎng)球場(chǎng)地暖安裝工程協(xié)議
- 產(chǎn)品商標(biāo)授權(quán)使用合同范例
- 公司與酒店合同范例
- 代購(gòu)購(gòu)銷意向合同范例
- 個(gè)人借貸擔(dān)保合同范例
- 全屋實(shí)木定制合同范例
- 人才公寓采購(gòu)合同范例
- 公車私用合同范例
- 沉降觀測(cè)常用表格
- ArcGIS應(yīng)用基礎(chǔ)培訓(xùn)(共98張)
- 建設(shè)工程規(guī)劃放線、驗(yàn)線申請(qǐng)表
- 南京鼓樓區(qū)部編版五年級(jí)語文下冊(cè)第二單元教材分析
- 績(jī)效考核 五金廠績(jī)效考核
- 金合極思打板與放碼系統(tǒng)幫助目錄
- 勵(lì)磁系統(tǒng)檢修規(guī)程
- 武術(shù)健身操教案《旭日東升》(共18頁)
- WE-100B300B600B1000B型萬能材料試驗(yàn)機(jī)使用說明書
- 相聲《治病》
- 盾構(gòu)施工標(biāo)準(zhǔn)化手冊(cè)
評(píng)論
0/150
提交評(píng)論