東北大學數(shù)字信號處理課件-第4章 TMS320C54x匯編指令系統(tǒng)_第1頁
東北大學數(shù)字信號處理課件-第4章 TMS320C54x匯編指令系統(tǒng)_第2頁
東北大學數(shù)字信號處理課件-第4章 TMS320C54x匯編指令系統(tǒng)_第3頁
東北大學數(shù)字信號處理課件-第4章 TMS320C54x匯編指令系統(tǒng)_第4頁
東北大學數(shù)字信號處理課件-第4章 TMS320C54x匯編指令系統(tǒng)_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第4章TMS320C54x匯編指令系統(tǒng)4.1指令系統(tǒng)中的符號和縮寫4.2指令系統(tǒng)4.3舉例TMS320C54x的指令系統(tǒng)較普通微控制器的指令系統(tǒng)復雜,有許多特殊的指令及用法,需要加以注意!!!

CISC4.1指令系統(tǒng)中的符號和縮寫序號符號含義1A累加器A2ALU算術邏輯運算單元3AR泛指輔助寄存器4ARx指定某一輔助寄存器AR0~AR75ARPST0中的3位輔助寄存器指針位6ASMST1中的5位累加器移位方式位(-16~15)7B累加器B8BRAFST1中的塊重復有效標志9BRC塊重復計數(shù)器10BITC或bit_code用于測試指令,指定數(shù)據存儲器單元中的哪一位被測試,4位,取指范圍:0~154.1指令系統(tǒng)中的符號和縮寫序號符號含義11C16ST1中的雙16位/雙精度算術運算方式位12CST0中的進位位13CC2位條件碼(0≤CC≤3)14CMPTST1中的兼容方式位15CPLST1中的編輯方式位16cond表示一種條件的操作數(shù),用于條件執(zhí)行指令17[d],[D]延遲選項18DABD地址總線19DARDAB地址寄存器20dmad16位立即數(shù)數(shù)據存儲器地址(0~65535)4.1指令系統(tǒng)中的符號和縮寫序號符號含義21Dmem數(shù)據存儲器操作數(shù)22DPST0中的9位數(shù)據存儲器頁指針(0≤

DP≤511)23dst目的累加器(A或B)24dst_另一個目的累加器25EABE地址總線26EAREAB地址寄存器27extpmad23位立即數(shù)程序存儲器地址28FRCTST1中的小數(shù)方式位29hi(A)累加器A的高階位(AH)30HMST1中的保持方式位4.1指令系統(tǒng)中的符號和縮寫序號符號含義31IFR中斷標志寄存器32INTMST1中的中斷屏蔽位33K少于9位的短立即數(shù)34k33位立即數(shù)(0≤

k3≤7)35k55位立即數(shù)(-16≤

k5≤15)36k99位立即數(shù)(0≤

k9≤511)37lk16位長立即數(shù)38Lmem利用長字尋址的32位單數(shù)據存儲器操作數(shù)39mmr,MMR存儲器映像寄存器40MMRx,MMRy存儲器映像寄存器,AR0~AR7或SP4.1指令系統(tǒng)中的符號和縮寫序號符號含義41nXC指令后面的字數(shù),取1或242N指定狀態(tài)寄存器,N=0為ST0,N=1為ST143OVAST0中的累加器A溢出標志44OVBST0中的累加器B溢出標志45OVdst目的累加器(A或B)的溢出標志46OVdst_另一個目的累加器的溢出標志47OVsrc源累加器(A或B)的溢出標志48OVMST1中的溢出方式位49PA16位立即數(shù)端口地址(0≤

PA≤65535)50PAR程序存儲器地址寄存器4.1指令系統(tǒng)中的符號和縮寫序號符號含義51PC程序計數(shù)器52pmad16位立即數(shù)程序存儲器地址(0≤

pmad

65535)53Pmem程序存儲器操作數(shù)54PMST處理器方式狀態(tài)寄存器55prog程序存儲器操作數(shù)56[R]舍入選項57rnd舍入58RC重復計數(shù)器59RTN快速返回寄存器60REA塊重復結束地址寄存器4.1指令系統(tǒng)中的符號和縮寫序號符號含義61RSA塊重復起始地址寄存器62SBIT指定狀態(tài)寄存器位的4位地址(0~15)63SHFT4位移位值(0~15)64SHIFT5位移位值(-16~15)65Sind間接尋址的單數(shù)據存儲器操作數(shù)66Smem16位單數(shù)據存儲器操作數(shù)67SP堆棧指針68src源累加器(A或B)69ST0,ST1狀態(tài)寄存器0,狀態(tài)寄存器170SXMST1中的符號擴展方式位4.1指令系統(tǒng)中的符號和縮寫序號符號含義71T暫存器72TCST0中的測試/控制標志73TOS堆棧頂部74TRN狀態(tài)轉移寄存器75TS由T寄存器的5~0位所規(guī)定的移位數(shù)(-16~31)76uns無符號數(shù)77XFST1中的外部標志位78XPC程序計數(shù)器擴展寄存器79Xmem16位雙數(shù)據存儲器操作數(shù),用于雙數(shù)據操作數(shù)指令和某些單數(shù)據操作數(shù)指令80Ymem16位雙數(shù)據存儲器操作數(shù),用于雙數(shù)據操作數(shù)指令4.1指令系統(tǒng)中的符號和縮寫序號符號運算功能求值順序1+-~一元加法、減法、按位求反

