SOGO論壇

標題: 組合語言好難學唷 [列印本頁]

作者: students1    時間: 2012-4-8 20:34:31     標題: 組合語言好難學唷

彙編語言就是組合語言
感覺這種東西不好學唷
組合語言有32位元和64位元
那64位元的組合語言一定很難學唷
有人覺得組合語言很簡單的嗎???

作者: if8051    時間: 2012-4-8 23:12:57

組合語言 本來就是很難學,要自己記住 ROM  RAM  SP  PC 的地址,執行中斷服務程式,還要做中斷現場保護和
中斷現場恢復,總之短時間內很難上手!了解組合語言有一個好處,更能清楚 CPU 的工作原理,程式執行效率高。

單晶片微電腦 MCU   8 bit,已經很難搞定!何況 32 bit     64 bit,MCU 個人是使用 C 語言來編寫程式,RAM
的地址 compiler 編譯器自動幫我們處理了,只要宣告變數的 data type 資料型態即可,且 C 語言移植性高,換
個不同的 MCU,換個 header file 程式小改後就可適用;組合語言就不同了,不同 MCU 就有不同的命令集,想
早日會用 MCU,建議學 C 語言可以讓您神速上手完工收款。
作者: students1    時間: 2012-4-9 09:19:28

謝謝~~大大的回覆~~!!
我是看看大大會不會有認為組語好簡單的~~!!
哈~~!!

作者: alphi    時間: 2012-4-9 12:42:43

一般來說MCU依ISA(指令架構集)可以簡單分CISC(複雜指令集) /RISC(簡單指令集).
CISC由於通常記憶體定址複雜,且指令繁多造成學習上會比較複雜(例如8051,X86).而RISC指令集(ARM,MIPS,AVR)相對簡單.用簡單的指令兜出複雜的指令.只是在編譯器上會比較難做最佳化動作
另外組合語言還是有其必要性.像我在移植RTOS(ucOS-III/FreeRTOS)等在做Content-Switch(內容交換.作業系統有教)時還是得用組合語言去做會比較快速
例如我將ucOS-III移植到Cortex-M3系列上(STM32F207,LPC1768).就需要了解.當然也可以不用.但是了解組合語言對於你做最佳化程式設計跟成本降低有關
例如用組合語言寫跟硬體有關.用C寫跟演算法有關係.這樣搭配可以提升MCU效能.而且也可以降低其成本例如用組合語言+C,可能用31KB Flash,1KB RAM
但是用純C可能33KB Flash,1.02KB RAM.這樣就得再跳一級MCU.成本就上升

當然你的程式規模夠大(1萬行以上)其實用組合語言跟C效率已經沒差多少(現在編譯器做得還不錯)...主要是看開發者的演算法跟系統規劃才能有明顯的差異

一樣都是寫韌體為什麼有人可以高薪.有人過不下去...就是在專精跟其學習新技術跟演算法....
作者: Zigzap    時間: 2012-4-24 01:21:57

組合語言 本來就是很難學,例如用組合語言寫跟Hardware有關.用C寫跟Algrithm有關係.用組合語言跟C效率究竟差多少?!
還要看公司的商業評估,  alphi  所説的就是 公司 focus的 重點,  能接受新觀念新技術才能專精, 公司
只要看你工作的成果,  那個 過程 並不重要,  產能獲利才重要.




歡迎光臨 SOGO論壇 (https://oursogo.com/) Powered by OURSOGO.COM