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