DSP-04尋址方式及指令系統(tǒng)_第1頁
DSP-04尋址方式及指令系統(tǒng)_第2頁
DSP-04尋址方式及指令系統(tǒng)_第3頁
DSP-04尋址方式及指令系統(tǒng)_第4頁
DSP-04尋址方式及指令系統(tǒng)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、61第四章第四章 匯編語言尋址方式及指令系統(tǒng)匯編語言尋址方式及指令系統(tǒng)格式:操作碼格式:操作碼 操作數(shù)操作數(shù) ;注釋;注釋 共共8686條:條: 數(shù)據(jù)傳送類(數(shù)據(jù)傳送類(3939條)條) 算術(shù)運(yùn)算類算術(shù)運(yùn)算類 (19(19條條) )(加法(加法4 4條,減法條,減法5 5條,乘法條,乘法6 6條,平方條,平方2 2條,條, 標(biāo)準(zhǔn)化標(biāo)準(zhǔn)化2 2條、)條、) 邏輯運(yùn)算類(邏輯運(yùn)算類(9 9條)條) 分支轉(zhuǎn)移類(分支轉(zhuǎn)移類(1919條)條)62DSPDSP尋址方式有三種:立即、直接、間接尋址方式有三種:立即、直接、間接1 1立即尋址:立即尋址: (1 1)短立即尋址:?jiǎn)巫种噶?,指令中給出)短立即尋址

2、:?jiǎn)巫种噶睿噶钪薪o出8 8、9 9、1313位常數(shù)作為位常數(shù)作為 操作數(shù)操作數(shù) 一般立即數(shù)前加一般立即數(shù)前加“#”#”。例:。例:RPT #99RPT #99;緊跟;緊跟RPTRPT后的指令后的指令 執(zhí)行執(zhí)行100100次次 (2 2)長立即尋址:雙字指令,給出)長立即尋址:雙字指令,給出1616位立即數(shù)位立即數(shù) 例:例:ADD #16384ADD #16384,2 2;將;將1638416384左移左移2 2位后與累加器相加,位后與累加器相加, 結(jié)果送累加器。結(jié)果送累加器。632直接尋址直接尋址: 對(duì)數(shù)據(jù)存貯器的訪問,對(duì)數(shù)據(jù)存貯器的訪問,64K64K空間分為空間分為512512頁,由頁,由

3、STOSTO的的9 9位確定位確定 頁面指針頁面指針DPDP。由指令提供頁內(nèi)的。由指令提供頁內(nèi)的128128個(gè)字地址偏移量,占個(gè)字地址偏移量,占7 7位。位。 由由DP+DP+偏移量偏移量=16=16位直接地址。復(fù)位時(shí),系統(tǒng)對(duì)位直接地址。復(fù)位時(shí),系統(tǒng)對(duì)DPDP不進(jìn)行初始不進(jìn)行初始 化,由用戶進(jìn)行初始化?;?,由用戶進(jìn)行初始化。 例:例:LDP #4 ;DP=4LDP #4 ;DP=4頁頁 地址為:地址為:200H-27FH200H-27FH ADD 9H ADD 9H,5 ;5 ;(200H+9200H+9)的內(nèi)容左移)的內(nèi)容左移5 5位后與累加器相加,位后與累加器相加, 結(jié)果給累加器。結(jié)果給累

4、加器。 643 3間接尋址間接尋址: 由由AR0-AR7AR0-AR7作為間接寄存器,作為間接寄存器,ARPARP的值(的值(3 3位)作為當(dāng)前輔位)作為當(dāng)前輔 助寄存器。助寄存器。 ARAUARAU(輔助寄存器算術(shù)單元)對(duì)輔助寄存器進(jìn)行運(yùn)算、修改(輔助寄存器算術(shù)單元)對(duì)輔助寄存器進(jìn)行運(yùn)算、修改 不占用不占用CPUCPU時(shí)間。時(shí)間。 有有4 4種操作:種操作: 不增不減不增不減 增減增減 增減一個(gè)變址量增減一個(gè)變址量 反向進(jìn)位方式增減一個(gè)變量值反向進(jìn)位方式增減一個(gè)變量值 ( (反向進(jìn)位方式:由高位開始運(yùn)算,進(jìn)位(借位)給低位,適用反向進(jìn)位方式:由高位開始運(yùn)算,進(jìn)位(借位)給低位,適用 于于FF

5、TFFT算法。算法。) )65間接尋址七種操作方式間接尋址七種操作方式:方式方式 操作數(shù)符號(hào)操作數(shù)符號(hào)不增不減不增不減 * 增增1 1 *+減減1 1 *-加變量值加變量值 *0+ 減變數(shù)值減變數(shù)值 *0-反向進(jìn)位加變址量反向進(jìn)位加變址量 *BRO+ 反向進(jìn)位減變址量反向進(jìn)位減變址量 *BRO- 例例 ADD ADD * *+ +,8 8,AR4AR4; 當(dāng)前當(dāng)前ARAR內(nèi)容所指數(shù)據(jù)存貯器單元的內(nèi)容左移內(nèi)容所指數(shù)據(jù)存貯器單元的內(nèi)容左移8 8位后與累加器相加位后與累加器相加 當(dāng)前輔助寄存器內(nèi)容加當(dāng)前輔助寄存器內(nèi)容加1 1 AR4AR4為下一次當(dāng)前為下一次當(dāng)前ARARARAR內(nèi)容所指數(shù)據(jù)存貯器地址

