免費電子書 -- 組合語言
組合語言簡介處理器BIOS啟動程式微軟組譯器組合語言DOSWindowsVisualStudioGNUGNU 組譯器C 轉組語連結 C 語言嵌入 C 語言訊息相關網站參考文獻最新修改簡體版English |
在電腦越來越發達的時代,程式設計師與組合語言的距離就越來越遠了,這往往讓我們不知道如何在個人電腦上撰寫組合語言。對於那些曾經碰過 DOS 系統的人而言,撰寫組合語言是常見的事情,但是自從 Windows 加入保護功能之後,這些 DOS 的組合語言就再也不能執行了,要在 Windows 系統下撰寫組合語言,成了一種很少人會的絕技。 其實,要在個人電腦的 MS. Windows 系統上撰寫組合語言,並不是那麼困難的,只要您善用組合語言的開發工具,像是微軟的 ml.exe (俗稱 MASM),以及 GNU 的 gcc、as 等程式,就可以在 MS. Windows 系統中撰寫 x86 平台的組合語言了。 但必須注意的是,在 MS. Windows 系統上撰寫組合語言時,不要再採用過去在 DOS 當中所使用的方式,用 int 10h 呼叫 BIOS 中斷,或者用 int 21h 執行 DOS 的系統呼叫,這些都是不正確的方式。如果您採用微軟的 ml 組譯器,請連結微軟系統中的 LIBCMT 函式庫,其中有 C 語言所使用的 printf 函數,直接透過這個函數進行輸出入即可,以下是筆者所撰寫的組合語言程式,可以計算並印出 1+2+…+10 的結果。 範例一:計算 1+2+…+10
執行結果
結語這樣撰寫組合語言,其實就相當的輕鬆愉快了,學習組合語言也不再是一個神祕的技巧,只要拋棄過去在 DOS 時代所養成的習慣就行了。在 MS Windows 系統當中,不要再堅持自己用 int 10h 等中斷呼叫進行輸出入了,如此反而能真正學習到組合語言的精神與技巧,不是嗎? 陳鍾誠 於 金門大學 2010 年 10 月 12 日 |
page revision: 1, last edited: 12 Oct 2010 10:01
Post preview:
Close preview