




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
DSP尋址方式和指令系統立即尋址方式直接尋址方式間接尋址方式尋址方式在立即尋址方式下,指令字里包含了一個供該指令使用的常數立即數前面必須加“#”C2xx支持兩種立即尋址方式短立即數尋址長立即數尋址立即尋址方式該方式下,數據存儲器以128個字被分為若干塊,每個塊稱作數據頁,64K數據存儲器包含512個數據頁。當前的數據頁由狀態寄存器ST0的9位頁指針DP決定,CPU訪問的特定單元地址由數據頁和指令包含的7位偏移量產生。直接尋址方式指令寄存器的格式為:D15~8:指令類型D7:尋址方式D6~0:所尋址的數據存儲器的7位偏移量直接尋址方式利用8個輔助寄存器(AR0~AR7)提供間接尋址的16位地址,可以訪問64K數據存儲器的任意單元。當前的輔助寄存器由狀態寄存器ST0的3位指針ARP選定,它可以由MAR、LST指令或任何支持間接尋址的指令裝載。指令執行過程中,當前AR的內容用作被訪問的數據存儲器地址。間接尋址方式
8MSBs:指令類型,還包括數據移位信息
N:下一個輔助寄存器更新指示。0:ARP的內容保持不變1:ARP裝入ARB,NAR裝入ARP。
NAR:下一個輔助寄存器,NAR裝入ARP。間接尋址指令寄存器格式共六類(86條)累加器、算術、邏輯指令輔助寄存器、數據頁指針指令TREG、PREG、乘法指令轉移指令控制指令I/O、存儲器操作指令指令介紹累加器、算術、邏輯指令
(1)ABS
功能:累加器取絕對值;句法:ABS
執行:PC+1;|(ACC)|->ACC;0->C(正數不變;負數取反加1)狀態位:執行受OVM影響,結果影響C和OV
說明:當ACC為80000000h時,若沒有設置溢出模式(OVM=0),則結果為80000000h;若OVM=1,則結果為7FFFFFFFh。兩種情況OV均置位。(2)ADD
功能:加至累加器;句法:ADDdma[,shift];直接尋址,shift=0~16ADDind[,shift[,Arn]];間接尋址n=0~7ind:間接尋址操作選項
ADD#k ;短立即數尋址k:8位短立即數
ADD#lk[,shift];長立即數尋址lk:16位長立即數shift=0~15執行:PC+1;(ACC)+(dma)*2shift->ACC;or(ACC)+lk*2shift->ACC;or(ACC)+k->ACC
狀態位:執行受SXM(符號擴展)和OVM(結果)影響,結果影響C和OV
說明:若使用間接尋址并更新ARP,則必須聲明一個移位操作(0~16);短立即數尋址不受SXM位影響,并且不可重復執行。(3)ADDC
功能:帶進位加至累加器;句法:ADDCdma ;直接尋址
ADDCind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(ACC)+(dma)+C->ACC;
狀態位:執行受OVM影響,不受SXM影響,結果影響C和OV
說明:符號擴展位被抑制;進位位按正常方式產生。(4)ADDS
功能:符號抑制加至累加器;句法:ADDSdma ;直接尋址
ADDSind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(ACC)+(dma)->ACC;
狀態位:執行受OVM影響,不受SXM影響,結果影響C和OV
說明:符號擴展位被抑制;進位位按正常方式產生。(5)ADDT
功能:由Treg決定移位次數加至累加器;句法:ADDTdma;直接尋址
ADDTind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(ACC)+(dma)X2Treg(3:0)->ACC;
狀態位:執行受OVM和SXM影響,結果影響C和OV(6)AND功能:和累加器邏輯“與”;句法:ANDdma;直接尋址
ANDind[,Arn];間接尋址n=0~7ind:間接尋址操作選項
AND#lk[,shift];長立即數尋址lk:16位長立即數shift=0~16執行:PC+1;(ACC(15:0))AND(dma)->ACC(15:0)0->ACC(31:16);(ACC(31:0)ANDlk*2shift->ACC;狀態位:無說明:若使用直接或間接尋址,累加器高字被清零;若使用長立即數尋址,移位時,32位結果未被填充的高/低位清零。(7)CMPL功能:累加器求反;句法:CMPL執行:PC+1;(ACC)逐位取反->ACC狀態位:無說明:累加器內容被其邏輯反所代替。(8)LACC
功能:左移后裝入累加器;句法:LACCdma[,shift] ;直接尋址,shift=0~16LACCind[,shift[,Arn]];間接尋址n=0~7ind:間接尋址操作選項
LACC#lk[,shift] ;長立即數尋址lk:16位長立即數,shift=0~15
執行:PC+1;(dma)*2shift->ACC;orlk*2shift->ACC;
狀態位:執行受SXM影響說明:移位時,低位填0,高位由SXM位和符號位控制(9)LACL
功能:裝載累加器低位并清除累加器高位;句法:LACLdma ;直接尋址
LACLind[,Arn];間接尋址n=0~7ind:間接尋址操作選項
LACL#k ;短立即數尋址k:8位短立即數執行:PC+1;(dma)->ACC(15:0)0->ACC(31:16);ork->ACC(7:0)0->ACC(31:8);
狀態位:執行不受SXM影響說明:數據被當作無符號數處理(10)LACT
功能:由TREG決定左移次數裝入累加器;句法:LACTdma ;直接尋址,shift=0~15LACTind[,Arn]];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(dma)*2TREG(3:0)->ACC
狀態位:執行受SXM影響說明:移位時,低位填0,高位由SXM位和符號位控制(11)NEG
功能:累加器求補;句法:NEG
執行:PC+1;ACC*(-1)->ACC;
狀態位:執行受OVM影響,結果影響C和OV
說明:當ACC為80000000h時,若沒有設置溢出模式(OVM=0),則結果為80000000h,若OVM=1;則結果為7FFFFFFFh,兩種情況OV均置1;如果執行結果ACC=0,則C=1;否則C=0。(12)NORM功能:對累加器規格化;句法:NORMind執行:PC增加1,然后…
如果(ACC)=0:那么TC→1
否則,如果(ACC(31))XOR(ACC(30))=0
那么TC→0(ACC)×2→ACC按指定修改當前AR
否則TC→1;狀態位:影響TC(13)OR
功能:和累加器邏輯“或”;句法:ORdma ;直接尋址
ORind[,Arn];間接尋址n=0~7ind:間接尋址操作選項
OR#lk[,shift];長立即數尋址lk:16位長立即數shift=0~16
執行:PC+1;(ACC(31:0))OR(dma)->ACC(31:0);(ACC(31:0)ORlk*2shift->ACC;
狀態位:無說明:若使用長立即數尋址,移位時,32位結果未被填充的高/低位清零。(14)ROL
功能:累加器左移旋轉;句法:ROL
執行:PC+1;C→ACC(0)(ACC(31))→C(ACC(30:0))→ACC(31:1)
狀態位:不受SXM位影響,該指令影響C位;(15)ROR
功能:累加器右移旋轉;句法:ROR
執行:PC+1;C→(ACC(31)),ACC(0)→C,(ACC(31:1))→ACC(30:0)
狀態位:不受SXM位影響,該指令影響C位;(16)SACH
功能:移位并存儲累加器高字;句法:SACHdma[,shift2];直接尋址,shift2=0~7SACHind[,shift2[,Arn]];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(ACC*2shift)(高16位)->dma;
狀態位:不受SXM的影響說明:將整個32位累加器內容復制到輸出定標器,無符號左移0~7位,再將高16位結果保存。累加器的內容保持不變。(17)SACL
功能:移位并存儲累加器低字;句法:SACLdma[,shift2];直接尋址,shift2=0~7SACLind[,shift2[,Arn]];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(ACC*2shift)(低16位)->dma;
狀態位:不受SXM的影響說明:將整個32位累加器內容復制到輸出定標器,無符號左移0~7位,再將低16位結果保存。累加器的內容保持不變。(18)SFL
功能:累加器左移;句法:SFL
執行:PC+1;ACC(31)->CACC(30:0)->ACC(31:1)0->ACC(0)
狀態位:執行不受SXM影響,結果影響C(19)SFR
功能:累加器算術右移;句法:SFR
執行:PC+1;ACC(31:1)->ACC(30:0)ACC(0)->CifSXM=0,0->ACC(31)elseSXM=1ACC(31)->ACC(31);
狀態位:執行受SXM影響,結果影響C(20)SUB功能:從累加器減;句法:SUBdma[,shift] ;直接尋址,shift=0~16SUBind[,shift[,Arn]];間接尋址n=0~7ind:間接尋址操作選項
SUB#k ;短立即數尋址SUB#lk[,shift] ;長立即數尋址執行:PC+1;(ACC)-(dma)*2shift->ACC;or(ACC)-lk*2shift->ACC;or(ACC)-k->ACC狀態位:執行受SXM和OVM影響(短立即數不受SXM影響),結果影響C和OV說明:若未產生借位,C=1;若產生借位,C=0。(21)SUBB
功能:累加器帶借位減;句法:SUBBdma ;直接尋址
SUBBind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(ACC)-(dma)-C的邏輯反->ACC;
狀態位:執行受OVM(結果)影響,不受SXM影響,結果影響C和OV
說明:符號擴展位被抑制。(22)SUBC
功能:累加器條件減;句法:SUBCdma ;直接尋址
SUBCind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:對于(ACC)大于等于0并且(dma)大于等于0PC+1;(ACC)-(dma)×215->ALU輸出;若ALU輸出大于等于0,則ALU輸出×2+1->ACC,否則ACC×2->ACC
狀態位:不受SXM位影響,結果影響C和OV;說明:實現條件減法,可用于16位正數除法:16位被除數位于累加器低字,累加器高字清0,16位正除數存于數據存儲器,然后執行16次SUBC指令,商位于累加器低字,余數位于累加器高字。(23)SUBS功能:抑制符號擴展的累加器減;句法:SUBSdma ;直接尋址
SUBSind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(ACC)-(dma)->ACC;狀態位:執行受OVM(結果)影響,不受SXM影響,結果影響C和OV說明:符號擴展位被抑制;借位位按正常方式產生。(24)SUBT
功能:由Treg決定移位次數從累加器減;句法:SUBTdma;直接尋址
SUBTind;間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(ACC)-(dma)*2(TREG(3:0))->ACC;
狀態位:執行受SXM和OVM影響,結果影響C和OV
說明:若未產生借位,C=1;若產生借位,C=0。(25)XOR
功能:和累加器邏輯“異或”;句法:XORdma;直接尋址
XORind[,Arn];間接尋址n=0~7ind:間接尋址操作選項
XOR#lk[,shift];長立即數尋址lk:16位長立即數shift=0~16
執行:PC+1; (ACC(15:0))XOR(dma)->ACC(15:0)ACC(31:16)->ACC(31:16);or(ACC(31:0)XORlk*2shift->ACC(31:0);
說明:若使用長立即數尋址,移位時,32位結果未被填充的高低位清零。(26)ZALR
功能:清累加器低字并舍入裝載累加器高字;句法:ZALRdma ;直接尋址
ZALRind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(dma)->ACC(31:16);8000h->ACC(15:0);輔助寄存器指令(1)ADRK功能:當前輔助寄存器加1個短立即數;句法:ADRK#k ;立即尋址執行:PC+1;(當前AR)+k->AR;狀態位:無說明:k為8位正整數。(2)SBRK功能:當前輔助寄存器減1個短立即數;句法:SBRK#k ;立即尋址執行:PC+1;(當前AR)-k->AR;狀態位:無說明:k為8位正整數,無符號減法。(3)BANZ功能:當前輔助寄存器不為0則跳轉;句法:BANZpma[,ind[,Arn]];間接尋址n=0~7ind:間接尋址操作選項執行:if(當前AR)?0Thenpma->PCelse(PC)+2->pc狀態位:無說明:缺省的操作是當前的AR減1,初始化AR為N-1,可以執行N次循環。(4)CMPR功能:比較當前輔助寄存器和AR0;句法:CMPRCM;CM比較條件:00-相等;01-小于;10-大于;11-不等執行:比較結果->ST1.TC狀態位:影響TC說明:結果為真則TC=1;否則TC=0。(5)LAR功能:加載輔助寄存器句法:LARARx,dma;直接尋址,x=0~7LARARx,ind[,Arn];間接尋址n=0~7ind:間接尋址操作選項
LARARx,#k ;短立即數尋址k:8位短立即LARArx,#lk ;長立即數尋址lk:16位長立即數執行:PC+1;(dma)->ARx;orkorlk->ARx說明:無論SXM為何值,常數被當作一個無符號數。SAR句法:SARARx,dma;直接尋址,x=0~7SARARx,ind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;ARx->(dma);狀態位:無說明:無MAR功能:修改輔助寄存器句法:MARdma;直接尋址,類似于執行一條空指令
MARind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;修改當前的AR和ARP指針狀態位:無TREG、PREG和乘法指令(1)APAC功能:將乘積寄存器加至累加器;句法:APAC執行:PC+1;ACC+移位的PREG->ACC狀態位:執行受PM和OVM影響,結果影響C和OV說明:操作不受SXM影響,PREG總是符號擴展的。(2)LPH功能:將數據存儲器的內容裝入乘積寄存器高字;句法:LPHdma;直接尋址
LPHind[,ARn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(數據存儲器)->PREG(31:16)狀態位:無說明:將數據存儲器的內容裝入乘積寄存器高字,低字不受影響。(3)LT功能:裝載TREG句法:LTdma;直接尋址
LTind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(dma)->TREG狀態位:無(4)LTA功能:裝載TREG,累加前一次的乘積結果句法:LTAdma;直接尋址
LTAind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(dma)->TREG;ACC+移位的PREG->ACC狀態位:執行受PM和OVM影響,結果影響C和OV說明:對應的指令是LTS(裝載TREG,減去前一次的乘積結果)(5)LTD功能:裝載TREG,累加前一次的乘積結果,同時移動數據句法:LTDdma;直接尋址LTDind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(dma)->TREG;(DMA)->DMA+1;ACC+移位的PREG->ACC狀態位:執行受PM和OVM影響,結果影響C和OV說明:只能用于片上的數據RAM操作,數據移動可以跨越數據頁(6)LTP功能:裝載TREG,前一次的乘積結果保存到累加器句法:LTPdma;直接尋址LTPind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(dma)->TREG;移位的PREG->ACC狀態位:執行受PM影響說明:無(7)LTS功能:裝載TREG,減去前一次的乘積結果句法:LTSdma;直接尋址
LTSind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(dma)->TREG;ACC-移位的PREG->ACC狀態位:執行受PM和OVM影響,結果影響C和OV說明:(8)MAC功能:乘加操作句法:MACpma,dma;直接尋址MACpma,ind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC->MSTACK;pma->PC;ACC+移位的PREG->ACC;(dma)->TREG;(pma)*TREG->PREG;輔助寄存器操作;
PC+1->PC;如果無重復操作,MSTACK->PC狀態位:執行受PM和OVM影響,結果影響C和OV說明:比較適于多項式計算,類似指令MACD。(9)MACD功能:乘加及數據移動操作句法:MACDpma,dma;直接尋址MACDpma,ind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC->MSTACK;pma->PC;ACC+移位的PREG->ACC;(dma)->TREG;(pma)*TREG->PREG;輔助寄存器操作;(dma)->dma+1; PC+1->PC;如果無重復操作,MSTACK->PC狀態位:執行受PM和OVM影響,結果影響C和OV說明:(10)MPY功能:有符號數乘法操作句法:MPYdma;直接尋址MPYind[,Arn];間接尋址n=0~7ind:間接尋址操作選項MPY#k;短立即數尋址,k:13位短立即數執行:PC+1;(dma)*TREG->PREG;k*TREG->PREG狀態位:無說明:短立即數為13位有符號常數,直接符號擴展,不受SXM的影響(11)MPYA功能:乘法操作并累加前一次的乘積結果句法:MPYAdma;直接尋址MPYAind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;ACC+移位的PREG->ACC;(dma)*TREG->PREG;狀態位:執行受PM和OVM影響,結果影響C和OV說明:對應的指令是MPYS(乘法操作并減去前一次的乘積結果)(12)MPYS功能:乘法操作并減前一次的乘積結果句法:MPYSdma;直接尋址MPYSind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;ACC-移位的PREG->ACC;(dma)*TREG->PREG;狀態位:執行受PM和OVM影響,結果影響C和OV說明:(13)MPYU功能:無符號乘法操作句法:MPYUdma;直接尋址MPYUind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;無符號(dma)*無符號TREG->PREG;狀態位:無,不受SXM的影響說明:(14)PAC功能:乘積寄存器送給累加器句法:PAC執行:PC+1;移位的PREG->ACC;狀態位:受PM的影響說明:(15)SPAC功能:累加器與乘積寄存器相減句法:SPAC執行:PC+1;ACC-移位的PREG->ACC;狀態位:受PM和OVM的影響,不受SXM的影響,影響C和OV說明:PREG總是符號擴展(16)SPH功能:保存PREG高字句法:SPHdma;直接尋址
SPHind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;16位移位的PREG高字->(dma);狀態位:結果受PM影響說明:相關的指令SPL(保存PREG低字)(17)SPL功能:保存PREG低字句法:SPLdma;直接尋址
SPLind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;16位移位的PREG低字->(dma);狀態位:結果受PM影響說明:(18)SPM功能:確定PREG的移位模式句法:SPM常數執行:PC+1;常數送給乘積移位模式位;狀態位:影響PM說明:ST0(0,1)(19)SQRA功能:平方計算并累加前次乘積結果句法:SQRAdma;直接尋址
SQRAind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;ACC+移位的PREG->ACC;(dma)->TREG;(dma)*TREG->PREG;狀態位:執行受PM和OVM影響,結果影響C和OV說明:相對應的指令是SQRS(平方計算并減去前次乘積結果)。(20)SQRS功能:平方計算并減前次乘積結果句法:SQRAdma;直接尋址
SQRAind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;ACC-移位的PREG->ACC;(dma)->TREG;(dma)*TREG->PREG;狀態位:執行受PM和OVM影響,結果影響C和OV說明:轉移指令(1)B功能:無條件跳轉句法:Bpma[,ind[,Arn]];間接尋址n=0~7ind:間接尋址操作選項執行:pma->PC;間接尋址操作狀態位:無說明:相關指令BACC(ACC(15:0)->PC)(2)BACC功能:根據累加器低字的內容跳轉句法:BACC執行:ACC(15:0)->PC狀態位:無說明:(3)BANZ功能:輔助寄存器為不零跳轉句法:BANZpma[,ind[,Arn]];間接尋址n=0~7ind:間接尋址操作選項執行:如果當前AR不等于0,pma->PC;否則PC+2->PC;間接尋址操作狀態位:無說明:(4)BCND功能:有條件跳轉句法:BCNDpma,C1[C2,[C3]]]條件:EQ,NEQ,LT,LEQ,GT,GEQ,NC,C,NOV,OV,BIO,NTC,TC執行:ifC1andC2andC3pma->PC;狀態位:無說明:無(5)CALA功能:無條件調用句法:CALA執行:PC+1->TOS,ACC(15:0)->PC;狀態位:無說明:(6)CALL功能:無條件調用句法:CALLpma[,ind[,Arn]];間接尋址n=0~7ind:間接尋址操作選項執行:PC+2->TOS,pma->PC;間接尋址操作狀態位:無說明:(6)CC功能:有條件調用句法:CCpma,C1[C2,[C3]]]條件:EQ,NEQ,LT,LEQ,GT,GEQ,NC,C,NOV,OV,BIO,NTC,TC執行:ifC1andC2andC3thenPC+2->TOS,pma->PCelsePC+1;狀態位:無說明:無(7)INTR功能:軟件中斷句法:INTRk;k=0~31執行:PC+1->TOS對應中斷矢量內容->PC;狀態位:影響INTM;不受INTM的影響說明:INTM和中斷屏蔽不會影響INTR指令,一旦響應中斷,通過INTM=1來總的禁止中斷(8)NMI功能:非屏蔽中斷句法:NMI執行:PC+1->TOS;24H->PC;1->INTM;狀態位:影響INTM;不受INTM的影響說明:(9)RET功能:子程序調用或中斷調用返回句法:RET執行:(TOS)->PC;堆棧操作狀態位:無說明:(10)RETC功能:子程序調用或中斷調用條件返回句法:RETCcond1[,cond2][,cond3]…執行:ifcond1andcond2…,(TOS)->PC;堆棧操作;否則繼續狀態位:無說明:(11)TRAP功能:軟件陷阱中斷句法:TRAP執行:PC+1->TOS;22H->PC;狀態位:不影響INTM;不受INTM的影響說明:5控制指令(1)BIT功能:位測試句法:BITdma,bitcode;直接尋址bitcode:0~15BITind,bitcode[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(dma)的位(15-bitcode)->TC;狀態位:結果影響TC說明:拷貝數據存儲器的位值到TC(2)BITT功能:TREG確定位代碼的位測試句法:BITTdma;直接尋址BITind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(dma)的位(15-TREG(3:0))->TC;狀態位:結果影響TC說明:拷貝數據存儲器的位值到TC(3)CLRC功能:清除控制位句法:CLRCbit;bit:C,CNF,INTM,OVM,SXM,TC,XF執行:PC+1;0->bit;狀態位:無說明:相對應的指令SETC(置位控制位)(4)IDLE功能:系統空閑等待中斷句法:IDLE執行:PC不變;等待可屏蔽或不可屏蔽的硬件中斷;狀態位:受INTM的影響說明:該指令使系統進入低功耗模式。若INTM=0,中斷到來時,程序跳轉到相應的中斷服務程序;若INTM=1,中斷到來時,程序繼續執行。(5)LDP功能:加載數據頁指針句法:LDPdma;直接尋址
LDPind[,ARn];間接尋址
LDP#K;短立即數尋址執行:PC+1;(dma)的低9位->DP;K->DP狀態位:影響DP說明:k為9位的短立即數。(6)LST功能:加載狀態寄存器句法:LST#m,dma;直接尋址,m=0:ST0,m=1:ST1LST#m,ind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;(dma)->STm;狀態位:影響ST0或ST1,但不影響INTM說明:1)LST#0操作不影響ST1中的ARB位;2)LST#1操作裝載ARB的同時也加載ARP;3)間接尋址操作選項中指定下一個AR的操作被忽略;4)用于子程序或中斷調用現場保護;5)直接尋址時,通常選擇dma在數據頁0。相對應的指令有SST。(7)NOP功能:空操作句法:NOP;執行:PC+1;狀態位:無;說明:產生延時。(8)POP功能:出棧操作句法:POP;執行:PC+1;(TOS)->ACC(15:0),0->ACC(31:16);堆棧上彈一級狀態位:無;說明:(9)POPD功能:出棧操作句法:POPDdma;直接尋址
POPDind[,ARn];間接尋址執行:PC+1;(TOS)->dma;堆棧上彈一級狀態位:無;說明:(10)PSHD功能:入棧操作句法:PSHDdma;直接尋址
PSHDind[,ARn];間接尋址執行:PC+1;(dma)->TOS;堆棧下壓一級狀態位:無;說明:(11)PUSH功能:入棧操作句法:PUSH執行:PC+1;ACC(15:0)->TOS;堆棧下壓一級狀態位:無;說明:(12)RPT功能:重復下一條指令句法:RPTdma;直接尋址RPTind[,ARn];間接尋址n=0~7ind:間接尋址操作選項RPT#k;;短立即數尋址k:8位短立即數執行:PC+1;(dma)或k->RPTC;狀態位:無說明:指令重復N+1次,重復操作不可被中斷打斷。(13)SETC功能:設置控制位句法:SETCbit;bit:C,CNF,INTM,OVM,SXM,TC,XF執行:PC+1;1->bit;狀態位:無說明:(14)SST功能:保存狀態寄存器句法:SST#m,dma;直接尋址,m=0:ST0,m=1:ST1SST#m,ind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;STm->dma;狀態位:說明:I/O和存儲器指令(1)BLDD功能:數據存儲器空間內數據塊移動句法:BLDD#lk,dma;直接尋址,lk:16位長立即數BLDD#lk,ind[,Arn];間接尋址n=0~7ind:間接尋址操作選項BLDDdma,#lk;BLDDind,#lk[,Arn];執行:PC+1;PC->MSTACK;lk->PC;(源)->目的;間接尋址操作;PC+1->PC;(MSTACK)->PC說明:指令之后的第一個操作數為源地址,第二個操作數為目的地址;源地址在指令執行后自動加1(間接尋址、長立即數尋址);該指令不能應用于存儲器映射的控制寄存器;對應指令BLPD#PMA,DMA。(2)BLPD功能:從程序空間到數據存儲器空間的數據塊移動句法:BLPD#pma,dma;直接尋址,lk:16位長立即數BLPD#pma,ind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;PC->MSTACK;pma->PC;(源)->目的;間接尋址操作;PC+1->PC;(MSTACK)->PC狀態位:無說明:指令之后的第一個操作數為源地址,第二個操作數為目的地址。(3)DMOV功能:數據存儲器空間內數據向高地址的移動句法:DMOVdma;直接尋址,DMOVind[,ARn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;dma->(dma+1)狀態位:受CNF 的影響說明:DMOV只在DARAM塊內工作,也可穿過連續塊的邊界。(4)IN功能:從I/O端口讀取數據句法:INdma,IOPORT;直接尋址,IOPORT:16位I/O端口地址INind,IOPORT[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;IOPORT->地址A(15:0);數據D(15:0)->dma狀態位:無說明:讀取外部I/O端口的數據。相對應的指令是OUT(輸出數據到I/O端口)。(5)OUT功能:數據寫從I/O端口句法:OUTdma,IOPORT;直接尋址,IOPORT:16位I/O端口地址OUTind,IOPORT[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;IOPORT->地址A(15:0);數據D(15:0)->IOPORT狀態位:無說明:(6)SPLK功能:存儲長立即數到數據存儲器句法:SPLK#lk,dma;直接尋址,lk:16位長立即數
SPLK#lk,ind[,ARn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;lk->(dma);狀態位:無說明:初始化控制寄存器或數據存儲器(7)TBLR功能:表格讀取句法:TBLRdma;直接尋址TBLRind[,Arn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;然后PC->MSTACK;ACC(15:0)->PC;(pma)->dma;間接尋址操作;PC+1->PC狀態位:無說明:把累加器低字指定地址的PM單元的數據拷貝到指令指定的DM單元,指令執行后,PC自動加1,相對應的指令是TBLW(表格寫入)。(8)TBLW功能:表格寫句法:TBLWdma;直接尋址TBLWind[,ARn];間接尋址n=0~7ind:間接尋址操作選項執行:PC+1;然后PC->MSTACK;ACC(15:0)->
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CECS 10233-2022綠色建材評價建筑結構加固膠
- T/CECS 10008-2018供暖器具及供暖系統用釬焊板式換熱器
- T/CCOA 54-2023糧食中鎘和鉛快速同時檢測陽極溶出伏安法
- T/CCAAS 004-2022企業綠色文化建設評價標準
- T/CAPE 10105-2022核工業設備管理體系要求
- 餐飲經理考試題及答案
- 技術監督面試題及答案
- 圖書行業合同管理制度
- 宮崎駿的面試題及答案
- 工長晉升面試題及答案
- 《民航危險品運輸》學習通超星期末考試答案章節答案2024年
- 小學數學五年級下冊期末檢測雙向細目表、試卷、答案
- 山東省義務教育必修地方課程小學四年級上冊《環境教育》教案-全冊
- 中國高血壓防治指南(2024年修訂版)解讀(總)
- 職業規劃書-大數據與會計(三)
- 承包商入廠安全培訓考試題及完整答案【歷年真題】
- 創意手工智慧樹知到期末考試答案章節答案2024年湖北師范大學
- 食堂意見反饋制度
- 老舊小區改造管道開挖方案
- QCT1010-2023汽車離合器助力器
- 北京市大興區六年級下冊數學期末測試卷附答案
評論
0/150
提交評論