6、內(nèi)容加載暫時(shí)寄存器內(nèi)容所指數(shù)據(jù)存貯器地址內(nèi)容加載暫時(shí)寄存器(TREG)(TREG)ARAR內(nèi)容加載后內(nèi)容加載后ARAR內(nèi)容內(nèi)容1 1ARAR內(nèi)容加載后內(nèi)容加載后ARAR內(nèi)容內(nèi)容AROARO的內(nèi)容的內(nèi)容ARAR加載后,反向進(jìn)位方式將當(dāng)前加載后,反向進(jìn)位方式將當(dāng)前ARAR內(nèi)容內(nèi)容AROARO的內(nèi)容的內(nèi)容66 5.1 5.1 數(shù)據(jù)傳遞類數(shù)據(jù)傳遞類(39(39條條) )A A:狀態(tài)寄存器操作:(:狀態(tài)寄存器操作:(2 2條)條) (裝(裝ARPARP、ARBARB、DPDP及標(biāo)志位)及標(biāo)志位) (1 1)裝狀態(tài)寄存器)裝狀態(tài)寄存器ST0ST0、ST1ST1 LST #m, dirLST #m, dir

7、 ; ;直接尋址直接尋址,dir,dir為常數(shù)形式的直接地址為常數(shù)形式的直接地址 LST #m, ind,ARnLST #m, ind,ARn ; ;間接尋址間接尋址,ind,ind為輔助寄存器名為輔助寄存器名 * *m=0,m=0,選擇選擇ST0ST0,m=1,m=1,選擇選擇ST1ST1* *操作不影響操作不影響1NTM1NTM。(。(D9D9位)位)* *裝裝ST0ST0時(shí),只影響時(shí),只影響ARPARP,不影響,不影響ARBARB裝裝ST1ST1時(shí),即送時(shí),即送ARBARB,也送,也送ARPARP* *間接尋址時(shí),雖然指定下一個(gè)間接尋址時(shí),雖然指定下一個(gè)ARnARn,但被忽略,將,但被忽

8、略,將ST0/1ST0/1中的中的 最高三位送最高三位送ARP/ARBARP/ARB67例:例:LST #1LST #1,00H00H;(;(DP=6DP=6)頁地址)頁地址=000000110B =000000110B 直接地址直接地址=00H=00H 存儲(chǔ)器地址存儲(chǔ)器地址=300H=300H 執(zhí)行前執(zhí)行前 執(zhí)行后執(zhí)行后 300=E1BCH300=E1BCH300=E1BCH300=E1BCHST0=0406HST0=0406HST0=E406HST0=E406H;改變;改變ARP D10=1 ARP D10=1 ST1=09ECHST1=09ECHST1=E1FCH D5D8=1 D2ST

9、1=E1FCH D5D8=1 D2,D3=1 D3=1 ARP=0ARP=0 ARP=7 ARP=7例:例:LST #0LST #0,* *-AR1 :-AR1 :* *為當(dāng)前寄存器的間接尋址為當(dāng)前寄存器的間接尋址執(zhí)行前執(zhí)行前 執(zhí)行后執(zhí)行后ARP=4ARP=4 ARP=7 ARP=7;AR1AR1忽略忽略AR4=3FF AR4=3FFHAR4=3FF AR4=3FFH3FF=EE043FF=EE04 3FF=EE04 3FF=EE04ST0=EE00ST0=EE00 ST0=EE04 ST0=EE04;ARP=7ARP=7ST1=E7ECST1=E7EC ST1=E7EC ST1=E7EC68

10、(2 2)SSTSST存貯狀態(tài)寄存器存貯狀態(tài)寄存器 SST # m, dirSST # m, dir ; ST0/ST1 ; ST0/ST1 數(shù)據(jù)存貯器,直接方式下無論數(shù)據(jù)存貯器,直接方式下無論DPDP多少,多少, 總被存放在總被存放在0 0頁,且不改變頁,且不改變DPDP。 SST # m, ind , ARnSST # m, ind , ARn ; ;間接尋址中可存放在任何一頁間接尋址中可存放在任何一頁 例:例:SST #1SST #1,* *,ARTART 前前 后后 ARP=0 ARP=0 ARP=7 ARP=7 AR0=300 AR0=300 AR0=300 AR0=300 300=

11、0 300=2580 300=0 300=2580 ST1=2580 ST1=2580 ST1=2580 ST1=2580例:例:SST #0SST #0,96 96 ;指向;指向0 0頁的頁的 96(60H)96(60H) 前前 后后 ST0=0A408ST0=0A408 ST0=0A408H ST0=0A408H 60H=0A 60H=0A 60H=0A408H 60H=0A408H69B B:輔助寄存器操作:(:輔助寄存器操作:(6 6條)條) 1 1 裝載裝載ARAR LAR ARX, dir LAR ARX, dir ;dir(ind)(K) ARX;dir(ind)(K) ARX

12、LAR ARX, ind,ARn LAR ARX, ind,ARn ; ; 無論無論SXMSXM何值均不擴(kuò)展符號(hào)何值均不擴(kuò)展符號(hào) LAR ARXLAR ARX,#K#K LAR ARX LAR ARX,#Lk#Lk 例:例:LAR AR4LAR AR4,* *_ ;_ ;執(zhí)行中指定執(zhí)行中指定ARAR與與ARPARP指定的指定的ARAR相同,相同, 則不減量則不減量 前前 后后ARP=4ARP=4 ARP=4 ARP=4AR4=300AR4=300 AR4=32 AR4=32300=32300=32 300=32 300=32 70 例:例:LAR AR0LAR AR0,1616;DP=6DP=

