ARM微控制器可以用組合語言程式設計嗎

時間 2021-09-02 04:54:47

1樓:匿名使用者

arm微控制器程式可以用組合語言進行編寫。除去協處理器(高階的arm微控制器才具有)的指令,常用的指令大致為msr、mrs、ldr、str、ldm、stm,orr、bic,test, add, sub,mul等指令。如果說想寫一寫彙編**玩一下的話還行。

原則上能用c語言則一定不會使用匯編。例如uboot的引導**,linux核心的啟動**都是用匯編寫的,本質是快速初始化以滿足c程式的執行條件。除了特殊的暫存器(如cpsr)要用專用的彙編指令(msr、mrs)外,對於讀寫暫存器操作一般使用ldr、str指令,也就對應於c語言的通過指標訪問記憶體。

在實際開發中,經常要讀寫暫存器。所以經常會使用到訪存指令(ldr、str),以及各種邏輯操作(add、sub、bic、orr、and)。如果設定到使用棧暫存資料還需要ldm和stm指令。

其實常用的也就這幾個。因此,可以用匯編寫微控制器程式,但還是那句話,能用c語言則不要使用匯編。因為把c程式轉化為彙編**那是編譯器做的事情。。。

2樓:匿名使用者

可以。請檢索arm微控制器的說明應用文件。

微控制器組合語言程式,必須是組合語言

3樓:

開發當然是用c,又快又易懂好維護,但是想要優化程式還是要懂彙編的,要不然實現同樣一個功能的程式,好的程式設計師可以把程式設計得又短又快,而不做優化的可能會又臭又長,2k以下可以搞定的,你非要搞到4k以上去那最終產品的成本每個至少會相差幾毛到一兩塊錢,而且成本升高時質量卻是下降的,這樣當然就不好了,所以我個人認為做微控制器程式設計,應當是彙編和c都會才是最好的,次一點的是會c,且能大致看懂彙編,可以幫助優化c程式,

只會彙編,一個程式開發下來,得花幾周到幾個月,開發成本太高了,不值得

只會c完全不懂彙編,那也是很難做出高質量的微控制器程式的

51微控制器組合語言學習軟體,51微控制器用組合語言需要什麼軟體?

我想告訴你,keil可以編輯彙編的檔案.你建好一個project後,在source group 1上點右鍵,選add files to group source group 1 這時,就可以選中你的asm檔案 要選asm檔案得先把對話方塊中的檔案類弄選為 雙擊就可以新增到source group 1...

組合語言程式設計微控制器 跪求高手

程式如下 mov r0,20h mov dptr,4000h mov r2,16 loop mov a,r0 movx dptr,a inc r0 inc dptr djnz r2,loop sjmp end mov r7,16 需要移動數的個數 mov r0,20h 20h開始地址 mov dpt...

微控制器組合語言設計

這樣寫也可以,就是你的disp程式裡面的loop程式迴圈體是個死迴圈,沒有出口,這樣程式一直執行。最後導致多次中斷呼叫,記憶體ram耗盡,然後宕機。做中斷程式有個原則,就是中斷處理函式儘可能的短。你這個程式太長,把主程式應該承擔的工作,放到中斷服務程式中去做,況且loop 的迴圈是用ajmp跳轉過去...