TMSCX dsp原理及應(yīng)用 汪春梅新的_第1頁(yè)
TMSCX dsp原理及應(yīng)用 汪春梅新的_第2頁(yè)
TMSCX dsp原理及應(yīng)用 汪春梅新的_第3頁(yè)
TMSCX dsp原理及應(yīng)用 汪春梅新的_第4頁(yè)
TMSCX dsp原理及應(yīng)用 汪春梅新的_第5頁(yè)
已閱讀5頁(yè),還剩129頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

會(huì)計(jì)學(xué)1TMSCXdsp原理及應(yīng)用汪春梅新的3.1尋址方式

尋址方式:

是指如何指定指令和操作數(shù)所在存儲(chǔ)空間的地址。C55xDSP支持三種尋址模式:絕對(duì)尋址模式:

指令里有一個(gè)地址的全部或者部分,指示目的地址;直接尋址模式:

使用偏移地址指示目的地址;間接尋址模式:

使用指針指示目的地址。

第1頁(yè)/共134頁(yè)支持尋址模式操作數(shù)的指令應(yīng)具有下表所示的句法元素:句法元素描述Smem指令語(yǔ)句里含有Smem時(shí),該指令可以訪問(wèn)數(shù)據(jù)存儲(chǔ)器、I/O空間或者M(jìn)MR中的一個(gè)單字(16bits)。寫(xiě)該指令語(yǔ)句時(shí),用一個(gè)兼容的尋址模式操作數(shù)來(lái)代替Smem。Lmem指令語(yǔ)句里含有Lmem時(shí),該指令可以訪問(wèn)數(shù)據(jù)存儲(chǔ)器或者M(jìn)MR中的一個(gè)長(zhǎng)字(32bits)。寫(xiě)該指令語(yǔ)句時(shí),用一個(gè)兼容的尋址模式操作數(shù)來(lái)代替Smem。XmemandYmem指令語(yǔ)句里含有XmemandYmem時(shí),該指令可以對(duì)數(shù)據(jù)存儲(chǔ)器同時(shí)作兩次16bits的訪問(wèn)。寫(xiě)該指令語(yǔ)句時(shí),用兼容的尋址模式操作數(shù)來(lái)代替XmemandYmem。Cmem指令語(yǔ)句里含有Cmem時(shí),該指令可以訪問(wèn)數(shù)據(jù)存儲(chǔ)器的單字(16bits)。寫(xiě)該指令語(yǔ)句時(shí),用一個(gè)兼容的尋址模式操作數(shù)來(lái)代替Cmem。Baddr指令語(yǔ)句里含有Baddr時(shí),該指令可以訪問(wèn)累加器(AC0~AC3)、輔助寄存器(AR0~AR7)或T0~T3中的一個(gè)bit或者兩個(gè)bit。只有寄存器bit測(cè)試/設(shè)置/清除/取反指令支持Baddr。寫(xiě)任意一條此類(lèi)指令語(yǔ)句時(shí),用一個(gè)兼容的尋址模式操作數(shù)來(lái)代替Baddr