從右至左2*/%乘法、除法、求模從左至右3+-加法、減法從左至右4^指數(shù)

從左到右

5<<>>左移、右移從左至右6<≤小于、小于等于從左至右7>≥大于、大于等于從左至右8!=不等于從左至右9&按位與運算從左至右10∧

按位異或運算從左至右11|按位或運算從左至右指令系統(tǒng)的運算符號 C54x的指令系統(tǒng)包含助記符指令和代數(shù)指令兩種形式助記符指令: 是一種采用助記符號表示的類似于匯編語言的指令代數(shù)指令: 是一種比匯編語言更高級,類似于高級語言的代數(shù)形式指令,具有接近匯編語言的特點

兩種指令形式具有相同的功能4.2指令系統(tǒng)基本指令129條,派生有205條按指令功能分為四類 算術運算 邏輯運算 程序控制 加載和存儲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的存儲地址

D:目的累加器位D=0dst為累加器AD=1dst為累加器BSHIFT:移位數(shù)區(qū)移位范圍:-16~15I=0:直接尋址,A…A:指令中dma的低7位I=1:間接尋址,3位選擇ARx,4位選擇MODMOD=15,*(lk),增加一個字4.2指令系統(tǒng) 學習指令應注意的事項:指令功能操作數(shù)尋址方式影響指令執(zhí)行的狀態(tài)位指令的執(zhí)行結果指令對狀態(tài)位的影響指令的長度指令的周期數(shù)指令的限制條件指令的使用場合4.2指令系統(tǒng)4.2.1算術運算指令4.2.2邏輯運算指令4.2.3程序控制指令4.2.4加載和存儲指令TMS320C54xDSPReferenceSetVolume2:MnemonicInstructionSetLiteratureNumber:SPRU172BJune19984.2.1算術運算指令C54x的算術運算指令 加法指令(ADD) 減法指令(SUB) 乘法指令(MPY) 乘累加指令(MAC) 乘法減法指令(MAS) 雙字/雙精度運算指令(DADD、DSUB) 專用指令(ABDST、SQDST)序號語法表達式說明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長立即數(shù)移位后加至累加器8ADD#lk,16,src[,dst]dst=src+#lk<<16長立即數(shù)左移16位加至累加器9ADDsrc,[,SHIFT][,dst]dst=dst+src<<SHIFT累加器移位后相加10ADDsrc,ASM[,dst]dst=dst+src<<ASM累加器按ASM移位后相加11ADDCSmem,srcsrc=src+Smem+C操作數(shù)帶進位加至累加器12ADDM#lk,SmemSmem=Smem+#lk長立即數(shù)加至存儲器13ADDSSmem,srcsrc=src+uns(Smem)操作數(shù)符號位不擴展加至累加器加法指令(ADD)減法指令(SUB)序號語法表達式說明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長立即數(shù)移位后與累加器相減8SUB#lk,16,src[,dst]dst=src-#lk<<16長立即數(shù)左移16位與累加器相減9SUBsrc,[,SHIFT][,dst]dst=dst-src<<SHIFT目標累加器減去移位后的源累加器10SUBsrc,ASM[,dst]dst=dst-src<<ASM源累加器按ASM移位與目標累加器相減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)累加器與符號位不擴展的操作數(shù)減操作乘法指令(MPY)序號語法表達式說明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長立即數(shù)與操作數(shù)相乘5MPY#lk,dstdst=T*#lk長立即數(shù)與T寄存器相乘6MPYAdstdst=T*A(32-16)T寄存器與累加器A高位相乘7MPYASmemB=Smem*A(32-16),T=Smem操作數(shù)與累加器A高位相乘8MPYUSmem,dstdst=uns(T)*uns(Smem)無符號數(shù)相乘9SQURSmem,dstdst=Smem*Smem,T=Smem操作數(shù)的平方10SQURA,dstdst=A(32-16)*A(32-16)累加器A高位的平方乘累加指令(MAC)和乘法減法指令(MAS)序號語法表達式說明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長立即數(shù)與T相乘加到累加器4MAC