13、6 前前 后后 310H=18H 310H=18H 310H=18H 310H=18H AR0=6H AR0=6H AR0=18H AR0=18H 例:例:LAR AR6LAR AR6,#3FFFH#3FFFH 前前 后后 AR6=0H AR6=0H AR6=3FFFH AR6=3FFFH2 2存貯存貯ARAR SAR ARXSAR ARX,dir dir ;ARX dir(ind);ARX dir(ind) SAR ARX, ind , ARn SAR ARX, ind , ARn ; ;執(zhí)行中要修改,且要減、增量執(zhí)行中要修改,且要減、增量 例:例: SAR AR0SAR AR0, * *+

14、 +, 前前 后后 ARP=0ARP=0 ARP=0 ARP=0 AR0=401 AR0=401 401=401 401=401 401=0 AR0=402 401=0 AR0=402 例:例: SAR AROSAR ARO,3030; (DP=6DP=6) ARO=37H ARO=37HARO=37H ARO=37H 31EH=18H 31EH=37H 31EH=18H 31EH=37H 713. 3. 修改修改ARP ARP MAR dir MAR dir MAR ind MAR ind ,ARnARn ; ;修改修改ARPARP,且原,且原ARPARP復(fù)制到復(fù)制到ARBARB 例子:例子

15、:MAR MAR * *,AR1 AR1 例例 MAR MAR * *+ +,AR5 .AR5 .當(dāng)前當(dāng)前ARAR增量,并修改增量,并修改ARPARP 前前 后后 前前 后后 ARP=0 ARP=1 ARP=1 ARP=0 ARP=1 ARP=1 ARI=35 ARI=35 ARB=7 ARB=0 ARI=34 ARB=7 ARB=0 ARI=34 ARP=5ARP=5 ARB=0 ARB=0 ARB = 1ARB = 1724 4ARAR加加 ADRK #K ADRK #K ; K K為無符號(hào)數(shù),運(yùn)算與為無符號(hào)數(shù),運(yùn)算與SXMSXM、OVMOVM無關(guān),無關(guān), 結(jié)果與結(jié)果與C.OVC.OV無關(guān)

16、。無關(guān)。5. AR5. AR減減 SBRK #KSBRK #K ; AR-K-ARAR-K-AR6. AR6. AR比較測(cè)試比較測(cè)試 CMPR CM CMPR CM ; CM=00 00 測(cè)測(cè)AR=AROAR=ARO 01 01 測(cè)試測(cè)試ARARAROARO 條件成立條件成立TC=1 10 TC=1 10 測(cè)試測(cè)試ARARARO ARO 否則否則TC=0 11 TC=0 11 測(cè)試測(cè)試AR=AROAR=ARO均均為為無無符符號(hào)號(hào)數(shù)數(shù) C C 修改頁指針(修改頁指針(1 1條)條)LDP dirLDP dirLDP ind,ARnLDP ind,ARnLDP #KLDP #K 例例 LDP LD

17、P * * , AR5AR5 前前 后后ARP=4 ARP=4 ARP=5ARP=5AR4=300 AR4=300 AR4=300AR4=300300=06H 300=06H 300=06300=06DP=1FFH DP=1FFH DP=06 DP=06 73D D累加器的操作(累加器的操作(6 6條)條) 1 1左移后裝載累加器,左移后裝載累加器,3232位送位送ACCACC LACC dir , shiftLACC dir , shift LACC dir, 16 LACC dir, 16 LACC ind , shift ,ARn LACC ind , shift ,ARn ; ;移位時(shí)

18、低位填移位時(shí)低位填0 0,高位受,高位受SXMSXM影響影響 (0 0:不擴(kuò)展,:不擴(kuò)展,1 1:擴(kuò)展):擴(kuò)展) LACC ind ,16 , ARn LACC ind ,16 , ARn LACC # k, shift LACC # k, shift例:例:LACC LACC * * ,4 4 (SXM=0SXM=0) 前前 后后 ARP=2ARP=2 ARP=2 ARP=2 AR2=300 AR2=300AR2=300AR2=300 300=0FF 300=0FF300=0FF300=0FF ACC= ACC= ACC=0FF0 ACC=0FF0 例:例:LACC 6,4 ; (DP=6

19、SXM=0) 406H=01 406H=01 ACC= . ACC=10 742裝低裝低1616位且清高位。(不位且清高位。(不 擴(kuò)展)。低擴(kuò)展)。低1616位送位送ACCACC。 LACL dir LACL ind , ARn ;無論無論SXMSXM為何值,不擴(kuò)為何值,不擴(kuò) 展符號(hào)展符號(hào) LACL # K 例:例:LACL *_ , AR4 前前 后后 ARP=0 ARP=4 AR0=401AR0=400 401=FFH401=0FF A= A=0FF 3裝高裝高16位,清低位(且位,清低位(且D15=1) ZALR dir ZALR ind , ARn 例:例:ZALR 3 ; CDP=3

20、2 (20H) 1003=03F0 1003H=03F0 ACC= ACC=03F08000H754按規(guī)定左移后裝累加器按規(guī)定左移后裝累加器 LACT dir ;左移后裝左移后裝ACCACC,左移次數(shù)由,左移次數(shù)由TREGTREG低低4 4位決定,位決定, 可左移可左移0-150-15位。位。 LACT ind , ARn ; 右移時(shí)受右移時(shí)受SMXSMX影響影響5存貯存貯ACCACC高位高位 SACH dir , shift ;ACC32ACC32位左移位左移0-70-7位后的高位后的高1616位送數(shù)位送數(shù)據(jù)存貯器據(jù)存貯器 SACH ind , shift ,ARn6存貯存貯ACCACC低位