。第2頁(yè)/共134頁(yè)3.1.1絕對(duì)尋址模式尋址模式功能k16絕對(duì)尋址用DPH的7-bit寄存器,和一個(gè)16-bit無(wú)符號(hào)常數(shù)構(gòu)成一個(gè)23-bit數(shù)據(jù)空間地址。該模式可以訪問(wèn)存儲(chǔ)器或者M(jìn)MR。k23絕對(duì)尋址指定一個(gè)23-bit無(wú)符號(hào)常數(shù)作為全地址。該模式可以訪問(wèn)存儲(chǔ)器或者M(jìn)MR。I/O絕對(duì)尋址指定一個(gè)16bit無(wú)符號(hào)常數(shù)作為I/O地址,該模式可以訪問(wèn)I/O空間。第3頁(yè)/共134頁(yè)k16絕對(duì)尋址其操作數(shù)為*abs16(#k16),其中,k16為16位無(wú)符號(hào)常數(shù)。將7位的寄存器DPH和k16級(jí)聯(lián)形成一個(gè)23位的地址,用于對(duì)數(shù)據(jù)空間的訪問(wèn)。該模式可以訪問(wèn)一個(gè)數(shù)據(jù)存儲(chǔ)器單元或者M(jìn)MR。k16絕對(duì)尋址模式

第4頁(yè)/共134頁(yè)k16絕對(duì)尋址其操作數(shù)為*abs16(#k16),其中,k16為16位無(wú)符號(hào)常數(shù)。將7位的寄存器DPH和k16級(jí)聯(lián)形成一個(gè)23位的地址,用于對(duì)數(shù)據(jù)空間的訪問(wèn)。該模式可以訪問(wèn)一個(gè)數(shù)據(jù)存儲(chǔ)器單元或者M(jìn)MR。指令實(shí)例:(1)語(yǔ)法格式:MOVSmem,dst

指令語(yǔ)句:MOV*abs16(#2002h),T2 指令實(shí)例:(2)語(yǔ)法格式:MOVK16,Smem

指令語(yǔ)句:MOV#248,*abs16(#2002h)

第5頁(yè)/共134頁(yè)k16絕對(duì)尋址程序執(zhí)行的結(jié)果是:T2=

。匯編語(yǔ)言k16絕對(duì)尋址程序閱讀與分析:

.defstart

.mmregs

.textstart:MOV

#03H

,

DPH

MOV

#24

,

*abs16(#2002h)

MOV

*abs16(#2002h)

,

T2here:bhere操作數(shù)*abs16(#2002h)的尋址地址:

。032002H0018H第6頁(yè)/共134頁(yè)k23絕對(duì)尋址操作數(shù)為*(#k23),其中,k23為23位的無(wú)符號(hào)常數(shù),作為所尋址數(shù)據(jù)空間的地址。k23絕對(duì)尋址模式

第7頁(yè)/共134頁(yè)I/O絕對(duì)尋址對(duì)于代數(shù)格式匯編語(yǔ)言指令,操作數(shù)是*port(#k16),其中k16為16位無(wú)符號(hào)常數(shù),用于指明16位I/O端口地址。使用助記符格式匯編語(yǔ)言指令,其操作數(shù)是port(#k16)(操作數(shù)前沒(méi)有*)。

I/O絕對(duì)尋址第8頁(yè)/共134頁(yè)3.1.2直接尋址模式

直接尋址的分類(lèi)見(jiàn)下表:尋址模式描述DP直接尋址使用DPH指定的主數(shù)據(jù)頁(yè),和DP相連接形成23位數(shù)據(jù)空間地址,用于訪問(wèn)存儲(chǔ)器和MMR。SP直接尋址使用SPH指定的主數(shù)據(jù)頁(yè),和SP相連接形成23位地址,用于訪問(wèn)數(shù)據(jù)存儲(chǔ)器里的堆棧值。寄存器bit直接尋址用一個(gè)偏移來(lái)指定一個(gè)bit地址。該模式用于訪問(wèn)一個(gè)寄存器bit或者兩個(gè)相鄰的寄存器bit。PDP直接尋址用PDP(外設(shè)數(shù)據(jù)頁(yè)寄存器)和一個(gè)偏移,來(lái)指定一個(gè)I/O端口地址。該模式用來(lái)訪問(wèn)I/O空間的單元。第9頁(yè)/共134頁(yè)3.1.2直接尋址模式

直接尋址中的DP直接尋址和SP尋址與狀態(tài)寄存器ST1-55的CPL位有關(guān)。當(dāng)CPL=0采用DP直接尋址模式,操作數(shù)@Daddr當(dāng)CPL=1采用SP直接尋址模式,操作數(shù)*SP(offset)

直接尋址模式中的寄存器bit直接尋址和PDP直接尋址與狀態(tài)寄存器ST1-55的CPL位無(wú)關(guān)。第10頁(yè)/共134頁(yè)3.1.2直接尋址模式

一、DP直接尋址

DP直接尋址的23位地址構(gòu)成:高7位由DPH提供,用來(lái)確定主數(shù)據(jù)頁(yè);其余低16位為以下兩部分的和:(1)DP里的值。DP定義了在主數(shù)據(jù)頁(yè)內(nèi)的起始地址。(2)匯編程序計(jì)算的7-bit偏移量(Doffset)。DP直接尋址模式

第11頁(yè)/共134頁(yè)DP直接尋址偏移量(Doffset)的計(jì)算訪問(wèn)對(duì)象計(jì)算Doffset說(shuō)明數(shù)據(jù)存儲(chǔ)器Doffset=(Daddr-.dp)&7FhDaddr是讀/寫(xiě)操作的16bit地址,.dp是利用匯編偽指令分配的數(shù)值(一般DP的匹配),&表示按位“與”MMRDoffset=Daddr&7FhDaddr是讀/寫(xiě)操作的16bit地址,&表示按位“與”,mmap()迫使CPU把數(shù)據(jù)頁(yè)視為0來(lái)操作。Doffset的計(jì)算有兩種情況:表2-1DP直接尋址Doffset的計(jì)算一、DP直接尋址第12頁(yè)/共134頁(yè)DP直接尋址偏移量(Doffset)的計(jì)算

DP直接尋址Doffset的計(jì)算代碼示例:TheassemblercalculatesDoffset:Doffset=(1)尋址數(shù)據(jù)存儲(chǔ)器Atruntime,the23-bitdata-spaceaddressisgenerated:23-bitaddress=(Daddr–.dp)&7Fh=(FFF4h–FFF0h)&7Fh=04hDPH:(DP+Doffset)=03:(FFF0h+0004h)=03FFF4hAMOV#03FFF0h,XDP.dp#0FFF0hMOV@0FFF4h,T2指令實(shí)例:;Maindatapageis03.Forrun-time,;DPisFFF0h.;Forassemblytime,.dpisFFF0h.;LoadT2withthevalueatlocal;addressFFF4h.分析:一、DP直接尋址第13頁(yè)/共134頁(yè)DP直接尋址偏移量(Doffset)的計(jì)算

DP直接尋址Doffset的計(jì)算代碼示例:匯編器計(jì)算偏移量:Doffset=(2)尋址MMR(memory-mappedregister)

程序運(yùn)行時(shí):(CPU:DPH=DP=0)23-bit地址產(chǎn)生如下:23-bitaddress=Daddr&7Fh=0010h&7Fh=10hDPH:(DP+Doffset)=00:(0000h+0010h)=000010hMOVmmap(@AR0),T2;LoadT2withthevalueinAR0.;mmap()qualifierindicatesaccesstoMMR.;AR0ismappedtoaddress000010hindataspace指令實(shí)例:分析:一、DP直接尋址第14頁(yè)/共134頁(yè)

二、SP直接尋址

SP直接尋址的23位地址構(gòu)成:最高7位地址由寄存器SPH確定;低16位地址是SP值和指令里指定的7位偏移量之和。偏移量范圍是0~127。(由SPH和SP構(gòu)成了擴(kuò)展數(shù)據(jù)堆棧指針XSP)SP直接尋址模式第15頁(yè)/共134頁(yè)

二、SP直接尋址

SP直接尋址的23位地址構(gòu)成:最高7位地址由寄存器SPH確定;低16位地址是SP值和指令里指定的7位偏移量之和。偏移量范圍是0~127。指令實(shí)例:(1)語(yǔ)法格式:MOVSmem,dst

指令語(yǔ)句:MOV*SP(5),T2 指令尋址分析:假設(shè)SPH=00h,SP=FF00h;

操作數(shù)*SP(5),T2的尋址地址為:指令執(zhí)行結(jié)果:將數(shù)據(jù)空間中地址為00FF05h單元內(nèi)的數(shù)值加載到T2寄存器中。 SPH:(SP+offset)=00FF05h;第16頁(yè)/共134頁(yè)三、寄存器位直接尋址模式操作數(shù)是@bitoffset只有寄存器的位測(cè)試、置位、清零、取反指令支持這種尋址模式。

說(shuō)明:(1)偏移量bitoffset是從所要位尋址的寄存器最低位開(kāi)始,如果bitoffset是3,則正在尋址該寄存器的第3位。(2)該尋址方式只能訪問(wèn)以下的寄存器:AC0–AC3、AR0–AR7、T0–T3。指令實(shí)例:(1)語(yǔ)法格式:BSETBaddr,src

指令語(yǔ)句:BSET@0,AC3 CPU置位AC3的第零位。指令尋址分析:第17頁(yè)/共134頁(yè)四、PDP直接尋址

使用PDP尋址方式時(shí),16bit的I/O空間地址的形成如下:64K×16bit的I/O空間被分成512個(gè)外設(shè)數(shù)據(jù)頁(yè),每頁(yè)有128個(gè)字,用9位的外設(shè)數(shù)據(jù)頁(yè)指針寄存器PDP指出頁(yè)地址,同時(shí)由指令中指定的一個(gè)7位偏移值來(lái)表示頁(yè)內(nèi)的偏移量,從而形成一個(gè)16bit的外設(shè)I/O地址。第18頁(yè)/共134頁(yè)四、PDP直接尋址

圖2-5PDP直接尋址模式第19頁(yè)/共134頁(yè)四、PDP直接尋址

指令實(shí)例:用PDP直接尋址模式訪問(wèn)I/O空間

語(yǔ)法:MOVSmem,dst

語(yǔ)句:MOVport(@0),T2;指令尋址地址:PDP:Poffset

語(yǔ)法:MOVk9,PDP

語(yǔ)句:MOV#008,PDP;PDP=008h 初始化PDP寄存器的語(yǔ)句:MOVport(@0),T2;PDP:Poffset=0400h

第20頁(yè)/共134頁(yè)3.1.3間接尋址模式CPU支持的間接尋址模式見(jiàn)下表:尋址模式功能AR間接尋址使用8個(gè)輔助寄存器(AR0~AR7)中的一個(gè)指向數(shù)據(jù)。CPU用輔助寄存器來(lái)產(chǎn)生地址的方式取決于訪問(wèn)數(shù)據(jù)空間、單個(gè)寄存器位或者I/O空間。雙AR間接尋址地址產(chǎn)生過(guò)程與AR間接尋址模式相同。該模式用在訪問(wèn)兩個(gè)或者多個(gè)數(shù)據(jù)存儲(chǔ)器單元的指令中。CDP間接尋址用系數(shù)數(shù)據(jù)指針(CDP)指向數(shù)據(jù)。CPU用CDP產(chǎn)生的地址的方式取決于訪問(wèn)數(shù)據(jù)空間、單個(gè)寄存器位或者I/O空間。系數(shù)間接尋址地址產(chǎn)生過(guò)程與CDP間接尋址模式相同。該模式所支持的指令,可以在訪問(wèn)數(shù)據(jù)存儲(chǔ)器里一個(gè)系數(shù)的同時(shí),用雙AR間接尋址訪問(wèn)另外兩個(gè)數(shù)據(jù)存儲(chǔ)器的值。第21頁(yè)/共134頁(yè)一、AR間接尋址模式通過(guò)一個(gè)輔助寄存器ARn(n=0,1,2,3,4,5,6,7)訪問(wèn)數(shù)據(jù)。ST2-55的ARMS位決定AR間接尋址的操作類(lèi)型ARMS=0,DSP模式:CPU提供DSP增強(qiáng)應(yīng)用的高效執(zhí)行功能;ARMS=1,控制模式:CPU能夠優(yōu)化代碼的長(zhǎng)度。ARn產(chǎn)生地址的方式取決于所訪問(wèn)的類(lèi)型,具體見(jiàn)下表:

表2-4AR間接尋址模式訪問(wèn)的類(lèi)型訪問(wèn)ARn包含

數(shù)據(jù)存儲(chǔ)空間(存儲(chǔ)器或MMR)一個(gè)23位地址的低16位。高7位由ARnH來(lái)提供。單個(gè)寄存器bit(或相鄰兩個(gè)bit)一個(gè)bitI/O空間一個(gè)16-bit的I/O地址。3.1.3間接尋址模式

第22頁(yè)/共134頁(yè)3.1.3間接尋址模式

(1)AR間接尋址模式訪問(wèn)數(shù)據(jù)存儲(chǔ)空間訪問(wèn)數(shù)據(jù)空間時(shí),使用一條裝入XARn的指令,語(yǔ)法:AMOVk23,XAdst

語(yǔ)句:AMOV#7FFFFFh,XAR0;將23位地址值(7FFFFFh)存入XAR0。第23頁(yè)/共134頁(yè)3.1.3間接尋址模式

(2)AR間接尋址模式訪問(wèn)寄存器位

訪問(wèn)寄存器位時(shí),所選擇的輔助寄存器,ARn中只有一個(gè)bit。例如:AR6里是0,則AR6指向所操作寄存器的最低bit0。指令實(shí)例:(1)語(yǔ)法格式:BSETBaddr,src

指令語(yǔ)句:MOV#15,AR6BSET*AR6,AC3 CPU置位AC3的第15位。指令尋址分析:

說(shuō)明:(1)該尋址方式只能訪問(wèn)以下的寄存器:AC0–AC3、AR0–AR7、T0–T3。第24頁(yè)/共134頁(yè)3.1.3間接尋址模式

(3)AR間接尋址模式訪問(wèn)I/O空間

訪問(wèn)I/O空間時(shí),用16bit地址訪問(wèn)I/O空間里的字,輔助寄存器ARn中包含全部16-bitI/O地址。指令實(shí)例:用

AR間接尋址模式訪問(wèn)I/O空間

語(yǔ)法:MOVSmem,dst

語(yǔ)句:MOVport(*ARn),T2;I/O空間中的值讀入到T2中。MOV#FF80h,AR6; MOVport(*AR6),T2;

MOVT2,port(*AR6+);

MOVport(*-AR6),T2; 作業(yè):分析每一條程序語(yǔ)句的運(yùn)行結(jié)果。第25頁(yè)/共134頁(yè)3.1.3間接尋址模式

二、雙AR間接尋址模式訪問(wèn)多數(shù)據(jù)空間

雙AR間接尋址模式用來(lái):(1)執(zhí)行訪問(wèn)兩個(gè)16-bit數(shù)據(jù)存儲(chǔ)器(

XmemandYmem)的指令。

例如指令語(yǔ)法:ADDXmem,Ymem,ACx(2)并行執(zhí)行兩條指令,每條指令必須單獨(dú)訪問(wèn)一個(gè)存儲(chǔ)器SmemorLmem。例如指令語(yǔ)法:MOVSmem,dst||ANDSmem,src,dst提問(wèn):查本書(shū)附錄分析指令功能。提問(wèn):查本書(shū)附錄分析指令功能。第26頁(yè)/共134頁(yè)3.1.3間接尋址模式

三、CDP間接尋址模式CDP間接尋址模式使用系數(shù)數(shù)據(jù)寄存器CDP訪問(wèn)數(shù)據(jù)空間、寄存器位和I/O空間。CDP間接尋址操作數(shù)第27頁(yè)/共134頁(yè)3.1.3間接尋址模式三、CDP間接尋址模式指令實(shí)例:用

CDP間接尋址模式訪問(wèn)I/O空間

語(yǔ)法:MOVSmem,dst

語(yǔ)句:MOVport(*CDP),T2;I/O空間中的值(地址為CDP中的16-

;bit數(shù)值)讀入到T2中。指令實(shí)例:用

CDP間接尋址模式訪問(wèn)數(shù)據(jù)空間

語(yǔ)法:MOVSmem,dst

語(yǔ)句:MOV(*CDP),T2;數(shù)據(jù)空間中的值(地址為XDP中的23-

;bit數(shù)值)讀入到T2中。

;CDPH:CDP=XCDP第28頁(yè)/共134頁(yè)3.1.3間接尋址模式

四、系數(shù)間接尋址模式

系數(shù)間接尋址模式的地址產(chǎn)生過(guò)程與CDP間接尋址模式數(shù)據(jù)空間的地址產(chǎn)生過(guò)程一樣。

支持以下算術(shù)指令:

FIR濾波、乘法、乘加、乘減、雙乘加或雙乘減。系數(shù)間接尋址模式功用:系數(shù)間接尋址模式主要是每個(gè)周期對(duì)3個(gè)存儲(chǔ)器操作數(shù)操作的指令。其中兩個(gè)操作數(shù)(Xmem和Ymem)用雙AR間接尋址模式訪問(wèn),第三個(gè)操作數(shù)Cmem用系數(shù)間接尋址模式訪問(wèn)。第29頁(yè)/共134頁(yè)四、系數(shù)間接尋址模式3.1.3間接尋址模式指令實(shí)例:系數(shù)間接尋址模式

語(yǔ)法:MPYXmem,Cmem,ACx::MPYYmem,Cmem,ACy

語(yǔ)句:MPY*AR0,*CDP,AC0;兩個(gè)操作數(shù)(Xmem和Ymem)用;雙AR間接尋址模式訪問(wèn)。

::MPY*AR1,*CDP,AC1;系數(shù)數(shù)據(jù)Cmem采用系數(shù)間接尋;址,地址為CDPH:CDP=XCDP。指令尋址分析:

CPU用XCDP處的系數(shù)乘以XAR0的值,并將結(jié)果存儲(chǔ)到AC0中;同時(shí),用同一個(gè)系數(shù)乘以XAR1的值,將結(jié)果存儲(chǔ)到AC1中,不修改CDP的值。 指令說(shuō)明:

Cmem必須放在與Xmem和Ymem不同的存儲(chǔ)器塊里。 第30頁(yè)/共134頁(yè)四、系數(shù)間接尋址模式3.1.3間接尋址模式系數(shù)間接尋址操作數(shù)

第31頁(yè)/共134頁(yè)3.2TMS320C55X的指令系統(tǒng)指令實(shí)例:MPY*AR0,*CDP,AC0::MPY*AR1,*CDP,AC1;隱含并行系數(shù)間接尋址方式一、C55X指令的并行執(zhí)行(1)單指令中內(nèi)置并行方式由一條指令同時(shí)執(zhí)行兩個(gè)不同的操作,通常用符號(hào)“::”來(lái)分割指令的兩個(gè)部分,這種并行方式也稱(chēng)為隱含(內(nèi)置)并行方式。第32頁(yè)/共134頁(yè)3.2TMS320C55X的指令系統(tǒng)指令實(shí)例:MPYM*AR1-,*CDP,AC1||XORAR2,T1;第一條指令在D單元執(zhí)行乘法運(yùn)算,第二條指令在A單元的ALU執(zhí)行一個(gè)邏輯操作。一、C55X指令的并行執(zhí)行(2)用戶(hù)自定義的兩條指令間的并行方式這類(lèi)并行指令是用戶(hù)或者C語(yǔ)言編譯器定義的,是由兩條指令同時(shí)并行執(zhí)行兩個(gè)操作,通常用符號(hào)“||”來(lái)分隔這兩條指令。第33頁(yè)/共134頁(yè)3.2TMS320C55X的指令系統(tǒng)指令實(shí)例:MPYMT3=*AR3+,AC1,AC2||MOV#5,AR1;第一條指令隱含了內(nèi)置并行方式;第二條指令是用戶(hù)自定義的并行方式。一、C55X指令的并行執(zhí)行(3)內(nèi)置與用戶(hù)自定義混合的并行方式。指令分析:

MPYM[R][40][T3=][uns(]Xmem[)],[uns(]Ymem[)],ACx;

ACx=M40(rnd(uns(Xmem)*uns(Ymem)))[,T3=Xmem]第34頁(yè)/共134頁(yè)指令并行的規(guī)則兩條指令的總長(zhǎng)度不能超過(guò)6個(gè)字節(jié)在指令的執(zhí)行過(guò)程中不存在操作器、地址產(chǎn)生單元、總線等資源沖突其中一條指令必須有并行使能位或兩條指令符合軟-雙并行條件3.2TMS320C55X的指令系統(tǒng)一、C55X指令的并行執(zhí)行第35頁(yè)/共134頁(yè)不能使用并行方式的情況

使用立即數(shù)尋址方式例如: *abs16(#k16);*(#k23);port(#k16); *ARn(K16);*+ARn(K16);*CDP(K16); *+CDP(K16)條件跳轉(zhuǎn)、條件調(diào)用、中斷、復(fù)位等程序控制指令例如:

BCCP24,cond;CALLCCP24,cond; IDLE;INTRk5;RESET;TRAPk5使用下列指令或者操作修飾符例如:

mmap();port();<instruction>.CR; <instruction>.LR第36頁(yè)/共134頁(yè)資源沖突C55x的資源運(yùn)算器使用的操作器有:D單元的ALU、D單元的移位器、D單元的交換器、A單元的交換器、A單元的ALU和P單元地址產(chǎn)生單元兩個(gè)數(shù)據(jù)地址(DA)產(chǎn)生單元、一個(gè)系數(shù)地址(CA)產(chǎn)生單元和一個(gè)堆棧地址(SA)產(chǎn)生單元只能使用給定數(shù)量的數(shù)據(jù)地址產(chǎn)生單元總線兩個(gè)數(shù)據(jù)讀(DR)總線、一個(gè)系數(shù)讀(CA)總線、兩個(gè)數(shù)據(jù)寫(xiě)(DW)總線、1個(gè)ACB總線(將D單元寄存器的內(nèi)容傳送給A單元和P單元的操作器)、一個(gè)KAB總線(立即數(shù)總線)和一個(gè)KDB總線(立即數(shù)總線)只能使用給定數(shù)量的總線第37頁(yè)/共134頁(yè)軟-雙并行條件

兩個(gè)存儲(chǔ)器操作數(shù)必須是雙AR間接尋址模式指令不能包含high_byte(Smem)和low_byte(Smem)指令不能讀、寫(xiě)同一個(gè)存儲(chǔ)器單元如果指令中的k4的值是0~8,就會(huì)改變XDP的值,所以,不能與加載DP的指令組成并行指令讀重復(fù)計(jì)數(shù)寄存器(RPTC)指令不能和如下的任何一個(gè)單重復(fù)指令組成并行指令第38頁(yè)/共134頁(yè)算術(shù)運(yùn)算指令位操作指令擴(kuò)展輔助寄存器操作指令邏輯運(yùn)算指令移動(dòng)指令程序控制指令注:一條指令的屬性包括:指令,執(zhí)行的操作,是否有并行使能位,長(zhǎng)度,周期,在流水線上的執(zhí)行階段以及執(zhí)行的功能單元等。

3.2TMS320C55X的指令系統(tǒng)二、TMS320C55XDSP的匯編指令第39頁(yè)/共134頁(yè)TMS320C55XDSP的匯編指令指令集中使用的術(shù)語(yǔ)、符號(hào)和縮寫(xiě)

第40頁(yè)/共134頁(yè)指令集中使用的運(yùn)算符第41頁(yè)/共134頁(yè)算術(shù)運(yùn)算指令

加法指令加法指令有幾點(diǎn)說(shuō)明:如果目的操作數(shù)是累加器ACx,在D單元的ALU中進(jìn)行運(yùn)算操作;如果目的操作數(shù)是輔助或臨時(shí)寄存器TAx,在A單元的ALU中進(jìn)行運(yùn)算操作;如果目的操作數(shù)是存儲(chǔ)器(Smem),在D單元的ALU中進(jìn)行運(yùn)算操作;如果是移位指令(16位立即數(shù)移位除外),在D單元移位器中進(jìn)行運(yùn)算操作狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:CARRY,C54CM,M40,SATA,SATD,SXMD執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy,CARRY狀態(tài)位的含義見(jiàn)本書(shū)的附錄C:TMS320C55X的狀態(tài)寄存器。第42頁(yè)/共134頁(yè)加法指令

第43頁(yè)/共134頁(yè)舉例:ADD*AR3+,T0,T1;AR3間接尋址得到的內(nèi)容與T0的內(nèi)容相加,結(jié)果裝入T1,并將AR3增1。執(zhí)行前T00302330000EF00數(shù)據(jù)存儲(chǔ)器0302hAR3T1CARRYT00303330022001EF00數(shù)據(jù)存儲(chǔ)器0302hAR3T1CARRY執(zhí)行后第44頁(yè)/共134頁(yè)舉例:

ADD*AR1<<T0,AC1,AC0;將由AR1尋址得到的內(nèi)容左移T0位與AC1相加,結(jié)果裝入AC0CARRY=0見(jiàn)仿真結(jié)果Carry受bit31影響!第45頁(yè)/共134頁(yè)減法指令狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:CARRY,C54CM,M40,SATA,SATD,SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy,CARRY指令第46頁(yè)/共134頁(yè)減法指令

第47頁(yè)/共134頁(yè)舉例:

SUBuns(*AR1),BORROW,AC0,AC1

將CARRY位求反,AC0減去由AR1尋址得到的 內(nèi)容及CARRY的內(nèi)容,并將結(jié)果裝入AC1

第48頁(yè)/共134頁(yè)條件減法指令SUBCSmem,[ACx,]ACy if((ACx–(Smem<<#15))>=0) ACy=(ACx–(Smem<<#15))<<#1+1 else ACy=ACx<<#1狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVy,CARRY第49頁(yè)/共134頁(yè)舉例:

SUBC*AR1,AC0,AC1

如果(AC0–(*AR1)<<#15)>=0,則AC1=(AC0–(*AR1)<<#15)<<#1+1,否則AC1=AC0<<#1第50頁(yè)/共134頁(yè)條件加減法指令狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,SATD,SXMD,TC1,TC2。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVy,CARRY第51頁(yè)/共134頁(yè)舉例:

ADDSUBCC*AR1,AC0,TC2,AC1

如果TC2=1,則AC1=AC0+(*AR1<<#16, 否則AC1=AC0-(*AR1)<<#16第52頁(yè)/共134頁(yè)乘法指令指令—在D單元的MAC中完成操作狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,M40,RDM,SATD執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy第53頁(yè)/共134頁(yè)乘法指令

第54頁(yè)/共134頁(yè)舉例:

MPYAC1,AC0;AC1=AC0*AC1第55頁(yè)/共134頁(yè)乘加指令指令—在D單元的MAC中完成操作狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,M40,RDM,SATD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy第56頁(yè)/共134頁(yè)乘加指令第57頁(yè)/共134頁(yè)舉例1:

MACMR*AR1,*CDP,AC2 AC2=AC2+(*AR1)*(*CDP)第58頁(yè)/共134頁(yè)舉例2:

MACMRuns(*AR2+),uns(*AR3+),AC3 AC3=(*AR2)+(*AR3)+AC3,AR2=AR2+1, AR3=AR3+1

第59頁(yè)/共134頁(yè)乘減指令指令—在D單元的MAC中完成操作狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,M40,RDM,SATD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy第60頁(yè)/共134頁(yè)乘減指令

第61頁(yè)/共134頁(yè)舉例:

MASRT1,AC0,AC1 AC1=AC1-AC0*T1第62頁(yè)/共134頁(yè)雙乘加/減指令指令—利用D單元的兩個(gè)MAC在一個(gè)周期內(nèi)同時(shí)執(zhí)行兩個(gè)乘法或乘加/減運(yùn)算狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,M40,RDM,SATD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy第63頁(yè)/共134頁(yè)舉例:

MASR40uns(*AR0),uns(*CDP),AC0 ::MACR40uns(*AR1),uns(*CDP),AC1

;AC0=AC0-uns(*AR0)*uns(*CDP) ;AC1=AC1-uns(*AR1)*uns(*CDP)第64頁(yè)/共134頁(yè)雙16位算術(shù)指令指令—利用D單元中的ALU在一個(gè)周期內(nèi)完成兩個(gè)并行的算術(shù)運(yùn)算,包括一加一減、一減一加、兩個(gè)加法或兩個(gè)減法狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,SATD,SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy,CARRY第65頁(yè)/共134頁(yè)雙16位算術(shù)指令第66頁(yè)/共134頁(yè)舉例:

ADDSUBT1,*AR1,AC1

;AC1(39-16)=(*AR1)+T1

;||AC1(15-0)=(*AR1)-T1第67頁(yè)/共134頁(yè)比較和選擇極值指令指令—在D單元的ALU中完成兩個(gè)并行16位極值選擇操作和一個(gè)40位極值選擇操作狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,SATD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVw,CARRY第68頁(yè)/共134頁(yè)比較和選擇極值指令第69頁(yè)/共134頁(yè)舉例:

MAXDIFFAC0,AC1,AC2,AC1第70頁(yè)/共134頁(yè)最大/最小值指令指令MAX[src,]dst;dst=max(src,dst)MIN[src,]dst;dst=min(src,dst)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:CARRY第71頁(yè)/共134頁(yè)舉例1:

MAXAC2,AC1

;由于(AC2)<(AC1),所以AC1保 持不變且CARRY狀態(tài)位置1舉例2:

MINAC1,T1;由于T1<AC1(15-0),所以T1的內(nèi)容保持不變且將CARRY狀態(tài)位置1

第72頁(yè)/共134頁(yè)存儲(chǔ)器比較指令指令CMPSmem==K16,TCx

;IfSmem==K16thenTCx=1elseTCx=0狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無(wú)。執(zhí)行指令后會(huì)受影響的狀態(tài)位:TCx舉例CMP*AR1+==#400h,TC1第73頁(yè)/共134頁(yè)寄存器比較指令指令—在D單元和A單元的ALU中完成兩個(gè)累加器、輔助寄存器或臨時(shí)寄存器的比較,若累加器與輔助寄存器或臨時(shí)寄存器比較,在A單元將ACx(15-0)與TAx進(jìn)行比較狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,TCy。執(zhí)行指令后會(huì)受影響的狀態(tài)位:TCx第74頁(yè)/共134頁(yè)舉例1:

CMPAC1==T1,TC1

;由于AC1(15-0)=T1,所以將TC1置1第75頁(yè)/共134頁(yè)條件移位指令指令SFTCCACx,TCx

;IfACx(39–0)=0thenTCx=1;IfACx(31–0)hastwosignbitsthen;ACx=ACx(31–0)<<#1andTCx=0;elseTCx=1狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無(wú)。執(zhí)行指令后會(huì)受影響的狀態(tài)位:TCx舉例SFTCCAC0,TC1第76頁(yè)/共134頁(yè)帶符號(hào)移位指令指令—移位指令中的移位值由立即數(shù)、SHIFTW或Tx內(nèi)容確定狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,SATA,SATD,SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy,CARRY第77頁(yè)/共134頁(yè)舉例1:

SFTST2,#1;T2=T2<<#1舉例2:

SFTSCAC0,#–5,AC1

;AC1=AC0>>5,移出的位裝入CARRY

第78頁(yè)/共134頁(yè)修改輔助寄存器(MAR)指令指令狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:ST2-55執(zhí)行指令后會(huì)受影響的狀態(tài)位:無(wú)舉例AADD#255,T0;T0=T0+255AMOV#255,AR0;AR0=255AMAR*AR3+;AR3=AR3+1第79頁(yè)/共134頁(yè)修改堆棧指針指令指令

AADDK8,SP;SP=SP+K8狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無(wú)。執(zhí)行指令后會(huì)受影響的狀態(tài)位:無(wú)。舉例

AADD#127,SP;SP=SP+127第80頁(yè)/共134頁(yè)隱含并行指令指令加-存儲(chǔ)、乘加/減-存儲(chǔ)、加/減-存儲(chǔ)、裝載-存儲(chǔ)和乘加/減-裝載狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,C54CM,M40,RDM,SATD,SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy,CARRY第81頁(yè)/共134頁(yè)隱含并行指令

第82頁(yè)/共134頁(yè)舉例:

MPYMR*AR0+,T0,AC1 ::MOVHI(AC0<<T2),*AR1+

;AC1=(*AR0)*T0,因?yàn)镕RCT=1,AC1=rnd(AC1*2), ;AC0=AC0<<T2,(*AR1)=AC0(31-16),AR1=AR1+1, ;AR0=AR0+1

第83頁(yè)/共134頁(yè)絕對(duì)距離指令指令以并行方式完成兩個(gè)操作,一個(gè)在D單元的MAC中,另一個(gè)在D單元的ALU中ABDSTXmem,Ymem,ACx,ACy;ACy=ACy+|HI(ACx)|;ACx=(Xmem<<#16)–(Ymem<<#16)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,C54CM,M40,SATD,SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy,CARRY第84頁(yè)/共134頁(yè)舉例:

ABDST*AR0+,*AR1,AC0,AC1

;AC1=AC1+|HI(AC0)|

;AC0=((*AR0)<<#16)–((*AR1)<<#16) ;AR0=AR0+1第85頁(yè)/共134頁(yè)絕對(duì)值指令指令A(yù)BS[src,]dst;dst=|src|狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,SATA,SATD,SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,CARRY舉例

ABSAR1,AC1;AC1=|AR1|第86頁(yè)/共134頁(yè)FIR濾波指令指令FIRSADDXmem,Ymem,Cmem,ACx,ACy;ACy=ACy+(ACx(32-16)*Cmem)

;ACx=(Xmem<<#16)+(Ymem<<#16)FIRSSUBXmem,Ymem,Cmem,ACx,ACy;ACy=ACy+(ACx(32-16)*Cmem)

;ACx=(Xmem<<#16)–(Ymem<<#16)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,C54CM,M40,SATD,SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy,CARRY第87頁(yè)/共134頁(yè)舉例:

FIRSADD*AR0,*AR1,*CDP,AC0,AC1

;AC1=AC1+AC0(32-16)*(*CDP)

;AC0=((*AR0)<<#16)+((*AR1)<<#16)第88頁(yè)/共134頁(yè)最小均方(LMS)指令指令LMSXmem,Ymem,ACx,ACy

;ACy=ACy+(Xmem*Ymem)

;::ACx=rnd(ACx+(Xmem<<#16))狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,C54CM,M40,RDM,SATD,SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy,CARRY第89頁(yè)/共134頁(yè)舉例:

LMS*AR0,*AR1,AC0,AC1

;AC1=AC1+(*AR0)*(*AR1)

;::AC0=rnd(AC0+((*AR0)<<#16))第90頁(yè)/共134頁(yè)補(bǔ)碼指令指令NEG[src,]dst;dst=–src狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:M40,SATA,SATD,SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,CARRY舉例

NEGAC1,AC0;AC0=-AC1第91頁(yè)/共134頁(yè)歸一化指令指令MANTACx,ACy;ACy=mant(ACx),::NEXPACx,Tx;Tx=–exp(ACx)EXPACx,Tx;Tx=exp(ACx)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無(wú)。執(zhí)行指令后會(huì)受影響的狀態(tài)位:無(wú)舉例

MANTAC0,AC1;AC1等于AC0的尾數(shù),即將AC0右移與32位帶符號(hào)數(shù)對(duì)齊后的值;::NEXPAC0,T1;T1等于將AC0的MSB左移與32位帶符號(hào)數(shù)對(duì)齊所移位的次數(shù)值第92頁(yè)/共134頁(yè)飽和和舍入指令指令SAT[R][ACx,]ACy;ACy=saturate(rnd(ACx))ROUND[ACx,]ACy;ACy=rnd(ACx)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,RDM,SATD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVy第93頁(yè)/共134頁(yè)舉例1:

ROUNDAC0,AC1

;AC1=AC0+8000h,且16個(gè)最低有效位清0舉例2:

SATAC0,AC1

;將32位的AC0飽和,將飽和后的值FF80000000裝入AC1

第94頁(yè)/共134頁(yè)平方差指令指令SQDSTXmem,Ymem,ACx,ACy

;ACy=ACy+(ACx(32-16)*ACx(32-16))

;ACx=(Xmem<<#16)–(Ymem<<#16)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,C54CM,M40,SATD,SXMD。執(zhí)行指令后會(huì)受影響的狀態(tài)位:ACOVx,ACOVy,CARRY第95頁(yè)/共134頁(yè)舉例:

SQDST*AR0,*AR1,AC0,AC1

;AC1=AC1+(AC0(32-16))*(AC0(32-16)) ;AC0=((*AR0)<<16)-((*AR1<<16)第96頁(yè)/共134頁(yè)位操作指令

位域比較指令指令BANDSmem,k16,TCx

;If(((Smem)ANDk16)==0),TCx=0

;elseTCx=1狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無(wú)。執(zhí)行指令后會(huì)受影響的狀態(tài)位:TCx舉例:BAND*AR3,#00A0h,TC2

;由于(*AR3)ANDk16==0,TC2=0第97頁(yè)/共134頁(yè)位計(jì)數(shù)指令BCNTACx,ACy,TCx,Tx

;Tx=(ACxANDACy)中1的個(gè)數(shù) ;若Tx為奇數(shù),則TCx=1,反之TCx=0狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無(wú)。執(zhí)行指令后會(huì)受影響的狀態(tài)位:TCx舉例:BCNTAC1,AC2,TC1,T1

;T1=(AC1與AC2)中1的個(gè)數(shù),個(gè)數(shù)是奇數(shù),TC1=1第98頁(yè)/共134頁(yè)位域擴(kuò)展和抽取指令指令位域抽?。築FXTRk16,ACx,dst;從LSB到MSB將k16中非零位對(duì)應(yīng)的ACx中的位抽取出來(lái),依次放到dst的LSB中位域擴(kuò)展:BFXPAk16,ACx,dst;將ACx的LSB放到k16中非零位對(duì)應(yīng)的dst中的位置上,;ACx的LSB個(gè)數(shù)等于k16中1的個(gè)數(shù)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無(wú)。執(zhí)行指令后會(huì)受影響的狀態(tài)位:無(wú)第99頁(yè)/共134頁(yè)舉例1:

BFXTR#8024h,AC0,T2

;從最低位到最高位將(8024h)中非零位對(duì)應(yīng)的AC0中的位抽取出來(lái)依次放到T2的LSB中

舉例2:

BFXPA#8024h,AC0,T2

;將AC0的LSB放到#8024h中非零位對(duì)應(yīng)的T2中的位置上,AC0的LSB個(gè)數(shù)等于#8024h中1的個(gè)數(shù)

第100頁(yè)/共134頁(yè)存儲(chǔ)器位操作指令指令測(cè)試、清零、置位和取反狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無(wú)。執(zhí)行指令后會(huì)受影響的狀態(tài)位:TCx第101頁(yè)/共134頁(yè)舉例1:

BTSTAC0,*AR0,TC1

;位地址AC0(3-0)=8,測(cè)試(*AR0)的位8,結(jié)果存入TC1舉例2:

BTSTNOT#12,*AR0,TC1

;測(cè)試(*AR0)的位12,結(jié)果存入TC1,并將(*AR0)的位12取反

第102頁(yè)/共134頁(yè)寄存器位操作指令指令測(cè)試、置位、清零和取反操作狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無(wú)。執(zhí)行指令后會(huì)受影響的狀態(tài)位:TCx第103頁(yè)/共134頁(yè)舉例1:

BTST@#12,T0,TC1

;測(cè)試T0的位12,將結(jié)果存入TC1

舉例2:

BNOTAR1,T0

;將T0中由AR1確定的位12取反

第104頁(yè)/共134頁(yè)舉例3:

BTSTPAR1(T0),AC0

;由基地址(AR1)和偏移地址T0確定的位地址為39,測(cè)試AC0中的第39位并存入TC1;測(cè)試AC0中的第40位并存入TC2第105頁(yè)/共134頁(yè)狀態(tài)位設(shè)置指令指令置位和清零狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無(wú)。執(zhí)行指令后會(huì)受影響的狀態(tài)位:已經(jīng)選擇的狀態(tài)位第106頁(yè)/共134頁(yè)舉例1:

BCLRAR1LC,ST2_55

;由標(biāo)號(hào)AR1LC確定位地址為1,將ST2-55的位2清零

舉例2:

BSETCARRY,ST0_55

;由標(biāo)號(hào)CARRY確定位地址為11,將ST0-55的位11置位

舉例3:

BSETCARRY

;將ST0-55的CARRY(位11)置位

第107頁(yè)/共134頁(yè)擴(kuò)展輔助寄存器操作指令

指令狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:ST2-55。執(zhí)行指令后會(huì)受影響的狀態(tài)位:無(wú)第108頁(yè)/共134頁(yè)舉例1:

AMAR*AR1+,XAR0;將(*AR1)的內(nèi)容裝入XAR0,且AR1增1AMOV#7FFFFFh;將23位的值(7FFFFFh)裝入XAR0MOVdbl(*AR3),XAR1;將(*AR3)低7位和(*(AR3+1))的16位裝入XAR1第109頁(yè)/共134頁(yè)位操作指令

位域比較指令指令BANDSmem,k16,TCx

;If(((Smem)ANDk16)==0),TCx=0

;elseTCx=1狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無(wú)。執(zhí)行指令后會(huì)受影響的狀態(tài)位:TCx舉例:BAND*AR3,#00A0h,TC2

;由于(*AR3)ANDk16==0,TC2=0第110頁(yè)/共134頁(yè)邏輯運(yùn)算指令

按位與/或/異或/取反指令指令狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40。執(zhí)行指令后會(huì)受影響的狀態(tài)位:無(wú)第111頁(yè)/共134頁(yè)舉例1:

NOTAC0,AC1

;將AC0的內(nèi)容取反,結(jié)果存入AC1

舉例2:

ANDAC0,AC1;AC1=AC1ANDAC0

舉例3:AC0<<#4,AC1;將AC0邏輯左移4位后與AC1相或,結(jié)果存 入AC1舉例4:XORAC0,AC1;AC1=AC1XORAC0第112頁(yè)/共134頁(yè)邏輯移位指令狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40。執(zhí)行指令后會(huì)受影響的狀態(tài)位:CARRY第113頁(yè)/共134頁(yè)舉例1:

SFTLAC1,#1;AC1=AC1<<#1,由于M40=0,CARRY=位31,且位(39-32)清零

舉例2:

SFTLAC0,T0,AC1;AC1=AC0<<-6,由于M40=0,所以(39-32)清零

第114頁(yè)/共134頁(yè)循環(huán)移位指令ROLBitOut,src,BitIn,dst;將BitIn移進(jìn)src的LSB,src被移出的位存放于BitOut,此時(shí)的結(jié)果放到dst中RORBitIn,src,BitOut,dst;將BitIn移進(jìn)src的MSB,src被移出的位存放于BitOut,此時(shí)的結(jié)果放到dst中狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:CARRY,M40,TC

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論