版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第3章章 TMS320C24X 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) F 2 4 0 X 系 列系 列 D S P 芯 片 采 用 與芯 片 采 用 與TMS320C240相同的核,所以兩者的指相同的核,所以兩者的指令系統(tǒng)是相同的。令系統(tǒng)是相同的。3.1 尋址方式尋址方式F240X指令集采用指令集采用3種基本的存儲(chǔ)器種基本的存儲(chǔ)器尋址方式:尋址方式:立即尋址方式;立即尋址方式;直接尋址方式;直接尋址方式;間接尋址方式。間接尋址方式。3.1.1 立即尋址方式立即尋址方式指令中所需的常數(shù)作為指令的操作數(shù)直接給出。指令中所需的常數(shù)作為指令的操作數(shù)直接給出。立即尋址包括:短立即尋址和長(zhǎng)立即尋址。立即
2、尋址包括:短立即尋址和長(zhǎng)立即尋址。短立即尋址指令:短立即尋址指令:有一個(gè)有一個(gè)8、9、13位的常數(shù)作操作數(shù)。位的常數(shù)作操作數(shù)。短立即尋址指令為一個(gè)單指令字,并將常數(shù)嵌在該指短立即尋址指令為一個(gè)單指令字,并將常數(shù)嵌在該指令中。令中。長(zhǎng)立即尋址指令:長(zhǎng)立即尋址指令:有一個(gè)有一個(gè)16位的常數(shù)作操作數(shù),所以位的常數(shù)作操作數(shù),所以要求兩個(gè)指令字。要求兩個(gè)指令字。16位常數(shù)作為第二條指令發(fā)送,常位常數(shù)作為第二條指令發(fā)送,常數(shù)可以是一個(gè)絕對(duì)常數(shù)也可以是一個(gè)二進(jìn)制補(bǔ)碼。數(shù)可以是一個(gè)絕對(duì)常數(shù)也可以是一個(gè)二進(jìn)制補(bǔ)碼。 采用短立即尋址的采用短立即尋址的RPT指令指令 RPT #49 ;將緊跟;將緊跟RPT指令后的那
3、條指令執(zhí)行指令后的那條指令執(zhí)行50次。次。指令寄存器中的內(nèi)容指令寄存器中的內(nèi)容 :1 0 1 1 1 0 1 11 0 1 1 1 0 1 10 0 1 1 0 0 0 10 0 1 1 0 0 0 115 14 13 12 11 10 9 815 14 13 12 11 10 9 87 6 5 4 3 2 1 07 6 5 4 3 2 1 0采用立即尋址的采用立即尋址的RPT代碼代碼 8位常數(shù)位常數(shù)49 立即操作數(shù)作為立即操作數(shù)作為RPT指令字的一部分指令字的一部分 。立即操作數(shù)以符號(hào)立即操作數(shù)以符號(hào)#為前綴為前綴 。長(zhǎng)立即尋址的長(zhǎng)立即尋址的 ADD指令指令 ADD #65534 ,2 ;將
4、數(shù)據(jù);將數(shù)據(jù)65534左移兩位后,再將結(jié)左移兩位后,再將結(jié)果加至累加器。果加至累加器。 第一條指令字:第一條指令字:1 0 1 1 1 1 1 1 1 0 0 11 0 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 015 14 13 12 11 10 9 815 14 13 12 11 10 9 87 6 5 4 3 2 1 07 6 5 4 3 2 1 0采用長(zhǎng)立即尋址的采用長(zhǎng)立即尋址的ADD代碼代碼 Shift2 第二條指令字:第二條指令字:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 01
5、5 14 13 12 11 10 9 815 14 13 12 11 10 9 87 6 5 4 3 2 1 07 6 5 4 3 2 1 016位常數(shù)位常數(shù)65534FFFEh 立即操作數(shù)包含在第二條指令字中立即操作數(shù)包含在第二條指令字中 ,指令寄存器順次,指令寄存器順次接收兩個(gè)指令字的接收兩個(gè)指令字的16位值。位值。 3.1.2 直接尋址方式直接尋址方式 在直接尋址方式中,指令寄存器的內(nèi)容為:在直接尋址方式中,指令寄存器的內(nèi)容為: 位位15-8:用于指示指令類型(例如,用于指示指令類型(例如,ADD)和指)和指令所訪問的數(shù)據(jù)值的移位信息。令所訪問的數(shù)據(jù)值的移位信息。位位7:直接直接/間接指
6、示符。間接指示符。0表示為直接尋址;表示為直接尋址;1表示為間接尋址。表示為間接尋址。位位6-0:指示該指令所訪問的數(shù)據(jù)存儲(chǔ)器地址的指示該指令所訪問的數(shù)據(jù)存儲(chǔ)器地址的偏移量。偏移量。1. 用直接尋址方式產(chǎn)生數(shù)據(jù)地址用直接尋址方式產(chǎn)生數(shù)據(jù)地址處理器將頁(yè)指針處理器將頁(yè)指針DP值:提供地址的值:提供地址的9位高位高有效位,即頁(yè)碼數(shù)。有效位,即頁(yè)碼數(shù)。 指令寄存器中的指令寄存器中的7位最低有效位:提供地址位最低有效位:提供地址的的7位最低有效值,即偏移量。位最低有效值,即偏移量。 16位地址位地址 TI公司的公司的TMS320系列芯片將系列芯片將64K的數(shù)據(jù)存儲(chǔ)器分為的數(shù)據(jù)存儲(chǔ)器分為512頁(yè),每頁(yè)頁(yè),
7、每頁(yè)128字稱為數(shù)據(jù)頁(yè)。字稱為數(shù)據(jù)頁(yè)。當(dāng)前數(shù)據(jù)頁(yè)由狀態(tài)寄存器當(dāng)前數(shù)據(jù)頁(yè)由狀態(tài)寄存器ST0中的中的9位數(shù)據(jù)頁(yè)指針位數(shù)據(jù)頁(yè)指針(DP)值決定。)值決定。 DP值值偏移量偏移量數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器0000 00000000 0000 . .111 1111 第第0頁(yè):頁(yè):0000h007Fh0000 00001000 0000 . .111 1111第第1頁(yè):頁(yè):0080h-00FFh0000 00010000 0000 . .111 1111第第2頁(yè):頁(yè):0100h017Fh. . . . .1111 11111000 0000 . .111 1111第第511頁(yè):頁(yè):FF80hFFFFh2. 使
8、用直接尋址方式使用直接尋址方式 處理器用頁(yè)指針處理器用頁(yè)指針DP來尋找數(shù)據(jù)頁(yè),用指令寄存器的來尋找數(shù)據(jù)頁(yè),用指令寄存器的低低7位有效位來尋址該頁(yè)上的特定地址。位有效位來尋址該頁(yè)上的特定地址。 (1) 設(shè)置數(shù)據(jù)頁(yè):將數(shù)據(jù)頁(yè)(設(shè)置數(shù)據(jù)頁(yè):將數(shù)據(jù)頁(yè)(0-511)裝入)裝入DP。DP可由可由LDP指令裝載,也可由向指令裝載,也可由向ST0裝載的任何指裝載的任何指令來裝載令來裝載DP。LDP指令直接裝載指令直接裝載DP,并且不影響,并且不影響ST0的其它位。的其它位。例:例:LDP #32;設(shè)置當(dāng)前數(shù)據(jù)頁(yè)為;設(shè)置當(dāng)前數(shù)據(jù)頁(yè)為32(1000h-107Fh)注意:在任何程序中都要初始化注意:在任何程序中都要
9、初始化DP。因?yàn)樯想姾蟛欢?。因?yàn)樯想姾蟛欢x義DP;復(fù)位不初始化;復(fù)位不初始化DP。 (2) 指明偏移量:指明偏移量:7位偏移量由指令的操作數(shù)提供。位偏移量由指令的操作數(shù)提供。例:例:如果希望如果希望ADD指令取當(dāng)前數(shù)據(jù)頁(yè)的第指令取當(dāng)前數(shù)據(jù)頁(yè)的第5個(gè)地址處的數(shù)個(gè)地址處的數(shù)據(jù):據(jù):ADD 5H;將當(dāng)前數(shù)據(jù)頁(yè)中偏移量為;將當(dāng)前數(shù)據(jù)頁(yè)中偏移量為5h處的數(shù)據(jù)加至處的數(shù)據(jù)加至累加器累加器說明說明采用直接尋址時(shí),不必每條指令前都要設(shè)置數(shù)據(jù)頁(yè)。采用直接尋址時(shí),不必每條指令前都要設(shè)置數(shù)據(jù)頁(yè)。總之,必須保證要訪問新的數(shù)據(jù)頁(yè)之前改變總之,必須保證要訪問新的數(shù)據(jù)頁(yè)之前改變DP。 3. 直接尋址示例直接尋址示例 采用
10、直接尋址的采用直接尋址的ADD指令(移位指令(移位0至至15位)位) LDP #4;數(shù)據(jù)頁(yè)設(shè)為;數(shù)據(jù)頁(yè)設(shè)為4(0200h-027Fh)ADD 9H,5;將數(shù)據(jù)地址;將數(shù)據(jù)地址0209h處的內(nèi)容左移處的內(nèi)容左移5位后加至累加器位后加至累加器 采用直接尋址的采用直接尋址的ADDC指令指令 LDP #500 ;數(shù)據(jù)頁(yè)設(shè)為;數(shù)據(jù)頁(yè)設(shè)為500(FA00h-FA7Fh)ADDC 8H ;數(shù)據(jù)地址;數(shù)據(jù)地址FA08h處內(nèi)容和進(jìn)位值(處內(nèi)容和進(jìn)位值(C)被加至累加器被加至累加器 3.1.3 間接尋址方式間接尋址方式 8個(gè)輔助寄存器(個(gè)輔助寄存器(AR0-AR7)為處理器提供間)為處理器提供間接尋址的接尋址的1
11、6位地址,可以訪問位地址,可以訪問64K數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器空間的任意單元??臻g的任意單元。1.間接尋址操作碼格式間接尋址操作碼格式 :指令寄存器的內(nèi):指令寄存器的內(nèi)容容位位15-8:指示指令類型(例如,指示指令類型(例如,ADD)和指令所訪問的數(shù))和指令所訪問的數(shù)據(jù)值的移位信息據(jù)值的移位信息位位7:直接直接/間接指示符。間接指示符。0表示為直接尋址;表示為直接尋址;1表示為間接尋址。表示為間接尋址。位位6-4:輔助寄存器更新代碼輔助寄存器更新代碼ARU,決定當(dāng)前輔助寄存器,決定當(dāng)前輔助寄存器是否以及如何進(jìn)行增或減。是否以及如何進(jìn)行增或減。位位3:下一個(gè)輔助寄存器指示符下一個(gè)輔助寄存器指示符N
12、,說明指令是否改變,說明指令是否改變ARP值。值。N=0,ARP內(nèi)容保持不變;內(nèi)容保持不變;N=1,下一個(gè)輔助寄存器,下一個(gè)輔助寄存器NAR的內(nèi)容裝入的內(nèi)容裝入ARP。位位2-0:下一個(gè)輔助寄存器的值,包括下一個(gè)輔助寄存器下一個(gè)輔助寄存器的值,包括下一個(gè)輔助寄存器的值。若的值。若N=1,則,則NAR被裝入被裝入ARP。 2. 當(dāng)前輔助寄存器當(dāng)前輔助寄存器 通過狀態(tài)寄存器通過狀態(tài)寄存器ST0中的中的3位輔助寄存器指針位輔助寄存器指針(ARP )來指定)來指定8個(gè)輔助寄存器(個(gè)輔助寄存器(AR0AR7)的)的某一個(gè)作為當(dāng)前輔助寄存器(某一個(gè)作為當(dāng)前輔助寄存器(AR) 。在執(zhí)行指令的過程中,當(dāng)前在執(zhí)
13、行指令的過程中,當(dāng)前AR的內(nèi)容作為被訪問的內(nèi)容作為被訪問數(shù)據(jù)存儲(chǔ)器的地址。數(shù)據(jù)存儲(chǔ)器的地址。 ARP可由可由MAR指令、指令、LST指令或任何支持間接尋指令或任何支持間接尋址的指令來裝載。址的指令來裝載。 3. 間接尋址選項(xiàng)間接尋址選項(xiàng) TMS320C24X提供提供4種間接尋址選項(xiàng):種間接尋址選項(xiàng): 不增不減;不增不減; 增增1或減或減1; 增加或減去索引量;增加或減去索引量; 增加或減去索引量且反向進(jìn)位。增加或減去索引量且反向進(jìn)位。 選項(xiàng)選項(xiàng)操作數(shù)操作數(shù)例子例子不增不減不增不減*LACC * 用當(dāng)前用當(dāng)前AR所指的數(shù)據(jù)存儲(chǔ)器地址中所指的數(shù)據(jù)存儲(chǔ)器地址中內(nèi)容裝載累加器內(nèi)容裝載累加器增增1*+L
14、ACC *+ 用當(dāng)前用當(dāng)前AR所指的數(shù)據(jù)存儲(chǔ)器地址中所指的數(shù)據(jù)存儲(chǔ)器地址中內(nèi)容裝載累加器,然后向當(dāng)前內(nèi)容裝載累加器,然后向當(dāng)前AR內(nèi)容加內(nèi)容加1減減1*-LACC *- 用當(dāng)前用當(dāng)前AR所指的數(shù)據(jù)存儲(chǔ)器地址中所指的數(shù)據(jù)存儲(chǔ)器地址中內(nèi)容裝載累加器,然后從當(dāng)前內(nèi)容裝載累加器,然后從當(dāng)前AR內(nèi)容減內(nèi)容減1加上索引量加上索引量*0+LACC *0+ 用當(dāng)前用當(dāng)前AR所指的數(shù)據(jù)存儲(chǔ)器地址中所指的數(shù)據(jù)存儲(chǔ)器地址中內(nèi)容裝載累加器,然后向當(dāng)前內(nèi)容裝載累加器,然后向當(dāng)前AR內(nèi)容加上內(nèi)容加上AR0的的內(nèi)容內(nèi)容減去索引量減去索引量*0-LACC *0- 用當(dāng)前用當(dāng)前AR所指的數(shù)據(jù)存儲(chǔ)器地址中所指的數(shù)據(jù)存儲(chǔ)器地址中內(nèi)
15、容裝載累加器,然后從當(dāng)前內(nèi)容裝載累加器,然后從當(dāng)前AR的內(nèi)容減去的內(nèi)容減去AR0的內(nèi)容的內(nèi)容加上索引量,加上索引量,反向進(jìn)位反向進(jìn)位*BRO+LACC *BRO+ 用當(dāng)前用當(dāng)前AR所指的數(shù)據(jù)存儲(chǔ)器地所指的數(shù)據(jù)存儲(chǔ)器地址中內(nèi)容裝載累加器,然后向當(dāng)前址中內(nèi)容裝載累加器,然后向當(dāng)前AR內(nèi)容加上內(nèi)容加上AR0的內(nèi),該加法采用反向進(jìn)位傳送的內(nèi),該加法采用反向進(jìn)位傳送減去索引量,減去索引量,反向進(jìn)位反向進(jìn)位*BRO-LACC *BRO+ 用當(dāng)前用當(dāng)前AR所指的數(shù)據(jù)存儲(chǔ)器地所指的數(shù)據(jù)存儲(chǔ)器地址中內(nèi)容裝載累加器,然后從當(dāng)前址中內(nèi)容裝載累加器,然后從當(dāng)前AR內(nèi)容減去內(nèi)容減去AR0的內(nèi)容,該減法采用反向進(jìn)位傳送的
16、內(nèi)容,該減法采用反向進(jìn)位傳送4. 修改輔助寄存器內(nèi)容修改輔助寄存器內(nèi)容 用于修改輔助寄存器(用于修改輔助寄存器(AR)內(nèi)容的特定指令有:)內(nèi)容的特定指令有:LAR、ADRK、SBRK和和MAR。LAR指令裝載指令裝載AR;ADRK和和SUBRK分別用來從分別用來從AR中加上或減去一個(gè)立中加上或減去一個(gè)立即數(shù);即數(shù);MAR指令可使指令可使AR值增加值增加/減少減少1或增加或增加/減少一個(gè)索引減少一個(gè)索引量。量。另外任何支持間接尋址操作數(shù)的指令都可修改輔助寄另外任何支持間接尋址操作數(shù)的指令都可修改輔助寄存器。存器。 5. 輔助寄存器輔助寄存器 除了更新當(dāng)前輔助寄存器的內(nèi)容以外,某些指令還除了更新當(dāng)
17、前輔助寄存器的內(nèi)容以外,某些指令還可以指明下一個(gè)輔助寄存器可以指明下一個(gè)輔助寄存器AR。當(dāng)本條指令執(zhí)行完之后,下一個(gè)輔助寄存器當(dāng)本條指令執(zhí)行完之后,下一個(gè)輔助寄存器AR便成便成為當(dāng)前輔助寄存器為當(dāng)前輔助寄存器AR。 例:例: 選擇新的當(dāng)前輔助寄存器選擇新的當(dāng)前輔助寄存器ARMAR *,AR1;將當(dāng)前輔助寄存器;將當(dāng)前輔助寄存器AR設(shè)為設(shè)為AR1LACL *+,AR2;用輔助寄存器;用輔助寄存器AR1所指向的地址中內(nèi)容所指向的地址中內(nèi)容裝載累加器的低裝載累加器的低16位,位,AR1內(nèi)容加內(nèi)容加1,使,使AR2為當(dāng)前輔助寄存器為當(dāng)前輔助寄存器ARSACL *+;將累加器的低;將累加器的低16位存于
18、位存于AR2所指向的地所指向的地址單元,址單元,AR2內(nèi)容加內(nèi)容加1。3.2 指令集指令集 根據(jù)指令的功能劃分為:根據(jù)指令的功能劃分為: 1. 累加器、算數(shù)和邏輯指令表;累加器、算數(shù)和邏輯指令表;2. 輔助寄存器和數(shù)據(jù)頁(yè)指針指令表;輔助寄存器和數(shù)據(jù)頁(yè)指針指令表;3. TREG、PREG和乘法指令表;和乘法指令表;4. 轉(zhuǎn)移指令表;轉(zhuǎn)移指令表;5. 控制指令表;控制指令表;6. I/O和存儲(chǔ)器指令表。和存儲(chǔ)器指令表。 指令表符號(hào)的意義指令表符號(hào)的意義 ACC 累加器。累加器。AR當(dāng)前輔助寄存器。當(dāng)前輔助寄存器。ARX 用于用于LAR和和SAR指令的指令的3位數(shù)據(jù)值,指定操作位數(shù)據(jù)值,指定操作的輔
19、助寄存器。的輔助寄存器。BITX4位數(shù)值,用于指定數(shù)據(jù)存儲(chǔ)器中的哪一位將位數(shù)值,用于指定數(shù)據(jù)存儲(chǔ)器中的哪一位將被被BIT指令所測(cè)試。指令所測(cè)試。CM2位數(shù)值,位數(shù)值,CMPR指令執(zhí)行指令執(zhí)行CM值所聲明的比值所聲明的比較:較:若若CM=00,測(cè)試:,測(cè)試:(當(dāng)前當(dāng)前AR)=(AR0)?;?;若若CM=01,測(cè)試:,測(cè)試:(當(dāng)前當(dāng)前AR)(AR0)?;?;若若CM=11,測(cè)試:,測(cè)試:(當(dāng)前當(dāng)前AR)(AR0)?。?。Shift 4位移位值。位移位值。TP用于條件執(zhí)行指令的用于條件執(zhí)行指令的2位數(shù)值,代表如下位數(shù)值,代表如下4種種條件:條件:若若BIO引腳為低,則引腳為低,則TP=00;若若TC
20、位位=1,則則TP=01;若若TC位位=0,則則TP=10;若無條件,若無條件,則則TP=11。說明說明 表中指令按字母順序排列;表中指令按字母順序排列; 表中給出了執(zhí)行每條指令所需要的周期數(shù);表中給出了執(zhí)行每條指令所需要的周期數(shù); 所有指令都假設(shè)從內(nèi)部程序存儲(chǔ)器和內(nèi)部數(shù)所有指令都假設(shè)從內(nèi)部程序存儲(chǔ)器和內(nèi)部數(shù) 據(jù)據(jù)存儲(chǔ)器中執(zhí)行;存儲(chǔ)器中執(zhí)行; 指令的周期數(shù)適用于單指令執(zhí)行,不適用于重指令的周期數(shù)適用于單指令執(zhí)行,不適用于重復(fù)方式。復(fù)方式。 3.3 典型指令說明典型指令說明申明申明直接尋址時(shí)一律認(rèn)為直接尋址時(shí)一律認(rèn)為DP指針已經(jīng)指向要尋址的數(shù)指針已經(jīng)指向要尋址的數(shù)據(jù)區(qū),就不用再重新裝載據(jù)區(qū),就不
21、用再重新裝載DP;而間接尋址時(shí)則認(rèn)為而間接尋址時(shí)則認(rèn)為ARP已經(jīng)指到當(dāng)前輔助寄存器已經(jīng)指到當(dāng)前輔助寄存器AR,而也不用再單獨(dú)聲明當(dāng)前,而也不用再單獨(dú)聲明當(dāng)前AR的值。的值。 1.ADD指令指令 對(duì)累加器的加操作指令對(duì)累加器的加操作指令A(yù)DD:將數(shù)據(jù)存儲(chǔ)器單元的數(shù):將數(shù)據(jù)存儲(chǔ)器單元的數(shù)或立即數(shù)左移后加至累加器?;蛄⒓磾?shù)左移后加至累加器。結(jié)果存在累加器中結(jié)果存在累加器中 。 移位時(shí),低位填移位時(shí),低位填0,高位在,高位在SXM1時(shí)為符號(hào)擴(kuò)展,時(shí)為符號(hào)擴(kuò)展,在在SXM0時(shí)填時(shí)填0。 尋址短立即數(shù)時(shí),加操作不受尋址短立即數(shù)時(shí),加操作不受SXM的影響,且不能的影響,且不能重復(fù)執(zhí)行。重復(fù)執(zhí)行。 ADD 5
22、,2;(;(DP=4:20027Fh)將)將數(shù)據(jù)存儲(chǔ)器單元數(shù)據(jù)存儲(chǔ)器單元0205h的內(nèi)容左移的內(nèi)容左移2位之后與位之后與ACC相加,相加,結(jié)果存在結(jié)果存在ACCADD *+,2,AR0;(;( ARP=4,AR4=282)將)將數(shù)據(jù)存儲(chǔ)器單元數(shù)據(jù)存儲(chǔ)器單元282的內(nèi)容左移的內(nèi)容左移2位之后加至位之后加至ACC,結(jié),結(jié)果存在果存在ACC,指令執(zhí)行后,指令執(zhí)行后AR4=283,ARP0ADD #2;短立即數(shù);短立即數(shù)2與與ACC相加,結(jié)相加,結(jié)果存在果存在ACCADD #1111h,2;長(zhǎng)立即數(shù);長(zhǎng)立即數(shù)1111h左移左移2位后與位后與ACC相加,結(jié)果存在相加,結(jié)果存在ACC2. AND指令指令和
23、累加器邏輯和累加器邏輯“與與”操作指令操作指令A(yù)ND :實(shí)現(xiàn)被尋址單元:實(shí)現(xiàn)被尋址單元的內(nèi)容和累加器的邏輯的內(nèi)容和累加器的邏輯“與與”操作,以及長(zhǎng)立即數(shù)經(jīng)操作,以及長(zhǎng)立即數(shù)經(jīng)過移位之后和連接器進(jìn)行邏輯過移位之后和連接器進(jìn)行邏輯“與與”操作。操作。邏輯邏輯“與與”操作之后的結(jié)果保存在累加器中。操作之后的結(jié)果保存在累加器中。 AND 16;(;(DP4:20027Fh)將)將數(shù)據(jù)存儲(chǔ)器單元數(shù)據(jù)存儲(chǔ)器單元0210h的內(nèi)容與的內(nèi)容與ACC的內(nèi)容進(jìn)行邏輯的內(nèi)容進(jìn)行邏輯“與與”操作,結(jié)果保留在操作,結(jié)果保留在ACC中。中。AND *;(;(ARP=0,AR0=301h)將數(shù)據(jù)存儲(chǔ)器單元將數(shù)據(jù)存儲(chǔ)器單元03
24、01h的內(nèi)容與的內(nèi)容與ACC的內(nèi)容進(jìn)行邏的內(nèi)容進(jìn)行邏輯輯“與與”操作,結(jié)果保留在操作,結(jié)果保留在ACC中。中。AND #00FFh,4;將立即數(shù);將立即數(shù)0FFh左移左移4位位之后和之后和ACC邏輯邏輯“與與”,結(jié)果保留在,結(jié)果保留在ACC中。中。3. BANZ指令指令輔助寄存器不等于零轉(zhuǎn)移指令輔助寄存器不等于零轉(zhuǎn)移指令BANZ:若當(dāng)前輔助:若當(dāng)前輔助寄存器內(nèi)容不為零,則控制轉(zhuǎn)移至指定的程序存儲(chǔ)寄存器內(nèi)容不為零,則控制轉(zhuǎn)移至指定的程序存儲(chǔ)器地址,否則控制轉(zhuǎn)移到下一條指令。器地址,否則控制轉(zhuǎn)移到下一條指令。當(dāng)前當(dāng)前AR的缺省修改為減的缺省修改為減1。該指令可用來實(shí)現(xiàn)程序的循環(huán)執(zhí)行。該指令可用來實(shí)
25、現(xiàn)程序的循環(huán)執(zhí)行。 MAR*,AR0;ARP指向指向AR0。LAR AR1,#3;AR1中裝入中裝入3。LAR AR0,#60h;AR0中裝入中裝入60h。P1 ADD *+,AR1;將;將AR0所指的數(shù)加所指的數(shù)加到到ACC,并將,并將AR0的值增的值增1,ARP指向指向AR1。BANZP1,AR0;若;若AR10則循環(huán)。則循環(huán)。4BCND指令指令條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令BCND:當(dāng)所規(guī)定的條件符合時(shí),控制:當(dāng)所規(guī)定的條件符合時(shí),控制轉(zhuǎn)移到指定的程序存儲(chǔ)器地址。轉(zhuǎn)移到指定的程序存儲(chǔ)器地址。 BCNDP1,LEQ;若;若ACC的內(nèi)容小于的內(nèi)容小于等于零時(shí),程序轉(zhuǎn)到等于零時(shí),程序轉(zhuǎn)到P1處開始執(zhí)
26、行。處開始執(zhí)行。 5. BIT指令指令位測(cè)試指令位測(cè)試指令BIT :將數(shù)據(jù)存儲(chǔ)器中的指定位的值復(fù)制:將數(shù)據(jù)存儲(chǔ)器中的指定位的值復(fù)制到狀態(tài)寄存器到狀態(tài)寄存器ST1的的TC位。位。 將該指令和將該指令和BCND指令結(jié)合可判斷指定位的狀態(tài),并指令結(jié)合可判斷指定位的狀態(tài),并根據(jù)該位的狀態(tài)來控制程序的轉(zhuǎn)移。根據(jù)該位的狀態(tài)來控制程序的轉(zhuǎn)移。 BIT0h,15;(;(DP=6)測(cè)試)測(cè)試300h處的處的最低有效位。最低有效位。BCNDP1,TC;若該位為;若該位為1,則程序轉(zhuǎn)到,則程序轉(zhuǎn)到P1處執(zhí)行。處執(zhí)行。6BLDD指令指令數(shù)據(jù)存儲(chǔ)器至數(shù)據(jù)存儲(chǔ)器間的塊傳送數(shù)據(jù)存儲(chǔ)器至數(shù)據(jù)存儲(chǔ)器間的塊傳送BLDD :把指定
27、:把指定的數(shù)據(jù)存儲(chǔ)器源地址中的字拷貝到指定的數(shù)據(jù)存儲(chǔ)單的數(shù)據(jù)存儲(chǔ)器源地址中的字拷貝到指定的數(shù)據(jù)存儲(chǔ)單元目的地址中。元目的地址中。 源地址和目的地址可由長(zhǎng)立即數(shù)地址或數(shù)據(jù)存儲(chǔ)器源地址和目的地址可由長(zhǎng)立即數(shù)地址或數(shù)據(jù)存儲(chǔ)器地址指定。地址指定。注意:注意:如果源地址為長(zhǎng)立即數(shù),則目的地址只能為直接或如果源地址為長(zhǎng)立即數(shù),則目的地址只能為直接或間接;間接;如果源地址為直接或間接,則目的地址只能為長(zhǎng)立如果源地址為直接或間接,則目的地址只能為長(zhǎng)立即數(shù)。即數(shù)。說明說明 該指令不能用于存儲(chǔ)器映射的寄存器。該指令不能用于存儲(chǔ)器映射的寄存器。 使用使用RPT指令重復(fù)指令重復(fù)BLDD操作期間中斷被禁止。操作期間中斷
28、被禁止。 當(dāng)當(dāng)BLDD指令重復(fù)使用時(shí),由長(zhǎng)立即數(shù)指定的源指令重復(fù)使用時(shí),由長(zhǎng)立即數(shù)指定的源(目的)地址保存在(目的)地址保存在PC中,每次重復(fù)過程中中,每次重復(fù)過程中PC增增1,從而可以訪問一串源(目的)地址。從而可以訪問一串源(目的)地址。 若使用間接尋址方式來指定目的(源)地址,則若使用間接尋址方式來指定目的(源)地址,則在每次重復(fù)過程中,可以訪問一個(gè)新目的(源)地在每次重復(fù)過程中,可以訪問一個(gè)新目的(源)地址。址。 若使用直接尋址方式,所指定的源(目的)地址若使用直接尋址方式,所指定的源(目的)地址是個(gè)常數(shù),在重復(fù)過程中不會(huì)被修改。是個(gè)常數(shù),在重復(fù)過程中不會(huì)被修改。 BLDD #300h
29、,20h;(;(DP=6:300h37Fh)將)將數(shù)據(jù)存儲(chǔ)器單元數(shù)據(jù)存儲(chǔ)器單元300h的內(nèi)容復(fù)制到數(shù)據(jù)存儲(chǔ)器的內(nèi)容復(fù)制到數(shù)據(jù)存儲(chǔ)器320h。BLDD *+,#321h,AR3 ;執(zhí)行前:;執(zhí)行前:ARP=2,(AR2)=301h,(,(301h)=01h,(,(321h)=0Fh執(zhí)行后:執(zhí)行后:ARP=3,(AR2)=302h,(,(301h)=01h,(,(321h)=01h7. CLRC指令指令清除控制位指令清除控制位指令CLRC:指定的控制位清除為:指定的控制位清除為0。 指定的控制位為:指定的控制位為: C狀態(tài)寄存器狀態(tài)寄存器ST1的進(jìn)位位的進(jìn)位位CNF狀態(tài)寄存器狀態(tài)寄存器ST1的的R
30、AM配置控制位配置控制位INTM狀態(tài)寄存器狀態(tài)寄存器ST0的中斷方式位的中斷方式位OVM狀態(tài)寄存器狀態(tài)寄存器ST0的溢出方式位的溢出方式位SXM狀態(tài)寄存器狀態(tài)寄存器ST1的符號(hào)擴(kuò)展方式位的符號(hào)擴(kuò)展方式位TC狀態(tài)寄存器狀態(tài)寄存器ST1的測(cè)試的測(cè)試/控制標(biāo)志位控制標(biāo)志位XF狀態(tài)寄存器狀態(tài)寄存器ST1的的XF引腳狀態(tài)位引腳狀態(tài)位CLRCTC;將;將ST1的的TC位清零。位清零。注:用注:用LST指令也可裝入指令也可裝入ST0和和ST1寄存器。寄存器。8. IN指令指令從端口輸入數(shù)據(jù)指令從端口輸入數(shù)據(jù)指令I(lǐng)N:從一個(gè):從一個(gè)I/O單元讀一個(gè)單元讀一個(gè)16位位值到指定的數(shù)據(jù)存儲(chǔ)器單元。值到指定的數(shù)據(jù)存儲(chǔ)
31、器單元。 IN#7,1000h ;(;(DP=6)從端口地址為)從端口地址為1000h的的外設(shè)讀數(shù)據(jù),并將數(shù)據(jù)存于數(shù)據(jù)存儲(chǔ)器單元外設(shè)讀數(shù)據(jù),并將數(shù)據(jù)存于數(shù)據(jù)存儲(chǔ)器單元307h。IN*,5h ;從端口地址為;從端口地址為0005h的外設(shè)讀數(shù)的外設(shè)讀數(shù)據(jù),并將數(shù)據(jù)存至當(dāng)前輔助寄存器所指定的數(shù)據(jù)存據(jù),并將數(shù)據(jù)存至當(dāng)前輔助寄存器所指定的數(shù)據(jù)存儲(chǔ)器單元中。儲(chǔ)器單元中。9. LACC指令指令裝載累加器指令裝載累加器指令LACC:將指定的數(shù)據(jù)存儲(chǔ)器單元的:將指定的數(shù)據(jù)存儲(chǔ)器單元的內(nèi)容或一個(gè)內(nèi)容或一個(gè)16位常量左移后送入累加器。位常量左移后送入累加器。 移位時(shí),低位填移位時(shí),低位填0,高位在,高位在SXM1時(shí)
32、為符號(hào)擴(kuò)展,時(shí)為符號(hào)擴(kuò)展,在在SXM0時(shí)填時(shí)填0。 LACC5,4;(;(DP=8:40047fh)將數(shù))將數(shù)據(jù)存儲(chǔ)器單元據(jù)存儲(chǔ)器單元0405h的內(nèi)容左移的內(nèi)容左移4位之后送到位之后送到ACC。LACC*,4;(;(ARP=2,AR2=305h)將)將數(shù)據(jù)存儲(chǔ)器單元數(shù)據(jù)存儲(chǔ)器單元0305h的內(nèi)容左移的內(nèi)容左移4位之后送到位之后送到ACC。LACC#1234h,2 ;將長(zhǎng)立即數(shù);將長(zhǎng)立即數(shù)1234h左移左移2位位之后送到之后送到ACC。10. LACL指令指令裝載累加器低位并清零累加器高位指令裝載累加器低位并清零累加器高位指令LACL:將被尋:將被尋址數(shù)據(jù)存儲(chǔ)器單元的內(nèi)容或者被零擴(kuò)展的址數(shù)據(jù)存儲(chǔ)
33、器單元的內(nèi)容或者被零擴(kuò)展的8位常量裝入位常量裝入累加器的低累加器的低16位,累加器的高半部分填零。位,累加器的高半部分填零。 注意注意數(shù)據(jù)被作為無符號(hào)的數(shù)據(jù)被作為無符號(hào)的16位數(shù)來處理,而非二進(jìn)制補(bǔ)位數(shù)來處理,而非二進(jìn)制補(bǔ)碼。碼。無論無論SXM為何狀態(tài),該指令的操作數(shù)抑制符號(hào)擴(kuò)展。為何狀態(tài),該指令的操作數(shù)抑制符號(hào)擴(kuò)展。 LACL#10h;將;將10h裝載入裝載入ACC。LACL1;(;(DP6:300h37Fh)將數(shù)據(jù)存儲(chǔ)器單元將數(shù)據(jù)存儲(chǔ)器單元301h的內(nèi)容裝載入的內(nèi)容裝載入ACCLACL*-,AR4;(;(ARP=0,AR0=301h,(301h)2)將數(shù)據(jù)存儲(chǔ)器單元)將數(shù)據(jù)存儲(chǔ)器單元301
34、h的內(nèi)容裝載的內(nèi)容裝載入入ACC,指令執(zhí)行完后,指令執(zhí)行完后AR0=0300h,ARP=4。11. MAR指令和指令和LAR指令指令修改輔助寄存器指令修改輔助寄存器指令MAR:修改輔助寄存器:修改輔助寄存器ARP的值的值,該指令在直接尋址方式下相當(dāng)于該指令在直接尋址方式下相當(dāng)于NOP指令。指令。 裝載輔助寄存器指令裝載輔助寄存器指令LAR:將數(shù)據(jù)存儲(chǔ)器的值裝載入:將數(shù)據(jù)存儲(chǔ)器的值裝載入輔助寄存器。輔助寄存器。 LAR和和SAR指令可在子程序調(diào)用或中斷處理時(shí)裝載指令可在子程序調(diào)用或中斷處理時(shí)裝載和存儲(chǔ)輔助寄存器,從而實(shí)現(xiàn)在中斷或子程序調(diào)用時(shí)和存儲(chǔ)輔助寄存器,從而實(shí)現(xiàn)在中斷或子程序調(diào)用時(shí)上下文的保
35、存。上下文的保存。 MAR*,AR1;指定當(dāng)前輔助寄存器;指定當(dāng)前輔助寄存器為為AR1。MAR *,AR5 ;將當(dāng)前輔助寄存器;將當(dāng)前輔助寄存器(AR1)增)增1,并向,并向ARP裝入裝入5。LARAR1,5H;(;(DP=4:0200h027fh)將數(shù)據(jù)存儲(chǔ)器地址)將數(shù)據(jù)存儲(chǔ)器地址0205h的內(nèi)容裝入的內(nèi)容裝入AR1寄存寄存器。器。LARAR1,#50H;將短立即數(shù);將短立即數(shù)0050h裝裝入入AR1寄存器。寄存器。LARAR1,#1234H;將長(zhǎng)立即數(shù);將長(zhǎng)立即數(shù)1234h裝裝入入AR1寄存器。寄存器。12. LDP指令指令裝載數(shù)據(jù)頁(yè)指針指令裝載數(shù)據(jù)頁(yè)指針指令LDP:將被尋址數(shù)據(jù)存儲(chǔ)器單:
36、將被尋址數(shù)據(jù)存儲(chǔ)器單元的元的9位最低有效位或位最低有效位或9位立即數(shù)轉(zhuǎn)入狀態(tài)寄存器位立即數(shù)轉(zhuǎn)入狀態(tài)寄存器ST0的數(shù)據(jù)頁(yè)指針的數(shù)據(jù)頁(yè)指針DP。 LDP 5;(DP=5:地址:地址0280h02FFh)。 DP也可由也可由LST指令裝入。指令裝入。 13. LST指令指令裝載狀態(tài)寄存器指令裝載狀態(tài)寄存器指令LST :將被尋址數(shù)據(jù)存儲(chǔ)器單:將被尋址數(shù)據(jù)存儲(chǔ)器單元中的值裝入指定的狀態(tài)寄存器(元中的值裝入指定的狀態(tài)寄存器(ST0或或ST1)。)。 MAR *,AR0LST #0,*,AR1;將輔助寄存器;將輔助寄存器AR0所尋址所尋址的數(shù)據(jù)存儲(chǔ)器單元內(nèi)容送入狀態(tài)寄存器的數(shù)據(jù)存儲(chǔ)器單元內(nèi)容送入狀態(tài)寄存器S
37、T0,但不包括但不包括INTM位。盡管指定了下一個(gè)位。盡管指定了下一個(gè)ARP值,但該值被忽略,值,但該值被忽略,ARP不送入不送入ARB。LST #1,0h;(;(DP=6:300h37Fh)將)將數(shù)據(jù)存儲(chǔ)器單元數(shù)據(jù)存儲(chǔ)器單元300h的內(nèi)容裝入的內(nèi)容裝入ST1。LST指令用于子程序調(diào)用和中斷后恢復(fù)狀態(tài)寄存器。指令用于子程序調(diào)用和中斷后恢復(fù)狀態(tài)寄存器。注意注意(1)LST #0 操作向操作向ARP裝入新值,但并不影響裝入新值,但并不影響ST1寄存器中的寄存器中的ARB字段。字段。(2)LST #1 操作中,送入操作中,送入ARB的值也被送入的值也被送入ARP。(3)若在間接尋址方式下用一個(gè)操作數(shù)
38、來指定下)若在間接尋址方式下用一個(gè)操作數(shù)來指定下一個(gè)一個(gè)AR值,則該操作數(shù)將被忽略,與之替代的是值,則該操作數(shù)將被忽略,與之替代的是將被尋址數(shù)據(jù)存儲(chǔ)器單元所含的將被尋址數(shù)據(jù)存儲(chǔ)器單元所含的3位最高有效位送位最高有效位送入入ARP。(4)狀態(tài)寄存器中的保留位讀出總為)狀態(tài)寄存器中的保留位讀出總為1。寫這些位。寫這些位不起作用。不起作用。14. LTD指令指令裝載裝載TREG寄存器指令寄存器指令LTD:將數(shù)據(jù)寄存單元的內(nèi)容:將數(shù)據(jù)寄存單元的內(nèi)容加載到加載到TREG。 按按PM狀態(tài)位指定的方式對(duì)乘積寄存器的內(nèi)容進(jìn)行移位,狀態(tài)位指定的方式對(duì)乘積寄存器的內(nèi)容進(jìn)行移位,并把移位后的值與并把移位后的值與AC
39、C相加,結(jié)果放在相加,結(jié)果放在ACC中。中。指定的數(shù)據(jù)存儲(chǔ)單元的內(nèi)容拷貝到地址加指定的數(shù)據(jù)存儲(chǔ)單元的內(nèi)容拷貝到地址加1的數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)存儲(chǔ)單元。單元。 LTD 123;(;(DP=5:028002FFh,PM=0:乘:乘積不移位)執(zhí)行前:(積不移位)執(zhí)行前:(2FBh)=0022h,(,(2FCh)=0000h,(,(TREG)=0003h,(,(PREG)=000Fh,(ACC)=0005h。執(zhí)行后:(。執(zhí)行后:(2FBh)=0022h,(2FCh)=0022h,(,(TREG)=0022h,(,(PREG)=000Fh,(,(ACC)=14h。LTD *,AR3;(;(PM0)執(zhí)行前:)執(zhí)
40、行前:ARP=1,(AR1)=02FBh,(,(2FBh)=0022h,(,(2FCh)=0000h,(,(TREG)=0003h,(,(PREG)=000Fh,(ACC)=0005h。執(zhí)行后:。執(zhí)行后:ARP=3,(,(AR1)=02FBh,(,(2FBh)=0022h,(,(2FCh)=0022h,(TREG)=0022h,(,(PREG)=000Fh,(,(ACC)=0014h。注意注意數(shù)據(jù)傳送功能可通過連續(xù)存儲(chǔ)塊的邊界;數(shù)據(jù)傳送功能可通過連續(xù)存儲(chǔ)塊的邊界;該指令移動(dòng)數(shù)據(jù)的功能不能用于外部數(shù)據(jù)寄存器或該指令移動(dòng)數(shù)據(jù)的功能不能用于外部數(shù)據(jù)寄存器或存儲(chǔ)器映射的寄存器;存儲(chǔ)器映射的寄存器;若若
41、LTD被用于外部數(shù)據(jù)存儲(chǔ)器,則功能與被用于外部數(shù)據(jù)存儲(chǔ)器,則功能與LTA相同。相同。 15. MACD指令指令乘且累加并帶數(shù)據(jù)移動(dòng)指令乘且累加并帶數(shù)據(jù)移動(dòng)指令MACD:可以完成以下功:可以完成以下功能:能:(1) 按按PM狀態(tài)位指定的方式把先前的乘積移位狀態(tài)位指定的方式把先前的乘積移位,再再與與ACC的內(nèi)容相加;的內(nèi)容相加;(2) 把指定的數(shù)據(jù)存儲(chǔ)單元的內(nèi)容加載到把指定的數(shù)據(jù)存儲(chǔ)單元的內(nèi)容加載到TREG;(3) 將存放在將存放在TREG寄存器中的數(shù)據(jù)存儲(chǔ)單元值乘寄存器中的數(shù)據(jù)存儲(chǔ)單元值乘以指定的程序存儲(chǔ)器地址中的內(nèi)容;以指定的程序存儲(chǔ)器地址中的內(nèi)容;(4) 將指定的數(shù)據(jù)存儲(chǔ)器地址中的內(nèi)容復(fù)制到
42、下一將指定的數(shù)據(jù)存儲(chǔ)器地址中的內(nèi)容復(fù)制到下一個(gè)數(shù)據(jù)存儲(chǔ)器。個(gè)數(shù)據(jù)存儲(chǔ)器。MACD0FF00h,08h;(;(DP=6:0300h037Fh;PM=0;CNF=1:B0配置為程序存儲(chǔ)器)配置為程序存儲(chǔ)器)執(zhí)行前:數(shù)據(jù)存儲(chǔ)器(執(zhí)行前:數(shù)據(jù)存儲(chǔ)器(308h)=23h,(,(309h)=18h,程序存儲(chǔ)器(程序存儲(chǔ)器(FF00h)=4h,(,(TREG)=45H,(PREG)458972h,(,(ACC)=723EC41h。執(zhí)行后:數(shù)據(jù)存儲(chǔ)器(執(zhí)行后:數(shù)據(jù)存儲(chǔ)器(308h)=23h,(,(309h)=23h,程序存儲(chǔ)器(程序存儲(chǔ)器(FF00h)=4h,(,(TREG)=23H,(PREG)8Ch,(,
43、(ACC)=76975B3h。說明說明當(dāng)重復(fù)當(dāng)重復(fù)MAC指令時(shí)指令時(shí),每重復(fù)一次包含在每重復(fù)一次包含在PC中的程序存中的程序存儲(chǔ)器地址加儲(chǔ)器地址加1。若使用間接尋址指定數(shù)據(jù)存儲(chǔ)器地址則每次重復(fù)時(shí)就若使用間接尋址指定數(shù)據(jù)存儲(chǔ)器地址則每次重復(fù)時(shí)就可以訪問新的數(shù)據(jù)存儲(chǔ)器地址;可以訪問新的數(shù)據(jù)存儲(chǔ)器地址;若使用直接尋址方式指定的數(shù)據(jù)存儲(chǔ)器地址是常數(shù),若使用直接尋址方式指定的數(shù)據(jù)存儲(chǔ)器地址是常數(shù),重復(fù)時(shí)不會(huì)對(duì)其進(jìn)行修改。重復(fù)時(shí)不會(huì)對(duì)其進(jìn)行修改。若若MACD尋址存儲(chǔ)器映象寄存器或外部存儲(chǔ)器作為數(shù)尋址存儲(chǔ)器映象寄存器或外部存儲(chǔ)器作為數(shù)據(jù)存儲(chǔ)器單元,則據(jù)存儲(chǔ)器單元,則MACD功能與功能與MAC相同,數(shù)據(jù)移相同
44、,數(shù)據(jù)移動(dòng)不會(huì)發(fā)生。動(dòng)不會(huì)發(fā)生。16. MPY指令指令乘指令乘指令MPY: T寄存器內(nèi)容和被尋址數(shù)據(jù)存儲(chǔ)器單元寄存器內(nèi)容和被尋址數(shù)據(jù)存儲(chǔ)器單元的內(nèi)容相乘,其結(jié)果轉(zhuǎn)入的內(nèi)容相乘,其結(jié)果轉(zhuǎn)入P寄存器中。寄存器中。 若使用短立即數(shù)尋址,則若使用短立即數(shù)尋址,則T寄存器和帶符號(hào)的寄存器和帶符號(hào)的13位位常數(shù)相乘;常數(shù)相乘;無論無論SXM為何值,短立即數(shù)總是靠右對(duì)齊并在相乘為何值,短立即數(shù)總是靠右對(duì)齊并在相乘之前進(jìn)行符號(hào)擴(kuò)展。之前進(jìn)行符號(hào)擴(kuò)展。 MPY 5;(;(DP=4:0200h027Fh)將)將數(shù)據(jù)存儲(chǔ)器單元數(shù)據(jù)存儲(chǔ)器單元205h的內(nèi)容和的內(nèi)容和TREG寄存器中的內(nèi)寄存器中的內(nèi)容相乘,結(jié)果保存在容
45、相乘,結(jié)果保存在PREG中。中。MPY *,AR2;(;(ARP=1,AR1=40Dh)將數(shù))將數(shù)據(jù)存儲(chǔ)器單元據(jù)存儲(chǔ)器單元40Dh的內(nèi)容和的內(nèi)容和TREG寄存器中的內(nèi)寄存器中的內(nèi)容相乘,結(jié)果保留在容相乘,結(jié)果保留在PREG中,指令執(zhí)行完后中,指令執(zhí)行完后ARP=2MPY 031h;立即數(shù);立即數(shù)0031h和和TREG寄存器中寄存器中的內(nèi)容相乘,結(jié)果保存在的內(nèi)容相乘,結(jié)果保存在PREG中。中。17. RPT指令指令重復(fù)執(zhí)行下一條指令重復(fù)執(zhí)行下一條指令RPT:緊接:緊接RPT后的那條指令被后的那條指令被執(zhí)行執(zhí)行n次,次,n為為RPTC初值加初值加1。 若使用直接或間接尋址,則被尋址的數(shù)據(jù)存儲(chǔ)器單元
46、若使用直接或間接尋址,則被尋址的數(shù)據(jù)存儲(chǔ)器單元中的值送入重復(fù)計(jì)數(shù)器(中的值送入重復(fù)計(jì)數(shù)器(RPTC););若使用短立即數(shù)尋址,則若使用短立即數(shù)尋址,則8位立即數(shù)送入位立即數(shù)送入RPTC。RPT #20;執(zhí)行;執(zhí)行NOP指令指令21次。次。NOP說明說明在上下文切換時(shí)不能保存在上下文切換時(shí)不能保存RPTC的值,所以重復(fù)的值,所以重復(fù)循環(huán)被認(rèn)為是多周期指令,它不能被中斷。循環(huán)被認(rèn)為是多周期指令,它不能被中斷。器件復(fù)位時(shí),器件復(fù)位時(shí),RPTC被清零。被清零。 18. SACH指令指令移位并存儲(chǔ)累加器高位指令移位并存儲(chǔ)累加器高位指令SACH:將整個(gè)累加器復(fù):將整個(gè)累加器復(fù)制到輸出移位寄存器中,然后全部
47、制到輸出移位寄存器中,然后全部32位數(shù)左移位數(shù)左移0 7位,位,再將移位后數(shù)值的高再將移位后數(shù)值的高16位復(fù)制到數(shù)據(jù)存儲(chǔ)器。位復(fù)制到數(shù)據(jù)存儲(chǔ)器。 在移位時(shí),低位填零,高位丟失,累加器內(nèi)容不變。在移位時(shí),低位填零,高位丟失,累加器內(nèi)容不變。 SACH10,1;(;(DP4:0200h027Fh)將將ACC的左移的左移1位,高位,高16位存至數(shù)據(jù)存儲(chǔ)器單元位存至數(shù)據(jù)存儲(chǔ)器單元020Ah中。中。SACH*+,AR2;(;(ARP=1)將)將ACC的高的高16位存至位存至AR1指向的數(shù)據(jù)存儲(chǔ)器單元,操作完指向的數(shù)據(jù)存儲(chǔ)器單元,操作完成之后成之后ARP=2。19. SACL指令指令移位并存儲(chǔ)累加器低位指
48、令移位并存儲(chǔ)累加器低位指令SACL:將整個(gè)累加器復(fù):將整個(gè)累加器復(fù)制到輸出移位寄存器中,然后全部制到輸出移位寄存器中,然后全部32位數(shù)左移位數(shù)左移0 7位,位,再將移位后數(shù)值的低再將移位后數(shù)值的低16位復(fù)制到數(shù)據(jù)存儲(chǔ)器。位復(fù)制到數(shù)據(jù)存儲(chǔ)器。 在移位時(shí),低位填零,高位丟失,累加器內(nèi)容不在移位時(shí),低位填零,高位丟失,累加器內(nèi)容不變。變。SACL10,1;(;(DP4:0200h027Fh)將)將ACC的左移的左移1位,低位,低16位存至數(shù)據(jù)存儲(chǔ)位存至數(shù)據(jù)存儲(chǔ)器單元器單元020Ah中。中。SACH*+,AR2;(;(ARP=1)將)將ACC的高的高16位存至位存至AR1指向的數(shù)據(jù)存儲(chǔ)器單元,指向的數(shù)
49、據(jù)存儲(chǔ)器單元,操作完成之后操作完成之后ARP=2。20. SAR指令指令存儲(chǔ)輔助寄存器指令存儲(chǔ)輔助寄存器指令SAR:將指定的輔助寄存器:將指定的輔助寄存器(ARx)內(nèi)容存入被尋址數(shù)據(jù)存儲(chǔ)器單元。)內(nèi)容存入被尋址數(shù)據(jù)存儲(chǔ)器單元。 注意注意在間接尋址方式中,在間接尋址方式中,SAR指令同時(shí)也要對(duì)當(dāng)前輔助指令同時(shí)也要對(duì)當(dāng)前輔助寄存器內(nèi)容進(jìn)行修改時(shí),寄存器內(nèi)容進(jìn)行修改時(shí),SAR將在增、減輔助寄存將在增、減輔助寄存器內(nèi)容前將輔助寄存器值存至數(shù)據(jù)存儲(chǔ)器。器內(nèi)容前將輔助寄存器值存至數(shù)據(jù)存儲(chǔ)器。 SAR AR0,30h ;(;(DP=6:0300h037Fh)將將AR0的值存至數(shù)據(jù)存儲(chǔ)器單元的值存至數(shù)據(jù)存儲(chǔ)器
50、單元0330h中。中。SAR AR0,*+ ;將;將AR0的值存入其指向的數(shù)的值存入其指向的數(shù)據(jù)存儲(chǔ)器單元,同時(shí)據(jù)存儲(chǔ)器單元,同時(shí)AR0的值增的值增1。執(zhí)行前:執(zhí)行前:ARP=0,AR00400h,(,(0400h)0000h執(zhí)行后:執(zhí)行后:ARP=0,AR00401h,(,(0400h)0400h21. SBRK指令指令從當(dāng)前輔助寄存器中減去立即數(shù)指令從當(dāng)前輔助寄存器中減去立即數(shù)指令SBRK :從指定:從指定的輔助寄存器中減去的輔助寄存器中減去8位立即數(shù)值,其結(jié)果替換原有位立即數(shù)值,其結(jié)果替換原有的輔助寄存器中的內(nèi)容。的輔助寄存器中的內(nèi)容。 減法在輔助寄存器算術(shù)單元(減法在輔助寄存器算術(shù)單元(ARAU)中進(jìn)行,立)中進(jìn)行,立即數(shù)值作為即數(shù)值作為8位正數(shù)處理。位正數(shù)處理。所有輔助寄存器的算術(shù)運(yùn)算都是無符號(hào)的。所有輔助寄存器的算術(shù)運(yùn)算都是無符號(hào)的。 SBRK#20h;指令執(zhí)行前:;指令執(zhí)行前:ARP=5,AR5=0050h,;指令執(zhí)行后:;指令執(zhí)行后:ARP=5,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版酒店廚房員工職業(yè)發(fā)展與晉升合同3篇
- 2025年度M100燃料油質(zhì)量檢測(cè)與認(rèn)證合同3篇
- 五千以內(nèi)加減法水平練習(xí)題大全附答案
- 2025年度文化創(chuàng)意產(chǎn)品定制采購(gòu)合同樣板
- 養(yǎng)老院管理規(guī)定與合同
- 2024年離婚流程簡(jiǎn)化協(xié)議
- 城市電力管溝施工安全管理方案
- 2024年標(biāo)準(zhǔn)長(zhǎng)期股權(quán)投資合作模板合同版
- 2024年項(xiàng)目保密協(xié)議范例3篇
- 2024年養(yǎng)殖場(chǎng)承包合同范本:養(yǎng)殖場(chǎng)多業(yè)態(tài)經(jīng)營(yíng)與產(chǎn)業(yè)鏈整合3篇
- 期末檢測(cè)卷(三)2024-2025學(xué)年人教PEP版英語(yǔ)四年級(jí)上冊(cè)(含答案無聽力原文無聽力音頻)
- 吉首大學(xué)《高等數(shù)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 人教版(2024新版)八年級(jí)上冊(cè)物理期末必刷多項(xiàng)選擇題50題(含答案解析)
- 福建省福州市2023-2024學(xué)年高一上學(xué)期期末考試物理試卷 附答案
- PAS 2050:2011-商品和服務(wù)在生命周期內(nèi)的溫室氣體排放評(píng)價(jià)規(guī)范(中文)
- 手術(shù)分級(jí)目錄(2023年修訂)
- 黑龍江省哈爾濱市2022-2023學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)
- 山東省青島市2023-2024學(xué)年高一上學(xué)期1月期末物理試題 含解析
- 2024國(guó)家開放大學(xué)《秘書實(shí)務(wù)》題庫(kù)內(nèi)附答案0521更新
- 2024年山東濟(jì)南軌道交通集團(tuán)運(yùn)營(yíng)有限公司招聘筆試參考題庫(kù)含答案解析
- 《雷達(dá)對(duì)抗原理》課件
評(píng)論
0/150
提交評(píng)論