21、低位 SACL dir ,shift SACL ind ,shift , ARn76E數(shù)據(jù)傳遞:(數(shù)據(jù)傳遞:(6 6條)條) 1 1數(shù)據(jù)塊傳遞。(數(shù)據(jù)存貯器數(shù)據(jù)塊傳遞。(數(shù)據(jù)存貯器 數(shù)據(jù)存貯器)塊傳遞。數(shù)據(jù)存貯器)塊傳遞。 BLDD # lk , dir BLDD # lk , ind ,ARn BLDD dir , # lk ; # lk # lk 為地址,塊長度由為地址,塊長度由RPTRPT指令設(shè)置到指令設(shè)置到RPTCRPTC中,中, 該指令不能用于存貯映射寄存器該指令不能用于存貯映射寄存器 目的地址送目的地址送 BLDD ind , #lk ,ARn例:例:BLDD *+, #321H,

22、AR2 前前 后后 ARP=2ARP=2 AR2=301AR2=302 301=01301=01 PC=321PC=322 321=0F 321=01例:例:BLDD #300H ,20H; (DP=6) 300H=0h 300H=0H 320H=0fh 320H=0H 772程序存貯器與數(shù)據(jù)存貯器的塊傳遞程序存貯器與數(shù)據(jù)存貯器的塊傳遞 BLPD # Pdir , dir BLPD # Pdir , ind , ARn 例:例:BLPD # 800 ,*,AR7 前前 后后程存貯器程存貯器 800H=1111H 800=1111 ARP=00 ARP=7 AR0=310 AR0=310 310

23、=100 310=1111例:例:BLPD #800H,00H;(;(DP=6) 程序存貯器程序存貯器:800H=0FH 800H=0FH 數(shù)據(jù)存貯器數(shù)據(jù)存貯器:300H=0H 300H=0FH 3片內(nèi)數(shù)據(jù)存貯器間的數(shù)據(jù)傳遞(下傳)片內(nèi)數(shù)據(jù)存貯器間的數(shù)據(jù)傳遞(下傳) DMOV dir 數(shù)據(jù)存貯器內(nèi)容數(shù)據(jù)存貯器內(nèi)容 數(shù)據(jù)存貯器數(shù)據(jù)存貯器+1的單元中,的單元中, 用于用于Z-1延遲操作。延遲操作。 DMOV ind,ARn 例:例:DMOV 8 ;DP=6 308H=43H 308H=43H 309H=2H 309H=43H784長立即數(shù)存貯到數(shù)據(jù)存貯器長立即數(shù)存貯到數(shù)據(jù)存貯器 SPLK # lk

24、 , dir ; 不影響狀態(tài)位。不影響狀態(tài)位。 SPLK # lk , ind,ARn 例:例:SPLK #7FF0H , 3 ;DP=6303=FE07303H=7FF0H5讀表:(塊操作)讀表:(塊操作) (ACC)(ACC)程序存貯器程序存貯器 數(shù)據(jù)存貯器間的塊操作。數(shù)據(jù)存貯器間的塊操作。 (ACC)(ACC)程序存貯器程序存貯器 數(shù)據(jù)存貯器數(shù)據(jù)存貯器 TBLR dir ;將程序存貯器單元中的字送指定的數(shù)據(jù)存貯器中將程序存貯器單元中的字送指定的數(shù)據(jù)存貯器中 TBLR ind , ARn ;程序貯存器地址由程序貯存器地址由ACCACC低位定義低位定義 執(zhí)行執(zhí)行RPTRPT時(shí),時(shí),TBLRT

25、BLR變?yōu)閱沃芷?,表地址變?yōu)閱沃芷冢淼刂?PCPC 例:例:TBLR 6 ;DP=4 ,ACC=23H 程序存貯器程序存貯器 23H=306H 23H=306H 數(shù)據(jù)存貯器數(shù)據(jù)存貯器206H=75H 206H=306H 796寫表:(塊操作)寫到(寫表:(塊操作)寫到(ACC16ACC16)的程序空間)的程序空間 TBLW dir TBLW ind , ARn 例:例: TBLW * 前前 后后 ARP=6 ARP=6 AR6=1006 AR6=1006 數(shù)據(jù)存貯數(shù)據(jù)存貯1006=4340 1006=4340 ACC=258 ACC=258程序存貯器程序存貯器258=307 258=4340

26、80F:堆棧操作:(:堆棧操作:(4條)條) POP : 棧頂至棧頂至ACC低位低位 PUSH: 累加器低位進(jìn)棧累加器低位進(jìn)棧 POPD dir POPD ind,ARn PUSHD dir PUSHD ind ,ARn G:輸入輸入/ /輸出:(輸出:(2 2條)條) IN dir , PA ;可與可與PRTPRT一起使一起使用,用, PAPA為口地址為口地址 IN ind, PA,ARn OUT dir, PA OUT ind, PA,ARn81H. 乘積寄存器乘積寄存器(PREG)的操作的操作 (6條條) 1. 裝高位裝高位 LPH dir ;指定內(nèi)容送指定內(nèi)容送PREGPREG高位高位

