組合語言(英語:Assembly language,中國大陸譯作彙編語言,港澳譯作組合語言),是一種與硬體緊密相關的程式設計低階語言。組譯語言是機器語言便於記憶和理解的符號形式(又稱為助憶碼)。
組合語言的語句與機器語言 (機器語言操作碼) 存在對應關係,但這並不意味著組合語言語句與機器操作對應。在 CISC (複雜指令集) 結構 CPU 上,組合語言(或一個機器語言操作碼)可能被組譯器解譯成多個「微指令」。
組合語言不像其他大多數的程式設計語言一樣被廣泛用於程式設計;在今天的實際應用中,它通常被應用在底層硬體操作和高要求的程式優化的場合。驅動程式、嵌入式操作系統和實時執行程式都需要組合語言。
目錄 |
一個典型的現代組譯器(Assembler)建造目的碼,由解譯組語指令集的易記碼 (mnemonics)到操作碼 (OpCode),並解析符號名稱(symbolic names)成為記憶體位址以及其它的實體。使用符號參考是組譯器的一個重要特徵,它可以節省修改程式後人工轉址的乏味耗時計算。基本就是把機器碼變成一些字母而已,編譯的時候再把輸入的指令字母替換成為晦澀難懂機器碼。
可以說,有多少種CPU,甚至有多少單晶片,就有多少種組合語言。 列表參見鏈結(從英文維基翻譯)。
隨著現代軟體系統越來越龐大複雜,大量經過了封裝的高階語言如 C/C++,Pascal/Object Pascal 也應運而生。這些新的語言使得程式設計師在開發過程中能夠更簡單,更有效率,使軟體開發人員得以應付快速的軟體開發的要求。而組合語言由於其複雜性使得其適用領域逐步減小。但這並不意味著組譯已無用武之地。由於組譯更接近機器語言,能夠直接對硬體進行操作,生成的程式與其他的語言相比具有更高的執行速度,佔用更小的內部記憶體,因此在一些對於時效性要求很高的程式、許多大型程式的核心模組以及工業控制方面大量應用。 此外,雖然有眾多程式語言可供選擇,但組譯依然是各大高校電腦科學類專業學生的必修課。因為只有學習了組譯,學生才能深入了解電腦的執行原理,為今後的電腦研究與應用打下良好的基礎。
| 此條目或章節需要被修正為維基格式以符合品質標準。(2009年5月15日) 請協助添加相關的內部鏈結來改善這篇條目。 |
我們平時常用的PC機X86平台下 組譯工具;
微軟DOS/Windows平台:
無法與其他平台(如Linux)執行 分WIN32和DOS模式 DOS代碼可以在WINDWOS下啟動虛擬8086或者關閉Windows圖形介面進入DOS真實模式執行。 WIN32代碼和DOS代碼完全不相同,需要使用 WIN32 API 開發。
Borland 公司的工具,Windows平台。
可以同時編寫Windows和Linux程式的免費開發工具, 但是二者代碼有一定區別,不是Java那樣一次編寫到處通行。
RADASM ,可以呼叫上面組譯開發工具的整合開發工具介面,安裝一個RADASM等於上面的工具安裝並偵錯好了,在一個介面輸入代碼就可以產生3個編譯器輸出結果,當然如果一個代碼可以在3個編譯器全部執行透過的話,只不過省略一小部分安裝偵錯的麻煩,學習組譯還是一樣的難,免費軟體
|
||||||||||||||||||||||||||||||||||||||||||
stock | retire | vm
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History