Smem,#lk,src[,dst]dst=src+Smem*#lk,T=Smem長立即數(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)序號語法表達式說明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ù)與程序存儲器內容相乘后加到累加器并延遲12MACPSmem,Pmad,srcsrc=src+Smem*Pmad,T=Smem操作數(shù)與程序存儲器內容相乘后加到累加器13MACSUXmem,Ymem,srcsrc=src+uns(Xmem)*Ymem,T=Xmem無符號操作數(shù)與有符號操作數(shù)相乘后加到累加器14MAS

Smem,srcsrc=src-T*Smem累加器減去T與操作數(shù)的乘積15MASXmem,Ymem,src[,dst]dst=src-Xmem

*Ymem,T=Xmem累加器減去兩操作數(shù)的乘積乘累加指令(MAC)和乘法減法指令(MAS)序號語法表達式說明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)序號語法表達式說明1ABDSTXmem,YmemB=B+|A(32-16)|,A=(Xmem-Ymem)<<16絕對距離2ABSsrc[,dst]dst=|src|累加器求絕對值3CMPLsrc[,dst]dst=~src累加器求反4DELAYSmem(Smem+1)=Smem存儲單元延遲5EXPsrcT=帶符號數(shù)(src)-8求累加器的指數(shù)6FIRSXmem,Ymem,PmadB=B–A*Pmad,A=(Xmem+Ymem)<<16對稱FIR濾波7LMSXmem,YmemB=B+Xmem*Ymem,A=(A+Xmem<<16)+215求最小均方值專用指令(ABDST、SQDST)序號語法表達式說明8MAXdstdst=max(A,B)求A和B的最大值9MINdstdst=min(A,B)求A和B的最小值10NEGsrc[,dst]dst=-src累加器變負11NORMsrc[,dst]dst=src<<TS,dst=norm(src,T)歸一化12POLYSmem

B=Smem<<16,A=rnd(A*T+B)求多項式的值13RNDsrc[,dst]dst=src+215累加器舍入運算14SATsrc

Saturate(src)累加器飽和運算15SQDSTXmem,Ymem

B=B+A(32-16)*A(32-16)A=(Xmem-Ymem)<<16求距離的平方4.2.2邏輯運算指令邏輯指令 與(AND) 或(OR) 異或(XOR)

移位 測試與(AND)序號語法表達式說明1ANDSmem,srcsrc=src&Smem源操作數(shù)與累加器與運算2AND#lk[,SHFT],src[,dst]dst=src&#lk<<SHFT長立即數(shù)移位后與累加器與運算3AND#lk,16,src[,dst]dst=src&#lk<<16長立即數(shù)左移16位與累加器與運算4ANDsrc[,SHIFT][,dst]dst=dst&src<<SHIFT源累加器移位后與目標累加器與運算5ANDM#lk,SmemSmem=Smem&#lk目標操作數(shù)與長立即數(shù)與運算或(OR)序號語法表達式說明1ORSmem,srcsrc=src|Smem源操作數(shù)與累加器或運算2OR#lk[,SHFT],src[,dst]dst=src|#lk<<SHFT長立即數(shù)移位后與累加器或運算3OR#lk,16,src[,dst]dst=src|#lk<<16長立即數(shù)左移16位與累加器或運算4ORsrc[,SHIFT][,dst]dst=dst|src<<SHIFT源累加器移位后與目標累加器或運算5ORM#lk,SmemSmem=Smem|#lk目標操作數(shù)與長立即數(shù)或運算異或(XOR)序號語法表達式說明1XORSmem,srcsrc=src

