版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、DSP原理與應(yīng)用第4章 TMS320C55x的指令系統(tǒng)劉忠國(guó)山東大學(xué)生物醫(yī)學(xué)工程1任課教師:劉忠國(guó)TMS320C55x DSP Mnemonic Instruction Set Reference Guide (SPRU374G, 2002年)TMS320C55x DSP CPU Reference Guide (SPRU371F, 2004年)2內(nèi)容提要: 本章介紹TMS320C55x芯片的指令系統(tǒng)。尋址方式絕對(duì)尋址方式、直接尋址方式、間接尋址方式TMS320C55x的指令系統(tǒng)算術(shù)運(yùn)算指令、位操作指令、擴(kuò)展輔助寄存器操作指令、邏輯運(yùn)算指令、移動(dòng)指令和程序控制指令34.1 尋址方式 C55x通
2、過(guò)以下三種尋址方式訪(fǎng)問(wèn)數(shù)據(jù)空間、存儲(chǔ)器映射寄存器、寄存器位和I/O空間:絕對(duì)尋址方式通過(guò)在指令中指定一個(gè)常數(shù)地址完成尋址直接尋址方式使用地址偏移量尋址間接尋址方式使用指針完成尋址4表4-1 指令中用到的語(yǔ)法元素5語(yǔ)法元素含 義Smem來(lái)自數(shù)據(jù)空間、I/O空間或存儲(chǔ)器映射寄存器的16位數(shù)據(jù)Lmem來(lái)自數(shù)據(jù)空間或存儲(chǔ)器映射寄存器的32位數(shù)據(jù)Xmem和Ymem同時(shí)來(lái)自數(shù)據(jù)空間的兩個(gè)16位數(shù)據(jù)Cmem來(lái)自?xún)?nèi)部數(shù)據(jù)空間的16位數(shù)據(jù)Baddr累加器AC0AC3、輔助寄存器AR0AR7、暫存器T0T3的位域,對(duì)位域的置1、清0、測(cè)試、求補(bǔ)等位運(yùn)算用到該語(yǔ)法元素4.1.1 絕對(duì)尋址方式表4-2 絕對(duì)尋址方式6
3、絕對(duì)尋址方式含 義k16絕對(duì)尋址方式該尋址方式使用7位的DPH和16位的無(wú)符號(hào)立即數(shù)組成一個(gè)23位的數(shù)據(jù)空間地址,可用于訪(fǎng)問(wèn)存儲(chǔ)器空間和存儲(chǔ)器映射寄存器k23絕對(duì)尋址方式該尋址方式使用23位的無(wú)符號(hào)立即數(shù)作為數(shù)據(jù)空間地址,可用于訪(fǎng)問(wèn)存儲(chǔ)器空間和存儲(chǔ)器映射寄存器I/O絕對(duì)尋址方式該尋址方式使用16位無(wú)符號(hào)立即數(shù)作為I/O空間地址,可用于尋址I/O空間1. k16絕對(duì)尋址方式格式*abs16(#k16)其中:k16是一個(gè)16位無(wú)符號(hào)常數(shù)。要點(diǎn)常數(shù)k16被固定譯碼為2個(gè)字節(jié)擴(kuò)充到指令中;采用這種尋址方式的指令不能與其它指令并行執(zhí)行。7圖4-1 k16絕對(duì)尋址方式 8DPHk16數(shù)據(jù)空間000 000
4、0.000 00000000 0000 0000 0000.1111 1111 1111 1111主數(shù)據(jù)頁(yè)0: 00 0000h00 FFFFh000 0001.000 00010000 0000 0000 0000.1111 1111 1111 1111主數(shù)據(jù)頁(yè)1: 01 0000h01 FFFFh000 0010.000 00100000 0000 0000 0000.1111 1111 1111 1111主數(shù)據(jù)頁(yè)2: 02 0000h02 FFFFh. . . . . .111 1111.111 11110000 0000 0000 0000.1111 1111 1111 1111主數(shù)據(jù)
5、頁(yè)127: 7F 0000h7F FFFFh例4-1,*abs16(#k16) 用于數(shù)據(jù)存儲(chǔ)器尋址。設(shè)DPH=03h。(1) MOV *abs16(#2002h), T2;#k16=2002h, CPU從03 2002h處讀取數(shù)據(jù)裝入T2例4-8: *abs16(#k16)用于MMR尋址, DPH必須為00h。9(見(jiàn)112頁(yè)) 4.1.4(-7)節(jié)中各例題提到對(duì)應(yīng)尋址方式來(lái)介紹。MOV *abs16(#AR2), T2;DPH:k16=00 0012h (AR2的地址為00 0012h);CPU從00 0012h處讀取數(shù)據(jù)裝入T2(見(jiàn)114頁(yè)) (4.1.5 存儲(chǔ)器映射寄存器的尋址)2. k2
6、3絕對(duì)尋址方試格式*(#k23) 其中:k23是一個(gè)無(wú)符號(hào)的23位常數(shù)。要點(diǎn)無(wú)符號(hào)常數(shù)k23被固定譯碼為3個(gè)字節(jié), 其中第三個(gè)字節(jié)的最高位被忽略;不能與其它指令并行執(zhí)行;不能用于重復(fù)指令中。10圖4-2 k23絕對(duì)尋址方式11k23數(shù)據(jù)空間000 0000 0000 0000 0000 0000.000 0000 1111 1111 1111 1111主數(shù)據(jù)頁(yè)0: 00 0000h00 FFFFh000 0001 0000 0000 0000 0000.000 0001 1111 1111 1111 1111主數(shù)據(jù)頁(yè)1: 01 0000h01 FFFFh000 0010 0000 0000 0
7、000 0000.000 0010 1111 1111 1111 1111主數(shù)據(jù)頁(yè)2: 02 0000h02 FFFFh. . . . . 111 1111 0000 0000 0000 0000.111 1111 1111 1111 1111 1111主數(shù)據(jù)頁(yè)127: 7F 0000h7F FFFFh例4-2,*(#k23) 用于數(shù)據(jù)存儲(chǔ)器尋址。 (1) MOV *(#032002h),T2 例4-9,* (#k23) 用于MMR尋址。MOV * (#AR2), T2 ; AR2的地址為00 0012h;k23=03 2002h,CPU從03 2002h處讀取數(shù)據(jù)裝入T2 ;CPU從00 0
8、012h處讀取數(shù)據(jù)裝入T212(見(jiàn)114頁(yè)) (4.1.5 存儲(chǔ)器映射寄存器的尋址)3. I/O絕對(duì)尋址方式操作數(shù)格式port(#k16)其中,k16是一個(gè)16位無(wú)符號(hào)立即數(shù)圖4-3 I/O絕對(duì)尋址方式13例4-14,port(#k16) 用于對(duì)I/O空間的尋址。(1) MOV port(#2), AR2 ;CPU從I/O 地址0002h讀取數(shù)據(jù)進(jìn)AR2 (2) MOV AR2, port(#0F000h) ;CPU把AR2的數(shù)據(jù)輸出到I/O 地址0F000h14(見(jiàn)115頁(yè)) (4.1.7 I/O空間的尋址)尋址方式 描 述DP直接尋址該方式用DPH與DP合并的擴(kuò)展數(shù)據(jù)頁(yè)指針尋址數(shù)據(jù)空間和存
9、儲(chǔ)器映射寄存器SP直接尋址該方式用SPH與SP合并的擴(kuò)展堆棧指針尋址存儲(chǔ)空間中堆棧寄存器位直接尋址該模式用偏移地址指定一個(gè)位地址,用于尋址寄存器中的一個(gè)或相鄰的兩個(gè)位PDP直接尋址該模式使用PDP和一個(gè)偏移地址尋址I/O空間4.1.2 直接尋址方式表4-2 直接尋址方式數(shù)據(jù)頁(yè)寄存器15數(shù)據(jù)堆棧寄存器DP直接尋址方式和SP直接尋址方式相互排斥, 在程序的任一位置只能有一種方式存在。通過(guò)設(shè)置ST1_55的CPL位選擇。寄存器位直接尋址方式和PDP直接尋址方式不受CPL位的影響CPL尋址模式的選擇0DP直接尋址模式1SP直接尋址模式161. DP直接尋址方式23位地址的形成:高7位由DPH寄存器提供
10、;低16位由下面兩個(gè)值的和組成:16位數(shù)據(jù)頁(yè)寄存器(DP): 標(biāo)識(shí)一個(gè)主數(shù)據(jù)頁(yè)內(nèi)128字的局部數(shù)據(jù)頁(yè)的首地址;7位偏移地址(Doffset): 計(jì)算方法因訪(fǎng)問(wèn)數(shù)據(jù)空間還是存儲(chǔ)器映射寄存器而有所不同。17 用限定符mmap()表示合法的直接尋址寫(xiě)法#123, 123, #foo, foo, #(foo+2), (foo+2) mmap(AC0L), 圖4-4 DP直接尋址方式DPHDP+Doffset數(shù)據(jù)空間000 0000000 00000000 0000 0000 0000 1111 1111 1111 1111主數(shù)據(jù)頁(yè)0: 00 0000h00 FFFFh000 0001 000 0001
11、0000 0000 0000 0000 1111 1111 1111 1111主數(shù)據(jù)頁(yè)1: 01 0000h01 FFFFh000 0010 000 00100000 0000 0000 0000 1111 1111 1111 1111主數(shù)據(jù)頁(yè)2: 02 0000h02 FFFFh 111 1111 111 11110000 0000 0000 0000 1111 1111 1111 1111主數(shù)據(jù)頁(yè)127: 7F 0000h7F FFFFh18CPU連接DPH和DP成為一個(gè)擴(kuò)展數(shù)據(jù)頁(yè)指針XDP;可以使用兩條指令獨(dú)立地裝入DPH和DP;也可以使用一條指令裝入XDP;計(jì)算偏移地址的方法:19訪(fǎng)問(wèn)
12、空間偏移地址(Doffset)的計(jì)算描 述數(shù)據(jù)空間Doffset=(Daddr- .dp)& 7FhDaddr是一個(gè)16 位的局部地址, .dp指DP的值, “&” 表示與操作存儲(chǔ)器映射寄存器Doffset=Daddr & 7FhDaddr是一個(gè)16 位的局部地址, “&” 表示與操作, 需要使用mmap()指令mmap(AC0L) 123, foo, (foo+2);例4-3: Daddr用于數(shù)據(jù)存儲(chǔ)器尋址。 設(shè)DPH=03h, DP=0000h。 (1) MOV 0005h,T2 ;DPH: (DP+Doffset)=03: (0000h+0005h)=03 0005h;CPU從03 00
13、05h處讀取數(shù)據(jù)裝入T2例4-10,Daddr用于MMR尋址.DPH=DP=00h,MOV mmap(AC0L), AR2 ;DPH:(DP+Doffset)= 00:(0000h+0008h)=00 0008h;CPU從00 0008h處讀取數(shù)據(jù)裝入AR220CPL=0。2. SP直接尋址方式23位地址的形成:高7位由SPH提供;低16位為SP和一個(gè)7 位的偏移地址(offset)的和;SPH和SP合并后形成擴(kuò)展數(shù)據(jù)堆棧指針(XSP);可以單獨(dú)向SPH和SP賦值, 也可以使用一條指令向XSP賦值。 主數(shù)據(jù)頁(yè)0中的堆棧只能用00 0060h00 FFFFh中的空間。因?yàn)?0 0000h00 0
14、05Fh是保留給存儲(chǔ)映射寄存器用的。210127圖4-5 SP直接尋址方式22SPHSP+offset數(shù)據(jù)空間000 0000.000 00000000 0000 0000 0000.1111 1111 1111 1111主數(shù)據(jù)頁(yè) 0: 0000h00 FFFFh000 0001.000 00010000 0000 0000 0000.1111 1111 1111 1111主數(shù)據(jù)頁(yè) 1: 01 0000h01 FFFFh000 0010.000 00100000 0000 0000 0000.1111 1111 1111 1111主數(shù)據(jù)頁(yè)2: 02 0000h02 FFFFh. . . . .
15、 . . .111 1111.111 11110000 0000 0000 0000.1111 1111 1111 1111主數(shù)據(jù)頁(yè)127: 7F 0000h7F FFFFh例4-4 *SP(offset)用于數(shù)據(jù)存儲(chǔ)器尋址, 設(shè) SPH=0, SP=FF00h。 (1) MOV * SP(5),T2 ; SPH: (SP+offset)00:FF05h ; CPU從00 FF05h處讀取數(shù)據(jù)裝入T2SP直接尋址方式233. 寄存器位直接尋址方式操作數(shù)中偏移bitoffset是相對(duì)于寄存器最低位來(lái)說(shuō)的;僅有寄存器位測(cè)試/設(shè)置/清零/求補(bǔ)等指令支持這種尋址方式;僅能訪(fǎng)問(wèn)下列寄存器的各位: AC0
16、AC3,AR0AR7, T0T3。如果bitoffset為0, 則訪(fǎng)問(wèn)寄存器的最低位;如果bitoffset為3, 則訪(fǎng)問(wèn)寄存器的第3位。24例4-12 bitoffset用于對(duì)寄存器位的尋址。3. 寄存器位直接尋址方式25(2) BTSTP 30, AC3; 把AC3的位30和位31分別復(fù)制到狀態(tài)寄存器ST0_55的位TC1和TC2再如: BCLR 3, AC2 ;CPU將AC2的位3清0(見(jiàn)114頁(yè)) (4.1.6 寄存器位的尋址)(1) BSET 0, AC3 ; ;CPU將AC3的位0置為14. PDP直接尋址方式9位的外設(shè)數(shù)據(jù)頁(yè)寄存器(PDP)選取512個(gè)外設(shè)數(shù)據(jù)頁(yè)(0511)中的一
17、頁(yè), 每頁(yè)有128個(gè)字(0127), 即指令中指定的一個(gè)7 位的偏移(Poffset)。使用時(shí)必須用port( )限定詞;指定要訪(fǎng)問(wèn)的是I/O空間, 而非數(shù)據(jù)存儲(chǔ)單元;port()限定詞的括號(hào)內(nèi)是要讀或?qū)懙牟僮鲾?shù)(的偏移地址)。26如 port(127)圖4-7 PDP直接尋址方式27PDPPoffsetI/O space(64k)0000 0000 0.0000 0000 0000 0000.111 1111外設(shè)數(shù)據(jù)頁(yè) 0: 0000h007Fh0000 0000 1.0000 0000 1000 0000 .111 1111 外設(shè)數(shù)據(jù)頁(yè) 1: 0080h00FFh0000 0001 0.0
18、000 0001 00000 0000.111 1111外設(shè)數(shù)據(jù)頁(yè) 2: 0100h017Fh. . . . . 1111 1111 1.1111 1111 1000 0000.111 1111外設(shè)數(shù)據(jù)頁(yè)511: FF80hFFFFh例4-15, Poffset對(duì)I/O空間的尋址, 設(shè)PDP=511。(1) MOV port(0),T2 ;PDP:Poffset=FF80h, ;CPU從FF80h讀取數(shù)據(jù)進(jìn)T2(2) MOV T2, port(127) ;PDP:Poffset=FFFFh, ;CPU把T2的數(shù)據(jù)輸出到I/O地址0FFFFh28 1111 1111 1 F F 1 000 00
19、00 111 11114.1.3 間接尋址方式表4-3 間接尋址方式29尋址方式描 述AR間接尋址使用AR0AR7中的任一個(gè)寄存器訪(fǎng)問(wèn)數(shù)據(jù)。雙AR間接尋址與單AR間接尋址相似, 只是借助兩個(gè)輔助寄存器, 可同時(shí)訪(fǎng)問(wèn)兩個(gè)或更多數(shù)據(jù)CDP間接尋址使用系數(shù)數(shù)據(jù)指針(CDP)訪(fǎng)問(wèn)數(shù)據(jù)。 (片內(nèi)外存儲(chǔ)器, 寄存器(位), I/O空間)系數(shù)間接尋址與CDP間接尋址方式相似, 它可以在訪(fǎng)問(wèn)數(shù)據(jù)空間某區(qū)塊的數(shù)據(jù)的同時(shí), 借助雙AR間接尋址訪(fǎng)問(wèn)其他塊的兩個(gè)數(shù)據(jù)(片內(nèi)外存儲(chǔ)器, 一般是片內(nèi)的第3個(gè)操作數(shù))1. AR間接尋址方式 使用輔助寄存器ARn(n=07)指向數(shù)據(jù);CPU使用ARn產(chǎn)生地址的方式取決于訪(fǎng)問(wèn)的數(shù)
20、據(jù)類(lèi)型。表4-7 AR間接尋址方式時(shí)AR的內(nèi)容尋址空間AR內(nèi)容數(shù)據(jù)空間(存儲(chǔ)空間或寄存器)23位地址的低16位, 而高7位由ARnH提供寄存器位或雙位位的相對(duì)位置I/O空間一個(gè)16位的I/O地址30(1)AR間接尋址數(shù)據(jù)空間ARn提供一個(gè)16位的低字地址, 與其相關(guān)的寄存器ARnH提供高7位的地址, 它們合成為一個(gè)23位的擴(kuò)展輔助寄存器XARn。對(duì)于訪(fǎng)問(wèn)數(shù)據(jù)空間, 需使用專(zhuān)用指令把地址裝入XARn;ARn可以單獨(dú)裝入;ARnH不能單獨(dú)裝入。31圖4-8 AR間接尋址方式尋址數(shù)據(jù)空間ARnHARn數(shù)據(jù)空間000 0000000 00000000 0000 0000 00001111 1111 1
21、111 1111主數(shù)據(jù)頁(yè)0: 00 0000h00 FFFFh000 0001000 00010000 0000 0000 00001111 1111 1111 1111主數(shù)據(jù)頁(yè)1: 01 0000h01 FFFFh000 0010000 00100000 0000 0000 00001111 1111 1111 1111主數(shù)據(jù)頁(yè)2: 02 0000h02 FFFFh111 1111111 11110000 0000 0000 00001111 1111 1111 1111主數(shù)據(jù)頁(yè)127: 7F 0000h7F FFFFh32例4-5: *ARn用于數(shù)據(jù)存儲(chǔ)器尋址, 設(shè)ARn工作在線(xiàn)性尋址狀態(tài)
22、。(1) MOV *AR4, T2; AR4H:AR4 = XAR4, ;CPU從XAR4處讀取數(shù)據(jù)裝入T2 (1) MOV *(AR4+T0),T2;AR4H:AR4=XAR4, CPU從XAR4處讀取數(shù)據(jù)裝入T2,然后AR4=AR4+T033(ARnLC=0)例4-6,*(ARn+T0)用于數(shù)據(jù)存儲(chǔ)器尋址, 設(shè)ARn工作在線(xiàn)性尋址狀態(tài)。(2)AR間接尋址寄存器位當(dāng)AR間接尋址方式用于訪(fǎng)問(wèn)一個(gè)寄存器位時(shí), 16位的寄存器ARn指定位的位置。 34例如,ARn為0,則訪(fǎng)問(wèn)寄存器的最低位。例4-13: *ARn用于對(duì)寄存器位的尋址, 設(shè)AR0=0。(1) BSET *AR0, AC3 ; CPU
23、 將AC3的位0置為1(3)AR間接尋址I/O空間訪(fǎng)問(wèn)I/O空間使用16位的地址;當(dāng)使用AR間接尋址I/O空間時(shí), 被使用的ARn包括完整的I/O空間地址。圖4-10 AR間接尋址I/O空間ARnI/O 空間0000 0000 0000 0000.1111 1111 1111 11110000hFFFFh35例4-16,*ARn 用于對(duì)I/O空間的尋址. 設(shè)AR4= FF80h, AR5= FFFFh。(1) MOV port(*AR4), T2 (2) MOV T2, port(*AR5);CPU從FF80h讀取數(shù)據(jù)進(jìn)T2;CPU把T2的數(shù)據(jù)輸出到I/O 地址0FFFFh36(4) ARMS
24、位對(duì)AR間接操作數(shù)的影響AR間接尋址方式的尋址操作數(shù)類(lèi)型受ST2_55狀態(tài)寄存器中ARMS位的影響:ARMSDSP模式和控制模式選擇0DSP模式:該模式用于高效的數(shù)字信號(hào)處理1控制模式:該模式優(yōu)化代碼長(zhǎng)度, 用于控制系統(tǒng) 注意:指針修改和地址產(chǎn)生即可線(xiàn)性也可循環(huán), 根據(jù)ST2_55寄存器的指針配置而定。當(dāng)使用循環(huán)尋址時(shí), 16位的緩沖區(qū)起始地址寄存器(BSA01,BSA23,BSA45,BSA67)的內(nèi)容被加到相應(yīng)的指針上;指針間的加法和減法以64K為模,不改變XARn,則不能跨主數(shù)據(jù)頁(yè)尋址數(shù)據(jù)。37表4-9 DSP模式下的AR間接尋址模式(1)(共20種)操作數(shù)指針修改方式訪(fǎng)問(wèn)數(shù)據(jù)類(lèi)型*AR
25、nARn值不變Smem, Lmem, Baddr*ARn+地址產(chǎn)生后, 指針的值自增:對(duì)于16位/1位操作數(shù), 有ARn=ARn+1對(duì)于32位/2位操作數(shù), 有ARn=ARn+2Smem, Lmem, Baddr*ARn-地址產(chǎn)生后, 指針的值自減:對(duì)于16位/1位操作數(shù), 有ARn=ARn-1對(duì)于32位/2位操作數(shù), 有ARn=ARn-2Smem, Lmem, Baddr*+ARn地址產(chǎn)生前, 指針的值自增:對(duì)于16位/1位操作數(shù), 有ARn=ARn+1對(duì)于32位/2位操作數(shù), 有ARn=ARn+2Smem, Lmem, Baddr*-ARn地址產(chǎn)生前, 指針的值自減:對(duì)于16位/1位操作數(shù)
26、, 有ARn=ARn-1對(duì)于32位/2位操作數(shù), 有ARn=ARn-2Smem, Lmem, Baddr*(ARn+T0/AR0)地址產(chǎn)生后, 指針的值變化:如果C54CM=0, 有ARn=ARn+T0;如果C54CM=1, 有ARn=ARn+AR0;Smem, Lmem, Baddr*(ARn-T0/AR0)地址產(chǎn)生后, 指針的值變化:如果C54CM=0, 有ARn=ARn-T0;如果C54CM=1, 有ARn=ARn-AR0;Smem, Lmem, Baddr38特有控制模式無(wú)表4-9 DSP模式下的AR間接尋址模式(2)(共20種)操作數(shù)指針修改方式訪(fǎng)問(wèn)數(shù)據(jù)類(lèi)型*ARn(T0/AR0)A
27、Rn作為基地址不變, T0或AR0的值作為偏移地址Smem, Lmem, Baddr*(ARn+T0B/AR0B)地址產(chǎn)生后, 指針的值變化:若C54CM=0, 有ARn=ARn+T0;若C54CM=1,有ARn=ARn+AR0;上述加法按位倒序進(jìn)位規(guī)律進(jìn)行Smem, Lmem, Baddr*(ARn-T0B/AR0B)地址產(chǎn)生后, 指針的值變化:若C54CM=0, 有ARn=ARn-T0;若C54CM=1, 有ARn=ARn-AR0;上述加法按位倒序借位規(guī)律進(jìn)行Smem, Lmem, Baddr*(ARn+T1 )地址產(chǎn)生后, 指針值A(chǔ)Rn= ARn+T1Smem, Lmem, Baddr*
28、(ARn-T1 )地址產(chǎn)生后, 指針值A(chǔ)Rn= ARn-T1Smem, Lmem, Baddr*ARn(T1)ARn基地址不變,T1值為偏移地址Smem, Lmem, Baddr*ARn(#K16)ARn基地址不變,K16值為偏移地址Smem, Lmem, Baddr*+ARn(#K16)地址產(chǎn)生前, 指針值A(chǔ)Rn=ARn+K16Smem, Lmem, Baddr39特有控制模式無(wú)表4-10 控制模式下的AR間接尋址模式(共12種)操作數(shù)指針修改方式訪(fǎng)問(wèn)數(shù)據(jù)類(lèi)型*ARnARn值不變Smem, Lmem, Baddr*ARn+地址產(chǎn)生后,指針的值自增:對(duì)16位/1位操作數(shù), 有ARn=ARn+1
29、;對(duì)32位/2位操作數(shù), 有ARn=ARn+2;Smem, Lmem, Baddr*ARn-地址產(chǎn)生后,指針的值自減:對(duì)16位/1位操作數(shù), 有ARn=ARn-1;對(duì)32位/2位操作數(shù), 有ARn=ARn-2Smem, Lmem, Baddr*(ARn+T0/AR0)地址產(chǎn)生后,指針的值變化:如果C54CM=0, 有ARn=ARn+T0;如果C54CM=1, 有ARn=ARn+AR0;Smem, Lmem, Baddr*(ARn-T0/AR0)地址產(chǎn)生后,指針的值變化:如果C54CM=0, 有ARn=ARn-T0;如果C54CM=1, 有ARn=ARn-AR0;Smem, Lmem, Badd
30、r*ARn(T0/AR0)ARn基地址不變, T0或AR0值為偏移地址Smem, Lmem, Baddr*ARn(#K16)ARn基地址不變, K16的值作為偏移地址Smem, Lmem, Baddr*+ARn(#K16)地址產(chǎn)生前, 指針值變?yōu)锳Rn=ARn+K16Smem, Lmem, Baddr*ARn(short(#k3)ARn作為基地址不變, 3 位的無(wú)符號(hào)立即數(shù)作為偏移指針(k3的值為17)Smem, Lmem, Baddr40DSP模式無(wú)2. 雙AR間接尋址方式通過(guò)8個(gè)ARn中的2個(gè)寄存器訪(fǎng)問(wèn)2個(gè)數(shù)據(jù)存儲(chǔ)器地址;使用雙AR間接尋址方式的情況:執(zhí)行一個(gè)指令, 同時(shí)訪(fǎng)問(wèn)兩個(gè)16位數(shù)據(jù)
31、存儲(chǔ)器; ADD Xmem,Ymem, ACx并行執(zhí)行兩個(gè)指令, 每個(gè)指令訪(fǎng)問(wèn)一個(gè)數(shù)據(jù)存儲(chǔ)器; MOV Smem,dstAND Smem,src,dstARMS位不影響雙AR間接尋址方式(是子集)的操作數(shù);若ARn被不同的輔助寄存器修改, 則不能用于一個(gè)雙操作數(shù)指令中。雙操作數(shù)可使用同一個(gè)ARn, 其中一個(gè)為*ARn(T0)或*ARn , 都不改變ARn。41XmemYmem如AR1-T0, AR1-T1 不能用于雙操作數(shù)表4-11雙AR間接尋址方式操作數(shù)操作數(shù)指針修改方式訪(fǎng)問(wèn)數(shù)據(jù)類(lèi)型*ARnARn值不變Smem,Lmem,Xmem,Ymem*ARn+地址產(chǎn)生后,ARn的值自增:對(duì)16位操作數(shù)
32、, ARn=ARn+1;對(duì)32位操作數(shù), ARn=ARn+2Smem,Lmem,Xmem,Ymem*ARn-地址產(chǎn)生后,ARn的值自減:對(duì)16位操作數(shù), ARn=ARn-1;對(duì)32位操作數(shù), ARn=ARn-2Smem,Lmem,Xmem,Ymem*(ARn+T0/AR0)尋址后, T0或AR0中16位有符號(hào)數(shù)加到ARn上:若C54CM=0, 則ARn=ARn+T0;若C54CM=1, 則ARn=ARn+AR0Smem,Lmem,Xmem,Ymem*(ARn-T0/AR0)尋址后, ARn減去T0或AR0中16位的有符號(hào)數(shù):若C54CM=0, 則ARn=ARn-T0;若C54CM=1, 則AR
33、n=ARn-AR0Smem,Lmem,Xmem,Ymem*ARn(T0/AR0)ARn基地址不變, T0或AR0中16位有符號(hào)數(shù)為偏移地址:若C54CM=0, T0值作為偏移地址;若C54CM=1, AR0值作為偏移地址Smem,Lmem,Xmem,Ymem*(ARn+T1)地址產(chǎn)生后, AR1加上T1中的16位有符號(hào)常數(shù): ARn=ARn+T1Smem,Lmem,Xmem,Ymem*(ARn-T1)地址產(chǎn)生后, AR1減去T1中的16位有符號(hào)常數(shù): ARn=ARn-T1Smem,Lmem,Xmem,Ymem42例4-5,*ARn用于數(shù)據(jù)存儲(chǔ)器尋址, 設(shè)ARn工作在線(xiàn)性尋址狀態(tài)。(ARnLC=
34、0)(1) MOV *AR4, T2 ; AR4H:AR4=XAR4, CPU從XAR4讀取數(shù)據(jù)裝入T2(2) MOV dbl(*AR4), pair(T2) ;第一個(gè)地址為XAR4, ; 若XAR4為偶數(shù), 則第二個(gè)地址XAR4+1, ;若XAR4為奇數(shù), 則第二個(gè)地址為XAR4-1 ;CPU從XAR4和XAR4+1(或XAR4-1)處讀取數(shù)據(jù) ;并裝入T2和T343例4-6,*(ARn+T0)用于數(shù)據(jù)存儲(chǔ)器尋址,設(shè)ARn工作在線(xiàn)性尋址狀態(tài)。(1) MOV *(AR4+T0),T2;AR4H:AR4=XAR4, ;CPU從XAR4處讀取數(shù)據(jù)裝入T2, ;然后AR4=AR4+T0(2) MOV
35、 dbl(*(AR4+T0),pair(T2) ;第一個(gè)地址為XAR4, ;如果XAR4為偶數(shù),則第二個(gè)地址XAR4+1; ;如果XAR4為奇數(shù),則第二個(gè)地址為XAR4-1 ;CPU從XAR4和XAR4+1(或XAR4-1)處讀取數(shù)據(jù) ;并裝入T2和T3, 然后AR4=AR4+T044例4-7,*(ARn+T0B)用于數(shù)據(jù)存儲(chǔ)器尋址, 設(shè)ARn工作在線(xiàn)性尋址狀態(tài)。MOV *(AR4+T0B),T2;AR4H:AR4=XAR4,;CPU從XAR4處讀取數(shù)據(jù)裝入T2,;然后AR4=AR4+T0;在執(zhí)行加法時(shí),采用碼位倒置算法45(程序略)3. CDP間接尋址方式CPU使用CDP產(chǎn)生地址的方式依賴(lài)于
36、訪(fǎng)問(wèn)類(lèi)型:表4-12 訪(fǎng)問(wèn)空間與CDP的關(guān)系46尋址空間CDP內(nèi)容數(shù)據(jù)空間(存儲(chǔ)空間或寄存器)23位地址的低16位, 高7位由擴(kuò)展系數(shù)數(shù)據(jù)指針的高位域部分CDPH給定寄存器位或雙位某位的位置I/O空間一個(gè)16位的I/O空間(1)CDP間接尋址數(shù)據(jù)空間CDPH提供7位的高位域, CDP提供16位的低字, 合并為23位的擴(kuò)展系數(shù)數(shù)據(jù)指針(XCDP)CDPHCDP數(shù)據(jù)空間000 0000000 00000000 0000 0000 00001111 1111 1111 1111主數(shù)據(jù)頁(yè)0: 00 0000h00 FFFFh000 0001000 00010000 0000 0000 00001111
37、 1111 1111 1111主數(shù)據(jù)頁(yè)1: 01 0000h01 FFFFh000 0010000 00100000 0000 0000 00001111 1111 1111 1111主數(shù)據(jù)頁(yè)2: 02 0000h02 FFFFh111 1111111 11110000 0000 0000 00001111 1111 1111 1111主數(shù)據(jù)頁(yè)127: 7F 0000h7F FFFFh47(2)CDP間接尋址寄存器位CDP包含位序號(hào): 若CDP為0, 則它指向寄存器第0位;只有寄存器位測(cè)試、設(shè)置、清零、求補(bǔ)指令支持CDP間接尋址寄存器位;這些寄存器僅限于:累加器(AC0AC3) 、輔助寄存器(
38、AR0AR7) 、暫存器(T0T3) 。48(3)CDP間接尋址I/O空間當(dāng)CDP間接尋址方式用于訪(fǎng)問(wèn)I/O空間時(shí), 16位的CDP包含了完整的I/O空間地址(4)CDP間接尋址操作數(shù) 注意: 指針修改或地址產(chǎn)生可以是線(xiàn)性的, 也可是循環(huán)的, 取決于ST2_55中的指針配置。使用循環(huán)尋址時(shí), 16位緩沖區(qū)起始地址寄存器(BSAC)的內(nèi)容被加到相應(yīng)指針上;CDP指針的修改以64K為模, 只有修改CDPH才能跨主數(shù)據(jù)頁(yè)尋址。操作數(shù)指針修改方式訪(fǎng)問(wèn)類(lèi)型*CDPCDP值不改變Smem,Lmem,Xmem,Ymem*CDP+地址產(chǎn)生后,CDP自增:對(duì)于16位/1位操作數(shù), CDP=CDP+1;對(duì)于32位
39、/2位操作數(shù), CDP=CDP+2Smem,Lmem,Xmem,Ymem*CDP-地址產(chǎn)生后,CDP自減:對(duì)于16位/1位操作數(shù), CDP=CDP-1;對(duì)于32位/2位操作數(shù), CDP=CDP-2Smem,Lmem,Xmem,Ymem*CDP(#K16)CDP作為基地址不改變, 16位的有符號(hào)常數(shù)K16作為偏移地址Smem,Lmem,Xmem,Ymem*+CDP(#K16)地址產(chǎn)生前, 16位的有符號(hào)常數(shù)K16加到CDP上, 即CDP=CDP+K16Smem,Lmem,Xmem,Ymem49表4-13 CDP間接操作數(shù) CDPLC4. 系數(shù)間接尋址方式使用與CDP間接尋址方式相同的地址產(chǎn)生方式
40、;選擇存儲(chǔ)空間數(shù)據(jù)移動(dòng)/初始化以及一些算術(shù)指令支持系數(shù)間接尋址方式;系數(shù)間接尋址方式主要用于一個(gè)周期內(nèi)對(duì)三個(gè)存儲(chǔ)器操作數(shù)進(jìn)行操作的指令。其中, 兩個(gè)操作數(shù)(Xmem和Ymem)用雙AR間接尋址, 第三個(gè)操作數(shù)(Cmem)用系數(shù)間接尋址方式, Cmem在BB總線(xiàn)上傳送。如:有限沖擊響應(yīng)濾波器乘法運(yùn)算乘加運(yùn)算乘減運(yùn)算雙乘加運(yùn)算和雙乘減運(yùn)算例如:MPY Xmem,Cmem,ACx :MPY Ymem,Cmem,ACy其中, Cmem位于與Xmem、Ymem不同的存儲(chǔ)器區(qū)塊上.50指令中用Cmem表示有些指令不使用BB總線(xiàn)傳送Cmem操作數(shù)。 由于BB總線(xiàn)與外部存儲(chǔ)器沒(méi)有接口, 如果是BB總線(xiàn)傳送數(shù)據(jù)
41、, 則操作數(shù)必須是片內(nèi)存儲(chǔ)器的。表4-14 不使用BB總線(xiàn)傳送Cmem的指令 指令語(yǔ)法Cmem訪(fǎng)問(wèn)數(shù)據(jù)類(lèi)型Cmem訪(fǎng)問(wèn)總線(xiàn)MOV Cmem,Smem從Cmem中讀16位DBMOV Smem,Cmem向Cmem中寫(xiě)16位EBMOV Cmem, dbl(Lmem)從Cmem中讀32位CB讀高字,DB讀低字MOV dbl(Lmem), Cmem向Cmem中寫(xiě)32位FB讀高字,EB讀低字51Cmem與Smem都是單字操作數(shù), 其區(qū)別: Cmem只來(lái)自數(shù)據(jù)存儲(chǔ)器, Smem除來(lái)自數(shù)據(jù)存儲(chǔ)器, 還來(lái)自I/O空間和MMR.操作數(shù)指針變化類(lèi)型*CDPCDP不改變數(shù)據(jù)空間*CDP+地址產(chǎn)生后,CDP自增:對(duì)于1
42、6位操作數(shù),CDP=CDP+1;對(duì)于32位操作數(shù),CDP=CDP+2數(shù)據(jù)空間*CDP-地址產(chǎn)生后,CDP自減:對(duì)于16位操作數(shù),CDP=CDP-1;對(duì)于32位操作數(shù),CDP=CDP-2數(shù)據(jù)空間*(CDP+T0/AR0)尋址后,16位有符號(hào)數(shù)T0或AR0加到CDP上如果C54CM=0,CDP=CDP+T0;如果C54CM=1,CDP=CDP+AR0數(shù)據(jù)空間表4-15 系數(shù)間接尋址操作數(shù) 注意: 指針修改和地址產(chǎn)生可以是線(xiàn)性的或循環(huán)的, 這取決于ST2_55的指針配置。僅當(dāng)CDP循環(huán)尋址時(shí), 16位緩沖區(qū)起始地址寄存器BSAC將被加到指針上; CDP的修改以64K取模, 只能修改CDPH后才能跨主
43、數(shù)據(jù)頁(yè)尋址。52CDPLC 指令操作碼 指令11101111 AAAAAAAI xxxx00mm MOV Cmem, Smem11101111 AAAAAAAI xxxx01mm MOV Smem, Cmem11101111 AAAAAAAI xxxx10mm MOV Cmem,dbl(Lmem)11101111 AAAAAAAI xxxx11mm MOV dbl(Lmem), Cmem53AAAA AAAI Smem 尋址方式:AAAA AAA0 dma, 直接存儲(chǔ)器(dma) 直接尋址AAAA AAA1 Smem 間接存儲(chǔ)器尋址:0001 0001 ABS16(#k16)0011 0001
44、 *(#k23)0101 0001 port(#k16)0111 0001 *CDP1001 0001 *CDP+1011 0001 *CDP1101 0001 *CDP(#K16)1111 0001 *+CDP(#K16)PPP0 0001 *ARnPPP0 0011 *ARn+PPP0 0101 *ARnPPP0 0111 *(ARn+T0), when C54CM=0, *(ARn+T0), when C54CM=1PPP0 1001 *(ARn T0), when C54CM = 0, *(ARn T0), when C54CM = 1PPP0 1011 *ARn(T0), when
45、C54CM = 0, *ARn(T0), when C54CM = 1PPP0 1101 *ARn(#K16)PPP0 1111 *+ARn(#K16)PPP1 0011 *(ARn+T1), when ARMS=0, *ARn(short(#1), when ARMS=1PPP1 0101 *(ARnT1), when ARMS=0,*ARn(short(#2), when ARMS=1PPP1 0111 *ARn(T1), when ARMS = 0,*ARn(short(#3), when ARMS = 1PPP1 1001 *+ARn, when ARMS = 0,*ARn(short
46、(#4), when ARMS = 1PPP1 1011 *ARn, when ARMS = 0,*ARn(short(#5), when ARMS = 1PPP1 1101 *(ARn + T0B), when ARMS = 0,*ARn(short(#6), when ARMS = 1PPP1 1111 *(ARn T0B), when ARMS = 0,*ARn(short(#7), when ARMS = 1PPP encodes an auxiliary register (ARn) as for XXX and YYY.mm 系數(shù)間接尋址(Cmem):00 *CDP01 *CDP+
47、10 *CDP11 *(CDP + T0)4.1.4 數(shù)據(jù)存儲(chǔ)器的尋址 上述三種尋址方式(絕對(duì)、直接、間接)都可用于對(duì)數(shù)據(jù)存儲(chǔ)器的尋址。以下通過(guò)幾個(gè)例題進(jìn)行說(shuō)明。例4-1: *abs16(#k16)對(duì)數(shù)據(jù)存儲(chǔ)器尋址,設(shè)DPH=03h.(1) MOV *abs16(#2002h),T2 (已講) ;#k16=2002h,CPU從03 2002h處讀取數(shù)據(jù)裝入T2(2) MOV dbl(*abs16(#2002h), pair(T2) ;#k16=2002h, #k16+1=2003h ;CPU從03 2002h和03 2003h讀取數(shù)據(jù),裝入T2和T354例4-2,*(#k23) 用于數(shù)據(jù)存儲(chǔ)器
48、尋址。(1) MOV *(#032002h),T2 ;k23=03 2002h, ;CPU從03 2002h處讀取數(shù)據(jù)裝入T2 (已講)(2) MOV dbl(*(#032002h),pair(T2) ;k23=03 2002h, k23+1=03 2003h;CPU從03 2002h和03 2003h讀取數(shù)據(jù),裝入T2和T355例4-3,Daddr用于數(shù)據(jù)存儲(chǔ)器尋址。 設(shè)DPH=03h,DP=0000h。(1) MOV 0005h,T2 (已講) ;DPH:(DP+Doffset)=03:(0000h+0005h) ; =03 0005h ;CPU從03 0005h處讀取數(shù)據(jù)裝入T2(2)
49、MOV dbl(0005h),pair(T2) ;DPH:(DP+Doffset)=03 0005h, ;DPH:(DP+Doffset1)=03 0004h ;CPU從03 0005h和03 0004h讀取數(shù)據(jù)裝入T2和T356例4-4,*SP(offset)用于數(shù)據(jù)存儲(chǔ)器尋址。 設(shè)SPH=0,SP = FF00h。(1) MOV *SP(5),T2 (已講) ;SPH:(SP+offset)=00 FF05h, ;CPU從00 FF05h 處讀取數(shù)據(jù)裝入T2(2) MOV dbl(*SP(5), pair(T2) ;SPH:(SP+offset)=00 FF05h, ;SPH:(SP+of
50、fset1)=00 FF04h ;CPU從00 FF05h和00 FF04h讀取數(shù)據(jù)裝入T2和T357例4-5,*ARn用于數(shù)據(jù)存儲(chǔ)器尋址, 設(shè)ARn工作在線(xiàn)性尋址狀態(tài)。(ARnLC=0)(1) MOV *AR4, T2 ; AR4H:AR4=XAR4, CPU從XAR4讀取數(shù)據(jù)裝入T2(2) MOV dbl(*AR4), pair(T2) ;第一個(gè)地址為XAR4, ; 若XAR4為偶數(shù), 則第二個(gè)地址XAR4+1, ;若XAR4為奇數(shù), 則第二個(gè)地址為XAR4-1 ;CPU從XAR4和XAR4+1(或XAR4-1)處讀取數(shù)據(jù) ;并裝入T2和T358(已講)例4-6,*(ARn+T0)用于數(shù)據(jù)
51、存儲(chǔ)器尋址,設(shè)ARn工作在線(xiàn)性尋址狀態(tài)。(1) MOV *(AR4+T0),T2;AR4H:AR4=XAR4, ;CPU從XAR4處讀取數(shù)據(jù)裝入T2, ;然后AR4=AR4+T0(2) MOV dbl(*(AR4+T0),pair(T2) ;第一個(gè)地址為XAR4, ;如果XAR4為偶數(shù),則第二個(gè)地址XAR4+1; ;如果XAR4為奇數(shù),則第二個(gè)地址為XAR4-1 ;CPU從XAR4和XAR4+1(或XAR4-1)處讀取數(shù)據(jù) ;并裝入T2和T3, 然后AR4=AR4+T059(已講)例4-7,*(ARn+T0B)用于數(shù)據(jù)存儲(chǔ)器尋址, 設(shè)ARn工作在線(xiàn)性尋址狀態(tài)。MOV *(AR4+T0B),T2
52、;AR4H:AR4=XAR4,;CPU從XAR4處讀取數(shù)據(jù)裝入T2,;然后AR4=AR4+T0;在執(zhí)行加法時(shí),采用碼位倒置算法60(程序略)(已講)4.1.5 存儲(chǔ)器映射寄存器的尋址上述三種尋址方式(絕對(duì)、直接、間接)都可以用于對(duì)MMR尋址。 以下通過(guò)幾個(gè)例題進(jìn)行說(shuō)明。61例4-8: *abs16(#k16)用于MMR尋址, DPH必須為00h。MOV *abs16(#AR2), T2 ;DPH:k16=00 0012h (AR2的地址為00 0012h) ;CPU從00 0012h處讀取數(shù)據(jù)裝入T2(已講)例4-9: * (#k23) 用于MMR尋址。MOV * (#AR2), T2 ;k2
53、3=00 0012h(AR2的地址為00 0012h) ;CPU從00 0012h處讀取數(shù)據(jù)裝入T2(已講);DPH:(DP+Doffset)= 00:(0000h+0008h)=00 0008h;CPU從00 0008h處讀取數(shù)據(jù)裝入AR2例4-10: Daddr用于MMR尋址. DPH=DP=00h,62MOV mmap(AC0L), AR2 CPL=0。(已講)例4-11: *ARn用于MMR尋址,ARn 指向某寄存器。MOV *AR6, T2;用AR6里內(nèi)容尋址的存儲(chǔ)單元的值裝入T2 4.1.6寄存器位的尋址直接和間接尋址方式可用于對(duì)寄存器位的尋址,見(jiàn)下邊例題。63例4-12 bito
54、ffset用于對(duì)寄存器位的尋址。(1) BSET 0, AC3 ; ;CPU將AC3的位0置為1(2) BTSTP 30, AC3; 把AC3的位30和位31分別復(fù)制到狀態(tài)寄存器ST0_55的位TC1和TC2(已講)例4-13,*ARn用于對(duì)寄存器位的尋址, 設(shè)AR0=0,AR5=30。64(2) BTSTP *AR5,AC3 ;CPU測(cè)試AC3的位30和位31, ; 并分別將其測(cè)試值復(fù)制到狀態(tài)寄存器ST0_55的位TC1和TC2(1) BSET *AR0, AC3 ; CPU 將AC3的位0置為1(已講)4.1.7 I/O空間的尋址絕對(duì)、直接、間接等三種尋址方式都可以用于對(duì)I/O空間的尋址,
55、見(jiàn)以下例題。65例4-14,port(#k16) 用于對(duì)I/O空間的尋址。(1) MOV port(#2), AR2 ;CPU從I/O 地址0002h讀取數(shù)據(jù), 輸送到AR2 (2) MOV AR2, port(#0F000h) ;CPU把AR2的數(shù)據(jù)輸出到I/O 地址0F000h(已講)例4-15, Poffset對(duì)I/O空間的尋址, 設(shè)PDP=511。(1) MOV port(0),T2 ;PDP:Poffset=FF80h, ;CPU從FF80h讀取數(shù)據(jù)進(jìn)T2(2) MOV T2,port(127) ;PDP:Poffset=FFFFh, ;CPU把T2的數(shù)據(jù)輸出到I/O地址0FFFFh
56、66 1111 1111 1 F F 1 000 0000 111 1111(已講)例4-16,*ARn 用于對(duì)I/O空間的尋址. 設(shè)AR4= FF80h, AR5= FFFFh。(1) MOV port(*AR4), T2 (2) MOV T2, port(*AR5);CPU從FF80h讀取數(shù)據(jù)進(jìn)T2;CPU把T2的數(shù)據(jù)輸出到I/O 地址0FFFFh67(已講)任何一種間接尋址方式都可以使用循環(huán)尋址;每個(gè)ARn(n = 07)和CDP都能獨(dú)立地配置為線(xiàn)性或循環(huán)尋址。該配置位(ARnLC, CDPLC)位于ST2_55中,設(shè)置該位則實(shí)現(xiàn)循環(huán)尋址(ARnLC=CDPLC=1)。循環(huán)緩沖區(qū)大小在寄
57、存器BK03、BK47或BKC中定義:對(duì)于字緩沖區(qū)則定義字的個(gè)數(shù);對(duì)于寄存器位緩沖區(qū)則定義位的個(gè)數(shù);4.1.8 循環(huán)尋址68對(duì)于數(shù)據(jù)空間的字緩沖區(qū),必須存放在128個(gè)數(shù)據(jù)頁(yè)中的一個(gè)主數(shù)據(jù)頁(yè)內(nèi),不能跨主數(shù)據(jù)頁(yè)存放。4.1.8 循環(huán)尋址緩沖區(qū)內(nèi)每個(gè)地址具有23位, 高7位代表主數(shù)據(jù)頁(yè), 由CDPH或ARnH決定;CDPH可被獨(dú)立地裝入, ARnH則不能。要裝入ARnH, 則必須通過(guò)裝載XARn來(lái)實(shí)現(xiàn), 即ARnH:ARn;在主數(shù)據(jù)頁(yè)內(nèi), 緩沖區(qū)的首地址由16位緩沖區(qū)首地址寄存器裝入的值定義, 裝入到指針ARn或CDP的值作為索引, 即相對(duì)于緩沖區(qū)首地址的偏移地址。指針選擇相對(duì)于參考位的位置位, 僅
58、需裝入ARn或CDP, 不必裝入XARn或XCDP。69對(duì)于位緩沖區(qū), 緩沖區(qū)起始地址寄存器定義參考位。表4-16 循環(huán)尋址70指針線(xiàn)性(0)/循環(huán)(1)尋址配置位主數(shù)據(jù)頁(yè)寄存器緩沖區(qū)首地址寄存器緩沖區(qū)大小寄存器AR0ST2_55(0)=AR0LCAR0HBSA01BK03AR1ST2_55(1)=AR1LCAR1HBSA01BK03AR2ST2_55(2)=AR2LCAR2HBSA23BK03AR3ST2_55(3)=AR3LCAR3HBSA23BK03AR4ST2_55(4)=AR4LCAR4HBSA45BK47AR5ST2_55(5)=AR5LCAR5HBSA45BK47AR6ST2_5
59、5(6)=AR6LCAR6HBSA67BK47AR7ST2_55(7)=AR7LCAR7HBSA67BK47CDPST2_55(8)=CDPLCCDPHBSACBKC1. 配置AR0AR7和CDP進(jìn)行循環(huán)尋址表4-17 AR寄存器線(xiàn)性/循環(huán)尋址配置位 表4-18 CDP寄存器線(xiàn)性/循環(huán)尋址配置位71ARnLC (n=07)用 途0線(xiàn)性尋址1循環(huán)尋址CDPLC用 途0線(xiàn)性尋址1循環(huán)尋址2. 循環(huán)緩沖區(qū)的實(shí)現(xiàn)在數(shù)據(jù)空間建立一個(gè)字循環(huán)緩沖區(qū)的具體操作步驟:(1) 初始化相應(yīng)緩沖區(qū)大小寄存器(BK03、BK47或BKC); 例如, 對(duì)于8個(gè)字大小的緩沖區(qū), 裝入BK寄存器為8。(2) 初始化ST2_5
60、5中相應(yīng)的配置位(ARnLC, CDPLC), 使能選定指針的循環(huán)尋址;72(3) 初始化相應(yīng)的擴(kuò)展寄存器(XARn或XCDP), 選擇一個(gè)主數(shù)據(jù)頁(yè)。例如: 如果AR3是一個(gè)循環(huán)指針, 則裝入XAR3; 如果CDP是循環(huán)指針,則裝入XCDP。在數(shù)據(jù)空間建立一個(gè)字循環(huán)緩沖區(qū)的具體操作步驟(續(xù)):(4)初始化對(duì)應(yīng)的緩沖區(qū)首地址寄存器(BSA01, BSA23, BSA45,BSA67或BSAC), 主數(shù)據(jù)頁(yè)XAR(2216)或XCDP(22-16)和BSA寄存器合并形成緩沖區(qū)的23位首地址。(5)裝入選定的指針ARn或CDP, 其值從0至緩沖區(qū)長(zhǎng)度減1。例如: 如果使用AR1, 且緩沖區(qū)長(zhǎng)度為8,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技在寵物食品安全監(jiān)管中的應(yīng)用與展望
- 融合實(shí)踐的生涯教育提升學(xué)生綜合素質(zhì)的途徑
- 科技在優(yōu)化小學(xué)語(yǔ)文作文批改中的作用
- 科技助力磚廠(chǎng)安全生產(chǎn)
- 2025年湘西民族職業(yè)技術(shù)學(xué)院高職單招高職單招英語(yǔ)2016-2024歷年頻考點(diǎn)試題含答案解析
- 語(yǔ)文教育中的情感溝通與讀寫(xiě)技能培養(yǎng)
- 金融領(lǐng)域中的安全高效嵌入式軟件開(kāi)發(fā)探討
- 2025年草編制工藝品項(xiàng)目可行性研究報(bào)告
- 2025年納米激光治療儀項(xiàng)目可行性研究報(bào)告
- 2025年磷霉素鈣甲氧芐啶項(xiàng)目可行性研究報(bào)告
- 房地產(chǎn)調(diào)控政策解讀
- 產(chǎn)前診斷室護(hù)理工作總結(jié)
- 2024-2025學(xué)年八年級(jí)數(shù)學(xué)人教版上冊(cè)寒假作業(yè)(綜合復(fù)習(xí)能力提升篇)(含答案)
- 《AP內(nèi)容介紹》課件
- 醫(yī)生定期考核簡(jiǎn)易程序述職報(bào)告范文(10篇)
- 安全創(chuàng)新創(chuàng)效
- 《中國(guó)糖尿病防治指南(2024版)》更新要點(diǎn)解讀
- 初級(jí)創(chuàng)傷救治課件
- 2024年社會(huì)工作者(中級(jí))-社會(huì)綜合能力考試歷年真題可打印
- 《處理人際關(guān)系》課件
- 五年級(jí)行程問(wèn)題應(yīng)用題100道
評(píng)論
0/150
提交評(píng)論