資源描述:
《MSP430講義02》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、1、CPU內(nèi)核組成:16位的(ALU)算術(shù)運(yùn)算單元16個(gè)寄存器(PC、SP、SR、R4~R15)指令控制單元2、存儲(chǔ)器組織結(jié)構(gòu)3、外圍模塊寄存器地址它們被分配在相應(yīng)的字模塊或字節(jié)模塊當(dāng)中。分配在00-FFH中為字節(jié),分配在100-1FFH中為字。4、尋址模式:5、指令格式:1)書寫格式標(biāo)號(hào)指令助記符源操作數(shù),目的操作數(shù);注釋2)共有51條指令,其中有24條是模擬仿真指令。27條硬件指令。6、指令集說(shuō)明1)數(shù)據(jù)傳送指令2)數(shù)據(jù)運(yùn)算指令3)邏輯位操作指令4)跳轉(zhuǎn)與程序流程控制類指令5)多個(gè)指令仿真的宏指令6)堆棧指針尋址EXITCPU狀
2、態(tài)寄存器SR4個(gè)特殊功能寄存器,12個(gè)通用寄存器。特殊功能可操作的只有SR和SPEXITC進(jìn)位標(biāo)志Z零標(biāo)志N負(fù)標(biāo)志GIE中斷標(biāo)志它可以用指令改變CPUOffCPU控制位OscOff晶振控制位SCG0控制系統(tǒng)時(shí)鐘SCG1控制系統(tǒng)時(shí)鐘后4位是控制CPU的工作模式,工作模式在第三講中介紹EXITEXITEXITEXIT堆棧指針SP:它是在系統(tǒng)調(diào)用子程序或進(jìn)入中斷服務(wù)程序時(shí),保護(hù)程序計(jì)數(shù)器PC。堆棧指針SP總是指向堆棧的頂部。系統(tǒng)在壓棧時(shí),總是先將SP減2。然后在將要壓棧的內(nèi)容寫入該單元中(RAM)。系統(tǒng)彈棧時(shí)正好相反。在對(duì)堆棧操作上有兩中模
3、式:隱式和顯示模式。一是系統(tǒng)對(duì)它操作;一是用戶程序?qū)λ僮?。堆棧指針的起始地址是有高向低進(jìn)行,不同的芯片其地址是不同的。通用工作寄存器:它是應(yīng)用在大部分場(chǎng)合。它可以實(shí)現(xiàn)算術(shù)邏輯運(yùn)算,也可實(shí)現(xiàn)臨時(shí)的暫存單元,可實(shí)現(xiàn)字操作和字節(jié)操作。數(shù)據(jù)存儲(chǔ)器:這是一個(gè)使用頻率非常高的操作環(huán)境區(qū)域,不同的芯片他的可使用大小不同。一般稱這個(gè)區(qū)域叫做RAM區(qū)。程序存儲(chǔ)器:它是存放用戶程序代碼的區(qū)域,它分有三個(gè)區(qū)域,中斷向量區(qū)、用戶程序代碼區(qū)、引導(dǎo)程序代碼區(qū)。在使用功能模塊時(shí)的服務(wù)程序入口地址是已經(jīng)安排好的,只要用戶根據(jù)需要使用了它,就將使用的中斷入口地址放在
4、這里。而引導(dǎo)程序是芯片出廠后由廠家確定的,它由JATG去訪問(wèn),客戶不能調(diào)用。而程序區(qū)可連續(xù)存放用戶程序或不連續(xù)存放用戶程序,也存放用戶數(shù)據(jù)。EXIT尋址方式:所謂尋址就是在操作的過(guò)程中是如何使用不同的方式來(lái)確定操作數(shù)的地址,它包擴(kuò)源操作數(shù)和目的操作數(shù)。MSP430的源操作數(shù)的訪問(wèn)可有7種方式。1、操作數(shù)存放在通用寄存器中。稱寄存器尋址。2、通用寄存器中存放的源操作數(shù)的相對(duì)地址。又稱變址。3、符號(hào)模式尋址,它的地址是通過(guò)編譯后系統(tǒng)安排,這種指令在使用上也可以對(duì)固定的符號(hào)(如外部模塊定義的符號(hào)也可使用)該標(biāo)號(hào)的地址是緊跟在上一個(gè)語(yǔ)句之后。
5、一般用于指令跳轉(zhuǎn),也可用于數(shù)據(jù)操作。4、絕對(duì)地址它不同于上面的標(biāo)號(hào),它使用絕對(duì)地址符號(hào)ASEG地址或固定的外圍模塊地址。5、間接尋址:它與寄存器尋址很相似,不同的是寄存器存放的不是操作數(shù)而存放操作數(shù)的地址。使用時(shí)用·表示是間接尋址。6、間接增量尋址:與上述基本一致,但對(duì)目的操作數(shù)不能用。7、立即尋址:又叫立即數(shù)尋址。但對(duì)目的操作數(shù)不能用。EXIT中斷向量地址EXIT指令傳送方向EXIT數(shù)據(jù)傳送指令:MOV數(shù)據(jù)傳送CLR清除目的POP從目的彈出到目的中PUSH將字壓入堆棧SWPB字節(jié)交換例:MOV#1234,R5MOV#EDE,R10;
6、注:要事先對(duì)EDE定義才能用CLRR6CLR.B&EDE;對(duì)字節(jié)操作MOV#8912H,R10MOV#8912H,210HSWPBR7PUSHR9POPR13數(shù)據(jù)運(yùn)算指令:加法指令A(yù)DC進(jìn)位位加目的ADD源加目的ADDC帶進(jìn)位位源加目的DADC、DADD十進(jìn)制INC、INCD、減法指令:SUB、SUBC、DEC、DECD、SBC、CMP、TST注意:減法沒(méi)有十進(jìn)制運(yùn)算指令例:ADD@R13,0(R12)ADC2(R12)注意:當(dāng)運(yùn)算后都會(huì)引起SR中的某些標(biāo)志位變化,你可以用判斷這些標(biāo)志位來(lái)控制程序的去向.EXITEXIT邏輯運(yùn)算與位操
7、作類指令邏輯運(yùn)算:AND源與目的與BIC對(duì)位清零BIS對(duì)位置位BIT測(cè)試位XOR源與目的異或RLA算術(shù)左移RRA算術(shù)右移RLC通過(guò)進(jìn)位位算術(shù)左移RRC通過(guò)進(jìn)位位算術(shù)右移INV目的求反位操作:CLRC、CLRN、CLRZ、DINT、EINTSETC、SETZ、SETN跳轉(zhuǎn)與程序流程的控制指令:BR無(wú)條件在64K空間的長(zhǎng)轉(zhuǎn)移指令CALL子程序調(diào)用JC/JHSJZ/JEQJGE、JL、JMPJLOJN、JNC、JNE/JNZRET、RETI、NOP注:以上的控制要根據(jù)不同的條件來(lái)進(jìn)行(如根據(jù)測(cè)試或運(yùn)算指令,比較指令等。)例:BREXEC;轉(zhuǎn)
8、移到EXEC包含的地址中BR@R5;轉(zhuǎn)移到R5指向的地址中CALLR5CALLEXECCMP#15,R5JHSLABELBIT#10H,&P0INJCPROGAEXITEXIT源語(yǔ)句格式它包括匯編偽指令、匯編指令、宏偽指