單片機(jī)原理及應(yīng)用-指令系統(tǒng)與匯編語(yǔ)言程序設(shè)計(jì)_第1頁(yè)
單片機(jī)原理及應(yīng)用-指令系統(tǒng)與匯編語(yǔ)言程序設(shè)計(jì)_第2頁(yè)
單片機(jī)原理及應(yīng)用-指令系統(tǒng)與匯編語(yǔ)言程序設(shè)計(jì)_第3頁(yè)
單片機(jī)原理及應(yīng)用-指令系統(tǒng)與匯編語(yǔ)言程序設(shè)計(jì)_第4頁(yè)
單片機(jī)原理及應(yīng)用-指令系統(tǒng)與匯編語(yǔ)言程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

指令系統(tǒng)與匯編語(yǔ)言程序設(shè)計(jì)3.1CPU寄存器

豐富、強(qiáng)大、靈活,16位處理,共400多條按功能:數(shù)據(jù)傳送、算術(shù)運(yùn)算、邏輯運(yùn)算、位操作、移位、控制、特殊等,

尋址方式多。S12CPU的內(nèi)部寄存器3.2尋址方式

概念---CPU執(zhí)行指令時(shí)確定操作數(shù)所在單元地址的方式。

S12有6大種尋址方式:(1)隱含尋址(INH)

如ROLA(循環(huán)左移,操作數(shù)A隱含在指令中)(2)立即數(shù)尋址(IMM)

如LDAA#$FF(將十六進(jìn)制數(shù)FF調(diào)入A中,#表示)(3)直接尋址(DIR)

如LDAA$55(8位地址)(4)擴(kuò)展尋址(EXT)

如LDAA$F03B(16位地址)(5)相對(duì)尋址(REL)SHIFT:LDAA#$55BRASHIFT(相對(duì)地址跳轉(zhuǎn))

(6)變址尋址(IDX)

特征:以變址寄存器X、Y、SP、PC的內(nèi)容為基址,再加上或減去一個(gè)偏移值如LDD6,X;(6+X)D(A),(6+X+1)D(B)LDAB$FF,Y;($FF+Y)BLDAA$7200,PC;($7200+PC)A

(7)累加器變址尋址如LDAAB,X;(B+X)A

LDAAD,Y;(D+Y)A(8)自動(dòng)增減的變址尋址如STAA1,-SP;SP-1SP,A(SP)(等效PSHA)LDX2,SP+;(SP)X,SP+2SP(等效PULX)(9)間接變址尋址(內(nèi)存中再取新地址)如LDAA[9,X];((9+X))A

JMP[D,PC];((D+PC))PC

3.3指令概覽3.3.1數(shù)據(jù)傳送指令1、寄存器裝載指令LoaD(注意:影響標(biāo)志位)

LDAA#$1FLDAB$40B0LDD2,XLDY2,SP+2、寄存器存儲(chǔ)指令:STore(影響標(biāo)志位)