27、 LPH ind,ARn 2. 存貯存貯PREGPREG高位高位 SPH dir ;將將PREGPREG按按PMPM規(guī)定移位后規(guī)定移位后, ,送高位到數(shù)據(jù)存貯器送高位到數(shù)據(jù)存貯器 SPH ind,ARn 執(zhí)行時(shí)是將執(zhí)行時(shí)是將PREGPREG送乘積移位器中處理結(jié)果不影響送乘積移位器中處理結(jié)果不影響PREGPREG 3. 存貯存貯PREGPREG低位低位 SPL dir ;將將PREGPREG復(fù)制到移位寄存器后按復(fù)制到移位寄存器后按PMPM方式移位方式移位 SPL ind,ARn 結(jié)果的低位送數(shù)據(jù)存貯器結(jié)果的低位送數(shù)據(jù)存貯器 例例 SPL 5 ;(DP=4) (PM=2,左移左移4位位) 前前 后

28、后 PREG=FE019844 PREG=FE079844 205=4567H 205=8440824. PREG送送ACC PAC ;P送送AC( (無操作數(shù)無操作數(shù)) )將將PREGPREG內(nèi)容按內(nèi)容按PMPM要求移位后送要求移位后送ACCACC 例例 PAC ;PM=0 PEGE=144 PREG=144 ACC = ACC =1445. APAC ; PREGPREG的內(nèi)容按的內(nèi)容按PMPM位規(guī)定移位后位規(guī)定移位后ACC+PACC+P APAC 再送至累加器再送至累加器, ,無論無論SXMSXM為何值,為何值, PREGPREG都進(jìn)行符號(hào)擴(kuò)展都進(jìn)行符號(hào)擴(kuò)展 受受PMPM,OVMOVM影

29、響,結(jié)果影響影響,結(jié)果影響C C,OV OV 6. SPAC ; P P移位后移位后ACC- P ACC SPAC ;受受PMPM、OVMOVM影響,無論影響,無論SXMSXM為何值,為何值, PREGPREG均按符號(hào)擴(kuò)展,影響均按符號(hào)擴(kuò)展,影響C C、OVOV83.TREG 臨時(shí)寄存器臨時(shí)寄存器( (乘數(shù)寄存器乘數(shù)寄存器) )操作操作(5(5條條) ) 1.裝裝T LT dir LT ind,ARn 2.裝裝T T 且將且將P P移位后送累加器移位后送累加器 LTP dir ;先裝先裝TREG.TREG.然后然后PREGPREG移位后送移位后送ACCACC LTP ind,ARn 3.裝裝T

30、. T. 后將后將P P與累加器相與累加器相. .結(jié)果送累加器結(jié)果送累加器 LTA dir ;指定內(nèi)容送指定內(nèi)容送TREG.TREG.然后然后PREGPREG送移位器按送移位器按PMPM 方式移位方式移位. .再與累加器內(nèi)容相加后送再與累加器內(nèi)容相加后送ACCACC LTA ind,ARn 結(jié)果影響結(jié)果影響C C位及位及OVOV位位. .受受PMPM位和位和OVMOVM影響影響 例例 LTA * ,AR5 ;PM=0 前前后后 ARP=4 ARP=5 AR4=324 AR4=324 324=62 324=62 TREG=3 TREG=62 PREG=F PREG=F ACC=5 ACC=148

31、44. .裝裝T. T. 累加累加. . 下移數(shù)據(jù)下移數(shù)據(jù) LTD dir ;首先裝載首先裝載TREGTREG并送到數(shù)據(jù)并送到數(shù)據(jù)+1+1的單元中的單元中. .然后然后 PREGPREG送移位器移位送移位器移位. .再加累加器后送累加器再加累加器后送累加器 LTD ind ,ARn 受受PMPM及及OVMOVM影響影響. .影響影響C C及及OVOV狀態(tài)位狀態(tài)位5.裝裝T. T. 并減前次乘積并減前次乘積 LTS dir ;先裝先裝TREG,TREG,然后然后PREGPREG移位移位. .再將再將ACC-ACC-移位后的值送移位后的值送ACCACC LTS ind,ARn 例例 LTS 36

32、;(DP=6. PM=0) 前前 后后 324=62H 324=62H TREG=3H TREG=62H PREG=0FH PREG=0FH ACC=05H ACC=FFFFFFF6J J設(shè)置設(shè)置P P的移位方式(的移位方式(1 1條)條) SPM constand;取值;取值0-30-3,乘積移位方式,乘積移位方式85傳送指令小結(jié)傳送指令小結(jié):(共共39條條)ST狀態(tài)寄存器狀態(tài)寄存器2條條 LST SSTAR輔助寄存器輔助寄存器6條條 LAR SAR MAR ADRK SBRK CMPRDP頁指針操作頁指針操作1條條 LDP累加器傳送累加器傳送6條條 LACC LACL SACH SACL

