資源描述:
《重慶大學(xué)通信工程學(xué)院 任勇、王永東.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、重慶大學(xué)通信工程學(xué)院任勇、王永東第3指令系統(tǒng)與匯編語言程序設(shè)計兼容以前的S12CPU豐富、強(qiáng)大、靈活,高速16位處理,共400多條按功能:數(shù)據(jù)傳送、算術(shù)運(yùn)算、邏輯運(yùn)算、位操作、移位、控制、特殊等,尋址方式多。3.1CPU內(nèi)部寄存器區(qū)別于I/O寄存器!6個16bit:D(A+B),X,Y,SP,PC,CCR重慶大學(xué)通信工程學(xué)院任勇、王永東3.2尋址方式概念---CPU執(zhí)行指令時確定操作數(shù)所在單元地址的方式。操作數(shù)來自:寄存器、指令代碼、存儲單元(都有地址)S12(X)有9大種尋址方式:(1)隱含尋址(INH)如ROLA(循環(huán)左移,操作數(shù)A隱含在指令中)(2)立
2、即數(shù)尋址(IMM)如LDAA#$FF(將十六進(jìn)制數(shù)FF調(diào)入A中,#表示)(3)直接尋址(DIR)如LDAA$55(8位地址)(4)擴(kuò)展尋址(EXT)如LDAA$200A(16位地址)(5)相對尋址(REL)SHIFT:LDAA#$55BRASHIFT(相對地址跳轉(zhuǎn))重慶大學(xué)通信工程學(xué)院任勇、王永東(6)變址尋址(IDX)特征:以變址寄存器X、Y、SP、PC的內(nèi)容為基址,再加或減個值,構(gòu)成最終的地址5位/9位/16位常數(shù)偏移量的變址尋址如LDD6,X;(6+X)?D(A),(6+X+1)?D(B)LDAB$FF,Y;($FF+Y)?BLDAA$7200,PC;
3、($7200+PC)?A(7)累加器變址尋址(IDX)累加器內(nèi)容做偏移量的變址尋址如LDAAB,X;(B+X)?ALDAAD,Y;(D+Y)?A(8)自加自減的變址尋址(IDX)自動加減(1~8),先加、先減、后加、后減如STAA1,-X;X-1?X,A?(X)STAA1,-SP;SP-1?SP,A?(SP)(等效PSHA)LDX2,SP+;(SP)?X,SP+2?SP(等效PULX)(9)間接變址尋址(IDX)16位常數(shù)/累加器D偏移量的間接變址尋址(內(nèi)存中再取新地址)如LDAA[1000,X];((1000+X))?AJMP[D,PC];((D+PC))
4、?PC變址尋址---重要而常用,表象:指令操作碼后的操作數(shù)是X,Y,SP,PC(指針)重慶大學(xué)通信工程學(xué)院任勇、王永東3.3指令概覽分類(表3-1):數(shù)據(jù)傳送指令算數(shù)運(yùn)算指令邏輯指令程序控制指令中斷指令CPU控制指令其它指令注:1、瀏覽書中指令內(nèi)容2、以后編程時再查閱、體會助記方法:英語含義,如:CLR=CleaRLDAA=LoaDAccumulatorASTAB=SToreAccumulatorBTAB=TransferAtoBMOVB=MoveByteBEQ=BranchEQualzero……重慶大學(xué)通信工程學(xué)院任勇、王永東3.3.1數(shù)據(jù)傳送類指令1、寄
5、存器加載指令:LoaD(注:影響標(biāo)志位)LDAA#$1FLDAB$40B0LDD2,XLDY2,SP+助記符功能操作LDAA將數(shù)據(jù)載入寄存器A(M)→ALDAB將數(shù)據(jù)載入寄存器B(M)→BLDD將數(shù)據(jù)載入寄存器D(M:M+1)→(A:B)LDS將數(shù)據(jù)載入寄存器SP(M:M+1)→SPH:SPLLDX將數(shù)據(jù)載入變址寄存器X(M:M+1)→XH:XLLDY將數(shù)據(jù)載入變址寄存器Y(M:M+1)→YH:YL重慶大學(xué)通信工程學(xué)院任勇、王永東2、寄存器存儲指令:STore(影響標(biāo)志位)STAA$3FSTD-$2000,PCSTY2,+SP助記符功能操作STAA將寄存器A
6、中內(nèi)容送入內(nèi)存單元(A)→MSTAB將寄存器B中內(nèi)容送人內(nèi)存單元(B)→MSTD將寄存器D中內(nèi)容送入內(nèi)存單元(A)→M,(B)→M+1STS將堆棧SP中內(nèi)容送入內(nèi)存單元(SPH:SPL)→M:M+1STX將變址寄存器x中內(nèi)容送人內(nèi)存單元(XH:XL)→M:M+1STY將變址寄存器Y中內(nèi)容送入內(nèi)存單元(YH:YL)→M:M+1重慶大學(xué)通信工程學(xué)院任勇、王永東3、寄存器傳送指令:Transfer注意:TAB、TBA影響標(biāo)志位,TFR不影響標(biāo)志位;實際只有上述3條指令,其余寫法是為了兼容老版本MCU8位到16位:通過符號位擴(kuò)展后傳送16位到8位:舍棄高8位,只傳送
7、低8位例:TABTFRA,YTAP(相當(dāng)于TFRA,CCR)助記符功能操作TAB將寄存器A中內(nèi)容送入寄存器B(A)→BTBA將寄存器B中內(nèi)容送人寄存器A(B)→ATFR寄存器之間的數(shù)據(jù)傳送(A、B、CCR、D、X、Y、SP)→A、B、CCR、D、X、Y、SPTSX將寄存器SP中內(nèi)容送入寄存器X(SP)→XTSY將寄存器SP中內(nèi)容送入寄存器Y(SP)→YTXS將寄存器X中內(nèi)容送入寄存器SP(X)→SPTYS將寄存器Y中內(nèi)容送入寄存器SP(Y)→SPTPA將寄存器CCR中內(nèi)容送人寄存器A(CCR)→ATAP將寄存器A中內(nèi)容送人寄存器CCR(A)→CCR重慶大學(xué)通
8、信工程學(xué)院任勇、王永東4、寄存器交換指令:Excha