Smem源操作數(shù)與累加器異或運算2XOR#lk[,SHFT],src[,dst]dst=src

#lk<<SHFT長立即數(shù)移位后與累加器異或運算3XOR#lk,16,src[,dst]dst=src

#lk<<16長立即數(shù)左移16位與累加器異或運算4XORsrc[,SHIFT][,dst]dst=dst

src<<SHIFT源累加器移位后與目標累加器異或運算5XORM#lk,SmemSmem=Smem

#lk目標操作數(shù)與長立即數(shù)異或運算移位指令測試指令4.2.3程序控制指令程序控制指令 分支轉移指令 子程序調用指令 中斷指令 返回指令 重復指令 堆棧操作指令 混合程序控制指令分支轉移指令子程序調用指令中斷指令返回指令重復指令序號語法表達式說明1RPTSmem重復單次,RC=Smem重復執(zhí)行下條指令(Smem)+1次2RPT#K重復單次,RC=#K重復執(zhí)行下條指令#K+1次3RPT#lk重復單次,RC=#lk重復執(zhí)行下條指令#lk

+1次4RPTB[D]pmad塊重復,RSA=PC+2[4],REA=pmad

重復執(zhí)行程序塊5RPTZdst,#lk重復單次,RC=#lk,dst=0重復執(zhí)行下條指令#lk

+1次,累加器清零堆棧操作指令混合程序控制指令影響ST0,ST1,不影響PMST4.2.4加載和存儲指令加載和存儲指令 加載指令 存儲指令 條件存儲指令 并行加載和存儲指令 并行加載和乘法指令 并行存儲和加/減法指令 混合加載和存儲指令加載指令存儲器的內容或立即數(shù)賦給目的寄存器(A,B,或ST0,ST1位及位域)存儲指令源操作數(shù)或立即數(shù)存入存儲器或寄存器存儲器映像寄存器MMR加載指令存儲指令條件存儲指令并行加載和存儲指令并行加載和乘法指令并行存儲和加/減法指令混合加載和存儲指令(數(shù)據塊傳送指令)4.3舉例例1ADD*AR3+,14,AADDSmem[,SHIFT],src[,dst]dst=src+Smem<<SHIFT;(AR3)<<14+A

A,AR3+1AR3運算:1500H<<14=1500H*4000H=0005400000H操作數(shù)移位后加到累加器4.3舉例例2ADDA,-8,BADDsrc[,SHIFT][,dst]dst=dst+src<<SHIFT;A>>8+B

B運算:0000001200H>>8=0000000012H累加器移位后相加4.3舉例例3ADD#4568H,8,A,BADD#lk[,SHFT],src[,dst]dst=src+#lk<<SHFT;#4568H<<8+AB運算:#4568H<<8=00456800H長立即數(shù)移位后加到累加器4.3舉例例4ADD*AR2+,*AR2-,AADDXmem,Ymem,dstdst=Xmem<<16+Ymem<<16;(AR2)<<16+(AR2)<<16

A如果雙操作數(shù)指令指向同一輔助寄存器,并且這兩個操作數(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帶進位加4.3舉例例6ADDM#0123BH,*AR4+ADDM#lk,SmemSmem=Smem+#lk;#123BH+(AR4)

(AR4);AR4=AR4+1長立即數(shù)加至存儲器中4.3舉例例7

ADDM#0F088H,*AR4+ADDM#lk,SmemSmem=Smem+#lk;#0F088H+(AR4)

(AR4);AR4=AR4+1OVM=0時結果如何?4.3舉例例8 ADDS*AR2-,BADDSSmem,srcsrc=src+uns(Smem);B+uns(AR2)

B;AR2=AR2-1符號位不擴展的加法不受SXM位影響0100h0100h4.3舉例例9SUB#12345,8,A,BSUB#lk[,SHFT],src[,dst]dst=src-#lk<<SHFT;A-#12345<<8

B運算:A-#12345<<8=0000001200H-3039H<<8=1200H-303900H=FFFFCFD900長立即數(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寄存器與長立即數(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兩個操作數(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,結果如何?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,結果如何?累加器算術移位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無符號數(shù)比較4.3舉例例38LOOP: ADD*AR1+,A BANZLOOP,*AR2-

BANZpmad,Sind if((ARx)!

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論