天天看點

【軟體工程師學硬體】之 彙編

很多軟體工程師對硬體語言有一個誤解,也可能是聽硬體大哥哥們說的。那就是學硬體必須要會彙編語言,彙編?那是個搞死人的語言,天書般的。實際上不然,今天我幫大家澄清一下吧。

首先,硬體語言并非隻有彙編,可以C語言,也可以是python,甚至其它語言,如現在比較流行的arduino。但是不管什麼語言,都可以轉換成彙編語言,并最終編譯成機器語言。

其次,彙編語言雖然運作效率高,但并非随便一段彙編的效率都很高,關鍵還是我們編碼工程師,他們的經驗和智慧才能讓代碼具有高效率。

其三,彙編語言可以嵌入到進階語言中,也就是兩個混合着用,這樣有個好處,比如,有的定時器要求高精度丶微秒級,如果用進階語言,會有很多的備援指令,這些備援指令給編寫程式和編譯帶來友善,但是它也會占用一定的時間,這就會給定時結果帶來一定的誤差。為了盡可能減小誤差,同時又能充分發揮進階語言的友善性,将彙編語言嵌入到進階語言中混合編譯是一個通用的丶行之有效的辦法。

其四,彙編語言并非我們想象中的那麼晦澀,反之,它也很有趣,而且更直接,它直接操作機器指令,直接操作寄存器,隻是每一種單片機由于機器指令不一樣,彙編語句也會有些差別,但是整體來看大同小異。

整之,如果僅僅玩玩硬體,完全可以不需要了解彙編,如果想做一款性能要求高的或者成本比較低的産品,學一點彙編還是必要的。

【軟體工程師學硬體】之 彙編

繼續閱讀