回覆列表
-
1 # 雜技鋪子
-
2 # 超級碼農衝呀
對題主的問題,先說是不是,再說為什麼。
不是。
為什麼呢?
首先,高階語言是一個相對概念,比如組合語言相對機器語言是高階語言,C語言相對組合語言是高階語言……
其次,組合語言是用來描述CPU指令集的,它更接近機器碼。雖然組合語言的執行效率高,但移植性極差,不能跨平臺使用,比如ARM的組合語言與Intel x86的就不同。
第三,高階語言的概念接近於人們自然語言,高階語言的一個命令可以代替幾條、幾十條甚至幾百條組合語言的指令。一般高階語言經過預處理、編譯、彙編、連結生成二進位制程式,其中編譯階段就是將高階語言程式碼翻譯為彙編程式碼,而彙編階段就是將彙編程式碼翻譯為不同平臺的機器程式碼。所以,相比組合語言,高階語言的可移植性更好。
題主的問題應該是問反了,高階語言的源程式移植性是優於組合語言的源程式的,組合語言是一種低階語言,它的程式設計需要針對特定架構的機器,而高階語言的抽象層次更高,不需要去關注機器的底層的細節,所以,高階語言的移植性是優於組合語言的。