33、LACT ZALR數(shù)據(jù)傳送數(shù)據(jù)傳送6條條 SPLK BLDD BLPD TBLR TBLW DMOV堆棧傳送堆棧傳送4條,條, POP PUSH POPD PUSHD I/O傳送傳送2條條 IN OUTPREG 6條條 LPH SPH SPL PAC APAC SPACTREG 5 5條條 LT LTP LTA LTD LTS P P的移位方式(的移位方式(1 1條)條) SPM 9條條12條條18條條86 5.2 5.2 算術(shù)運(yùn)算類算術(shù)運(yùn)算類: : ( (19條條):A A:加法指令(:加法指令(4 4條)條)1.1.不帶不帶C C的加法的加法ADD dir,shiftADD dir,shi

34、ft ; ;除短立即尋址不受除短立即尋址不受SXMSXM影響外,其它均受影響影響外,其它均受影響ADD ind,shift,ARnADD ind,shift,ARn ADD dir,16ADD dir,16 ; ;左移左移1616位位 影響影響C C,OVOV,受,受OVMOVM影響影響ADD ind, 16,ARnADD ind, 16,ARn 正常情況結(jié)果有進(jìn)位正常情況結(jié)果有進(jìn)位C=1C=1,否則清,否則清0 0ADD #KADD #K ; ;不受不受SXMSXM影響影響 1616位移加法時(shí),有進(jìn)位位移加法時(shí),有進(jìn)位C=1C=1,否則進(jìn)位不變,否則進(jìn)位不變ADD #lK,shiftADD

35、#lK,shift ; ;受受SXMSXM影響影響 OVM=0OVM=0時(shí),結(jié)果不調(diào)整時(shí),結(jié)果不調(diào)整 OVM=1OVM=1時(shí),結(jié)果為正調(diào)整為時(shí),結(jié)果為正調(diào)整為7FFFFFFF7FFFFFFF 結(jié)果為負(fù)調(diào)整為結(jié)果為負(fù)調(diào)整為80000000800000002.2.帶帶C C的加法的加法 ADDC dirADDC dir ; ;不受不受SXMSXM影響,受影響,受OVMOVM影響,結(jié)果影響影響,結(jié)果影響C C和和OVOV ADDC ind, ARnADDC ind, ARn873.抑制符號(hào)擴(kuò)展(加無符號(hào)數(shù))抑制符號(hào)擴(kuò)展(加無符號(hào)數(shù)) ADDS dir ;無論無論SXMSXM為何值,均作為無符號(hào)處理為

36、何值,均作為無符號(hào)處理 累加器視為有符號(hào)數(shù)累加器視為有符號(hào)數(shù) ADDS ind,ARn 受受OVMOVM影響,結(jié)果影響影響,結(jié)果影響C C,OVOV。 例:例: ADDS * 前前 后后ARP=0 ARP=0 AR0=300 AR0=300300=FFFF 300=FFFFACC=7FF0000 ACC=7FFFFFFF4.按按T,移位后加,移位后加 ADDT dir ; ;數(shù)據(jù)存貯器的內(nèi)容由數(shù)據(jù)存貯器的內(nèi)容由TREGTREG的低四位決定的低四位決定 左移左移0-150-15位后相加位后相加 ADDT ind,ARn ;受受SXMSXM和和OVMOVM影響,結(jié)果影響影響,結(jié)果影響C C,OVO

37、V。 以上指令均受以上指令均受OVM影響,結(jié)果都影響影響,結(jié)果都影響C,OV;不受不受SXM影響的指令有:影響的指令有:ADD #K ADDC.dir/ind;對(duì)對(duì)ADDS 無論無論SXM.數(shù)據(jù)視為無符號(hào)數(shù),累加器視為有符號(hào)數(shù)數(shù)據(jù)視為無符號(hào)數(shù),累加器視為有符號(hào)數(shù)受受SXM影響的指令有:影響的指令有:ADD(除(除ADD#K)。)。ADDT 88B減法:(減法:(5 5條)條)1不帶借位減不帶借位減 ACC-ACC-存貯器內(nèi)容存貯器內(nèi)容/ /立即數(shù)結(jié)果送立即數(shù)結(jié)果送ACCACC SUB dir,shift 短立即尋址不移位短立即尋址不移位 不受不受SXMSXM影響影響 但不可重復(fù)執(zhí)行但不可重復(fù)執(zhí)

38、行 SUB ind,shift,ARn 其它受其它受SXMSXM影響。影響。 SUB dir16 有借位有借位C=0C=0,無借位,無借位C=1C=1 SUB ind16,ARn 移位移位1616次時(shí),有借位次時(shí),有借位C=0C=0。無借位。無借位C C不變不變 SUB #K 其它影響其它影響C C和和OVOV。 SUB #lK,shift2帶借位減帶借位減 ( (減借位時(shí)減借位時(shí) 取借供取借供C C的反碼的反碼) ) SUBB dir ;ACC-;ACC-內(nèi)容內(nèi)容- -(C C) ACC ACC 不符號(hào)擴(kuò)展不符號(hào)擴(kuò)展 SUBB ind,ARn 有進(jìn)位有進(jìn)位C=0C=0,無進(jìn)位,無進(jìn)位C=1C

39、=1,不受,不受SMXSMX影響影響 受受OVMOVM影響,結(jié)果影響影響,結(jié)果影響C C和和OVOV 例:例: SUBB 5 DP=8 前前 后后 405=06 405=06 ACC=06 ACC=FFFFFFFF C=0 C=0893條件減條件減 SUBC dir ;實(shí)現(xiàn)除法運(yùn)算,條件是(實(shí)現(xiàn)除法運(yùn)算,條件是(ACCACC)00,數(shù)據(jù),數(shù)據(jù)00 SUBC ind,ARn方法為若方法為若ACC-(ACC-(數(shù)據(jù)數(shù)據(jù)X 2 ) 0X 2 ) 0 則則ALU X2+1ALU X2+1送送ACC ACC 否則(否則(ACCACC)X2X2送送ACCACC 不受不受SXMSXM和和OVMOVM影響,結(jié)

40、果影響影響,結(jié)果影響C C,OVOV 除法的實(shí)現(xiàn)方法:除法的實(shí)現(xiàn)方法: 被除數(shù)送被除數(shù)送ACC低位,高位清低位,高位清0 除數(shù)送數(shù)據(jù)存貯單元除數(shù)送數(shù)據(jù)存貯單元 執(zhí)行執(zhí)行SUBC指令指令16次次 商在低商在低16位,余數(shù)在高位,余數(shù)在高16位。位。15例:例:SUBC 2DP=6 前前后后 302=01 302=01 ACC=04 ACC=08 04-01215 042 ACC例:例:RPT #15 SUBC * 前前 后后 ARP=3 ARP=3 AR3=1000 AR3=1000 1000=07 1000=07 ACC=41H ACC=20009H C=1 完成完成 41H=65 657=9

41、.2 即:即: 41H7=9H.2H 904減無符號(hào)數(shù)減無符號(hào)數(shù) SUBS dir ;ACCACC為有符號(hào)數(shù),學(xué)之內(nèi)容為無符號(hào)數(shù)為有符號(hào)數(shù),學(xué)之內(nèi)容為無符號(hào)數(shù) SUBS ind,ARn 不受不受SXMSXM影響,結(jié)果影響影響,結(jié)果影響C C、OVOV5按下位移后減按下位移后減 SUBT dir ;左移由左移由TREGTREG低低4 4位決定,位決定,015015位位 SUBT ind,ARn 數(shù)據(jù)受數(shù)據(jù)受SXMSXM影響影響. . 和和SXMSXM影響影響. . 結(jié)果影響結(jié)果影響C. OVC. OVC.平方指令二條,先累加再求平方:平方指令二條,先累加再求平方:1. SQRA dir; ;受受

42、PMPM和和SXMSXM影響,影響影響,影響C C、OVOV SQRA ind,ARn 先將先將PREGPREG按按PMPM移位后移位后+ACC ACC+ACC ACC 數(shù)據(jù)送數(shù)據(jù)送TREGTREG 數(shù)據(jù)數(shù)據(jù)TREG PREG TREG PREG 91例:例:SQRA 30DP=6前前 后后 31E=OF 31E=OF TREG=3TREG=0F PREG=12C PREG=E1 (31EH) (31EH) =0F0F=E1H ACC=1F4ACC=320 ACC+PREG=1F4H+12CH=320H 2先減先減PREG再先平方再先平方 SQRS;同上,區(qū)別是減同上,區(qū)別是減 以上減法指令結(jié)

43、果均影響以上減法指令結(jié)果均影響C和和OV。 SUB #K 不受不受SXM影響,不移位。對(duì)移位影響,不移位。對(duì)移位16次指令時(shí),次指令時(shí), 無借位時(shí)無借位時(shí)C不變,有借位不變,有借位C=0; SUBB 指令不受指令不受SXM影響;影響; SUBC 不受不受SXM影響,且被除數(shù)數(shù)和減數(shù)均要影響,且被除數(shù)數(shù)和減數(shù)均要0; SUBS 不受不受SXM影響;影響; SPAC 受受SXM和和OVM影響;影響; SQRA SQRS 受受PM和和SXM影響。影響。292D乘法指令:(乘法指令:(6條)條) 1數(shù)據(jù)數(shù)據(jù)TREG PREG MPY dir MPY ind ,ARn MPY #K 3K3K為為1313

44、位位1313位立即數(shù)右對(duì)齊,乘前進(jìn)行符號(hào)擴(kuò)展位立即數(shù)右對(duì)齊,乘前進(jìn)行符號(hào)擴(kuò)展2 數(shù)據(jù)數(shù)據(jù) T送送P,按,按PM移位后移位后 P+ACC送送ACC MPYA ind ,ARn 數(shù)據(jù)數(shù)據(jù)TREG送送PREG MPYA dir PREG+ACC送送ACC 按按PM對(duì)對(duì)PREG乘積移位乘積移位3先乘再減:先乘再減: MPYS dir MPYS ind ,ARn 數(shù)據(jù)數(shù)據(jù)TREG送送PREG ACCPREG送送ACC按按PM對(duì)對(duì)PREG乘積移位,受乘積移位,受SXM影響,結(jié)果影響影響,結(jié)果影響C4無符號(hào)乘:無符號(hào)乘: MPYU dir PREG和數(shù)據(jù)均作為無符號(hào)數(shù)相乘后送和數(shù)據(jù)均作為無符號(hào)數(shù)相乘后送PR

45、EG MPYU ind,ARn受受SMX. OVM影響影響 影響影響C和和OV935乘且累加乘且累加 MAC pdir,dir MAC Pdir,ind,ARn 程序存貯器中的一串?dāng)?shù)與數(shù)據(jù)存貯器中程序存貯器中的一串?dāng)?shù)與數(shù)據(jù)存貯器中 的一串?dāng)?shù)的一串?dāng)?shù)(間接尋址間接尋址)或一個(gè)數(shù)或一個(gè)數(shù)(直接尋址直接尋址) 分別相乘再累加,受分別相乘再累加,受PM、OVM影響,影響, 結(jié)果影響結(jié)果影響C、OV。 執(zhí)行步驟:執(zhí)行步驟: PC+1 送微堆棧送微堆棧 ,Pdir首址選首址選PC 前次乘積結(jié)果按前次乘積結(jié)果按PM移位。(移位。(TREG) 移位后的數(shù)移位后的數(shù)+(ACC)送)送ACC (影響(影響C) (

46、數(shù)據(jù))送(數(shù)據(jù))送TREG ,TREG(PC)送)送 PREG (PC)+1 送送PC, (RPTC)-1 送送 RPTC 若若RPTC=0,則微堆棧,則微堆棧 送送 PC RPT啟動(dòng)之后,啟動(dòng)之后,MAC為單周期指令為單周期指令94例:例:MAC OFFOOH,02H ; DP=6 PM=0 CNF=1 (BOBO指向程序存貯器)指向程序存貯器) 前前 后后數(shù)據(jù)存貯器數(shù)據(jù)存貯器 302=23H 320=23H程序存貯器程序存貯器 FF00=4H FF00=4H TREG=45H (PREG)+ACC 既既PRGE+ACC送送ACC =76975B3H PREG=458972H TREG=23

