終于可以編寫第1個完整的程序了,以前都是在debug中寫一些指令,在debug中執(zhí)行。
現(xiàn)在開始編寫完整的匯編語言程序,用編譯器將它們編譯成為可執(zhí)行文件,在操作系統(tǒng)中運行。
為了能夠透徹地理解一個完整的程序,我們將經(jīng)歷一個漫長的過程。
一個源程序從寫出到執(zhí)行的過程
第一步,編寫匯編源程序
使用文本編輯器,如editplus,notepad2等
第二步,對源程序進(jìn)行編譯連接
使用匯編語言編譯程序?qū)υ闯绦蛭募械脑闯绦蜻M(jìn)行編譯,產(chǎn)生目標(biāo)文件;再用連接程序?qū)δ繕?biāo)文件進(jìn)行連接,生成可在操作系統(tǒng)中直接運行的可執(zhí)行文件。
可執(zhí)行文件中包含兩部分內(nèi)容:
1)程序(從源程序中的匯編指令翻譯過來的機(jī)器碼)和數(shù)據(jù)(源程序中定義的數(shù)據(jù))
2)相關(guān)的描述信息(比如,程序有多大、要占用多少內(nèi)存空間等)
第三步,執(zhí)行可執(zhí)行文件中的程序
在操作系統(tǒng)中,執(zhí)行可執(zhí)行文件中的程序。
操作系統(tǒng)依照可執(zhí)行文件中的描述信息,將可執(zhí)行文件中的機(jī)器碼和數(shù)據(jù)加載入內(nèi)存。并進(jìn)行相關(guān)的初始化(比如設(shè)置CS:IP指向第一條要執(zhí)行的指令),然后由CPU執(zhí)行程序。
(未完待續(xù)....)