STAA$3FSTD-$2000,PCSTY2,+SP3、寄存器傳送指令:Transfer注意:TAB、TBA影響標(biāo)志位,TFR不影響標(biāo)志位;實(shí)際只有上述3條指令,其余寫(xiě)法是為了兼容老版本MCU8位到16位:通過(guò)符號(hào)位擴(kuò)展后傳送16位到8位:舍棄高8位,只傳送低8位例:TABTFRA,YTAP(相當(dāng)于TFRA,CCR)4、寄存器交換指令:Exchange建議:平常使用時(shí),不應(yīng)使用位數(shù)不匹配的方式進(jìn)行數(shù)據(jù)交換。5、內(nèi)存數(shù)據(jù)傳送指令:Move特點(diǎn):1、不影響標(biāo)志位2、允許地址與地址間傳送3、傳送方向是->(例MOVB$1000,$2000)4、16位數(shù)據(jù)結(jié)構(gòu)是高位在前,低位在后(例:MOVW#$100A,$1100)MOVB1,X2,Y6、堆棧操作指令:PuSH、PULl特點(diǎn):1、各寄存器都可以入棧、出棧2、可以做8位、16位操作3、入棧時(shí)SP-1(2),出棧時(shí)SP+1(2)注:P53表4-7包含了所有與堆棧相關(guān)的指令7、有效地址加載指令:LEA

LoadEffectiveAddressLEAX$100A,Y注:不影響標(biāo)志位3.3.2算術(shù)運(yùn)算類(lèi)指令1、加、減法指令:ADD、SUBtract說(shuō)明:ABAAddBtoA(A+B)SBASubtractBfromA(A–B)2、增量、減量指令

INCrement、DECrement3、比較、檢測(cè)指令:CoMPara、TeST特點(diǎn):1、CMP作減法,結(jié)果不回傳,只影響標(biāo)志位2、TST固定減0,結(jié)果不回傳,只影響標(biāo)志位4、求補(bǔ)運(yùn)算指令:特點(diǎn):1、用0去減該值2、不對(duì)符號(hào)位進(jìn)行判斷5、十進(jìn)制調(diào)整指令:DAA

DecimalAdjustA特點(diǎn):1、是在加法操作之后進(jìn)行2、是對(duì)A進(jìn)行壓縮BCD碼加法調(diào)整3、只有這一條調(diào)整指令例:LDD#$3275ADDB#$69EXGA,BDAAEXGA,BADCA#$26DAA結(jié)果:D=?$59446、符號(hào)擴(kuò)展指令:SEX說(shuō)明:

1、根據(jù)最高位的值將8位擴(kuò)展為16位

2、源:A,B,CCR目的:D,X,Y,SP例:SEXA,X7、乘、除法指令

MULtiply、DIVide3.3.3邏輯指令1、基本邏輯運(yùn)算指令2、清零和取反指令

CLear、COMplement3、位操作和位檢測(cè)指令BCLR相當(dāng)與AND操作(BCLR$20,#$0F)BSET相當(dāng)與OR操作(BSET$20,#$0F)注意該指令與TST、AND的區(qū)別!4、移位指令LSLLogicShiftLeftASRArithmeticShiftRightRORROtateRight特點(diǎn):

1、ASR補(bǔ)最高位,其余補(bǔ)02、移出去的進(jìn)C標(biāo)志3.3.4程序控制類(lèi)指令1、無(wú)條件轉(zhuǎn)移指令:

JMP(Jump)

可以在64K范圍內(nèi)跳轉(zhuǎn)2、短分支跳轉(zhuǎn)指令是在當(dāng)前PC的值加上一個(gè)8位帶符號(hào)數(shù)的偏移量,即跳轉(zhuǎn)范圍:-128~+127BRABRanchAlwaysBRNBRanchNeverBCCBranchifCarryClearBCSBranchifCarrySetBEQBranchifEQualBMIBranchifMinusBPLBranchifPlusBHIBranchifHigherBHSBranchifHigherorSameBLOBranchifLowerBGTBranchifGreaterThan

注意:1、只作檢測(cè),滿足條件轉(zhuǎn)移,不影響標(biāo)志位2、結(jié)果不回傳例:BRCLR$20,#$81,LP1BRSET$20,#$80,LP23、長(zhǎng)分支跳轉(zhuǎn)指令特點(diǎn):

1、是在當(dāng)前PC的值加上一個(gè)16位帶符號(hào)數(shù)的偏移量,即跳轉(zhuǎn)范圍:-32768~+327672、與JMP指令實(shí)現(xiàn)的方法稍有不同,只能跳轉(zhuǎn)32K距離。

3、與短跳轉(zhuǎn)指令完全類(lèi)似4、循環(huán)控制指令特點(diǎn):1、不影響、不依賴(lài)標(biāo)志位

2、轉(zhuǎn)移范圍是-256~+255ADD:LDX#$0B00LEAY4,XLDAB#4CLCLOOP:LDAAXADCA1,Y+STAA1,X+DBNEB,LOOP5、子程序調(diào)用與返回指令特點(diǎn):1、BSR調(diào)用范圍為-128~+1272、JSR調(diào)用范圍為-32768~+32767,支持多種尋址方式,直接尋址方式必須在$0000~$00FF內(nèi)(例:JSR$50)3、CALL用于調(diào)用64K以外的子程序,用RTC指令返回3.3.5中斷指令特點(diǎn):1、進(jìn)入中斷時(shí),硬件自動(dòng)保護(hù)現(xiàn)場(chǎng),RTI指令將恢復(fù)現(xiàn)場(chǎng)及斷點(diǎn)2、SWI指令不受I、X的限制,且執(zhí)行時(shí)會(huì)自動(dòng)將I置1(即自動(dòng)關(guān)閉可屏蔽中斷),中斷向量表入口地址$FFF6-$FFF73、各硬件中斷有固定的入口地址表,中斷服務(wù)程序需用RTI指令返回3.3.6CPU控制類(lèi)指令特點(diǎn):1、STOP進(jìn)入偽停機(jī)模式,時(shí)鐘被關(guān)閉,功耗最低;當(dāng)有中斷或復(fù)位時(shí)被喚醒2、WAI進(jìn)入等待模式,時(shí)鐘仍在工作,當(dāng)有中斷或復(fù)位時(shí)被喚醒,喚醒速度快3.3.7

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論