47、H 既(既(302H)送)送TREG ACC=723EC41H PREG=8CH 既:(既:(FFOOH)TREG 送送PREG 23H04H=8CH6乘且累加,存貯器內(nèi)容下移一步乘且累加,存貯器內(nèi)容下移一步 MACD pdir,dir 同上,但要將當(dāng)前數(shù)據(jù)存貯器內(nèi)容同上,但要將當(dāng)前數(shù)據(jù)存貯器內(nèi)容 復(fù)制到下一個(gè)單元中復(fù)制到下一個(gè)單元中 MACD pdir,ind,ARn95C標(biāo)準(zhǔn)化指令:標(biāo)準(zhǔn)化指令: (2條)條)1取絕對(duì)值指令:取絕對(duì)值指令: ABS;|ACC|ACC 均以二進(jìn)制補(bǔ)碼表示。均以二進(jìn)制補(bǔ)碼表示。 執(zhí)行后執(zhí)行后C=0 不受不受SMX影響。特殊情況影響。特殊情況 當(dāng)當(dāng)OVM=0時(shí),時(shí)

48、,|80000000H|=80000000 當(dāng)當(dāng)OVM=1時(shí),時(shí),|80000000H|=7FFFFFFFH2規(guī)格化:規(guī)格化: NORM ind對(duì)對(duì)ACC中的定點(diǎn)數(shù)進(jìn)行規(guī)格化中的定點(diǎn)數(shù)進(jìn)行規(guī)格化 ACC AR 執(zhí)行時(shí),執(zhí)行時(shí),ACC31=ACC30 (符號(hào)擴(kuò)展符號(hào)擴(kuò)展) 則則ACC左移左移1位,且位,且AR+1 AR 默認(rèn)指數(shù)為負(fù)指數(shù)默認(rèn)指數(shù)為負(fù)指數(shù) ACC=0則則TC=0 ACC31=ACC30則則TC=1 ACC31=ACC30則則TC=0 例:例: NORA *+ 前前 后后ARP=2ARP=2AR2=00AR2=01ACC=FFFFF001HACC=FFFFE002HTC=0 尾數(shù)尾數(shù)

