汇编语言与高级语言
匯編語言與高級語言的區別
匯編無可移植性,C語言有一定可移植性,Java等更高級語言移植性更強。
匯編語言沒有可移植性。是由于每一款CPU都有其自己的指令集,即使是有相同的指令集的不同芯片,匯編的語法也可能會有所不同。匯編語言的編寫都是針對具體的某一種芯片,匯編語言對硬件的依賴程度很高。所以其可移植性很差。
相對于匯編語言,C語言有一定可移植性。用C語言編寫的代碼,可以用于不同的CPU上。每一款CPU都有其自己特定的C語言編譯器,用與之對應的C編譯器編譯出來的可執行程序,便可以正確的運行。
匯編語言效率最高,C語言次之,Java等更高級語言效率更低。
匯編難寫,C語言和高級語言好寫。
匯編不適合完成大型復雜的項目,更高級語言更適合完成更大、更復雜的項目。
匯編語言的本質
匯編的實質是機器指令(機器碼)的助記符,是一種低級符號語言。匯編器的工作就是將匯編語言替換成與之對應的機器碼。
機器指令集(匯編指令集)是一款CPU的編程特征,是這款CPU的設計者制定的。CPU的內部電路設計就是為了實現這些指令集的功能。機器指令集就好象是CPU的API接口一樣。
程序員用匯編指令編程 –經匯編器匯編成二進制可執行程序文件–>二進制文件被CPU讀取進去–>CPU內部電路對二進制文件解碼–>解碼通過則CPU執行指令、完成指令動作。
如果程序員用C語言等高級語言編程,則編譯器先將C語言程序編譯為匯編程序,再進行上面的后續部分。
CPU在固定頻率的時鐘控制下節奏運行。
CPU可以通過總線讀取外部存儲設備中的二進制指令集(機器碼),然后解碼執行。這些可以被CPU解碼執行的二進制指令集是CPU設計的時候確定的,是CPU的設計者(ARM公司)定義的,本質上是一串由1和0組成的數字。這就是CPU的匯編指令集。
參考來源:朱有鵬老師視頻教程課件 網友文章
總結
- 上一篇: OFFICE InfoPath 教程
- 下一篇: 防御病毒邮件得看U-Mail邮件网关