49、指數(shù)指數(shù)96算術(shù)運(yùn)算類指令小結(jié)算術(shù)運(yùn)算類指令小結(jié): (19條條): 加法加法(4條條) ADD ADDC ADDS ADDT 減法減法(5條條) SUB SUBB SUBC SUBS SUBT 平方平方(2條條) SQRA AQRS 乘法乘法(6條條) MPY MPYA MPYS MPYU MAC MACD 規(guī)格化規(guī)格化(2條條) ABS NORM 973. 邏輯運(yùn)算指令(邏輯運(yùn)算指令(9條)條) (1)與與: AND dir AND ind,ARn AND #lk,shift AND #lk,16 (2)或或 OR dir OR ind,ARn OR #lk,shift OR #lk,16

50、(3)異或異或 XOR dir XOR ind,ARn XOR #lk,shift XOR #lk,16低低ACC16位操作位操作 不受不受SMX影響影響.不影響狀態(tài)位不影響狀態(tài)位 高位為高位為0數(shù)據(jù)左移后數(shù)據(jù)左移后”與與”ACC低低16位操作位操作 高高16位不變位不變數(shù)據(jù)左移后數(shù)據(jù)左移后”或或”ACC低低16位操作位操作 高高16位不變位不變數(shù)據(jù)左移后數(shù)據(jù)左移后”或或”ACC98(4). 非非 CMPL ;A A(5). 負(fù)負(fù) (取補(bǔ)取補(bǔ)) NEG ; Ax 1 A 受受OVMOVM影響影響. . 結(jié)果影響結(jié)果影響C C和和OVOV 若若ACC=0ACC=0則則C=1 ACC0C=1 AC

51、C0則則C=0C=0(6). 邏輯左移邏輯左移 ROL(7). 邏輯右移邏輯右移 ROR(8). 算術(shù)左移算術(shù)左移 SFL(9). 算術(shù)右移算術(shù)右移 SFRCACCCACCCC099邏輯運(yùn)算指令小結(jié)(邏輯運(yùn)算指令小結(jié)(9 9條)條)邏輯運(yùn)算邏輯運(yùn)算 AND OR XOR CMPL NEG移位運(yùn)算移位運(yùn)算 ROL ROR SFL SFR1004. 4. 轉(zhuǎn)移、調(diào)用、中斷及控制指令轉(zhuǎn)移、調(diào)用、中斷及控制指令 (1919條)條) (1)(1)無條件轉(zhuǎn)移無條件轉(zhuǎn)移 雙字雙字 B pdir, ind,ARnB pdir, ind,ARn Pdir Pdir可為符號(hào)地址或數(shù)字地址可為符號(hào)地址或數(shù)字地址 (2)(2)依累加器內(nèi)容轉(zhuǎn)移依累加器內(nèi)容轉(zhuǎn)移 單字單字 BACCBACC (3)AR0 (3)AR0 轉(zhuǎn)移轉(zhuǎn)移 雙字指令雙字指令 BANZ pdir, ind,ARnBANZ pdir, ind,ARn 默認(rèn)為當(dāng)前默認(rèn)為當(dāng)前ARAR1 AR1 AR (4) (4)條件轉(zhuǎn)移條件轉(zhuǎn)移 單字指令單字指令 BCND pdir,cond,cond2, .BCND pdir,cond,

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論