《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > 匯編基礎(chǔ):程序返回操作系統(tǒng)

匯編基礎(chǔ):程序返回操作系統(tǒng)

2017-06-10
關(guān)鍵詞: 匯編

我們都知道,匯編語言源程序要進過匯編和連接兩個步驟才能生成一個可以在DOS下直接執(zhí)行的.exe文件,在DOS下執(zhí)行這個文件時,DOS像調(diào)用子程序一樣,把控制權(quán)交給它,而這個exe文件執(zhí)行完成后也要像子程序返回調(diào)用程序一樣返回DOS,

一、用4CH系統(tǒng)功能調(diào)用實現(xiàn)返回

4CH系統(tǒng)調(diào)用功能是結(jié)束程序執(zhí)行返回DOS,因此可以利用它來完成程序返回操作系統(tǒng),其具體方法是在程序 結(jié)束時使用下列命令:

MOV AH, 4CH

INT 21H

但并不是任何程序都可以用這種方法來實現(xiàn)返回DOS的,只有返回DOS的主程序才能使用這種方式,而對于調(diào)用的子程序應(yīng)該返回給的是調(diào)用程序而不是系統(tǒng),所以不能用4CH實現(xiàn)返回。下面就介紹一種能夠用來返回給調(diào)用程序的返回方式。

二、用程序段前綴實現(xiàn)返回

在DOS狀態(tài)下執(zhí)行EXE文件時,DOS會在COMMAND.COM暫存部分之后建立一個256字節(jié)的程序段前綴(PSP)在其后裝入該EXE程序時把控制權(quán)交給它,PSP的內(nèi)容主要包括3部分信息:被裝入程序與DOS連接時使用的信息、供裝入程序使用的參數(shù)和供DOS本身使用的信息。

在DOS轉(zhuǎn)移控制權(quán)時,將代碼段(CS)指向EXE程序的代碼段,SS指向堆棧段,DS和ES并不指向用戶程序的數(shù)據(jù)段和附加段,而是指向PSP。

在PSP首地址(第一、二字節(jié))有一條軟中斷指令“INT 20H”(有關(guān)中斷部分我會在以后說到),而這條指令的功能就是結(jié)束用戶程序返回操作系統(tǒng),因此可以用程序段前綴實現(xiàn)返回DOS,其步驟如下:

a、將程序編織成一個過程,并且將過程的類型屬性設(shè)置為FAR

b、將PSP的起始邏輯地址壓入堆棧,即將“INT 20H”指令的地址壓入堆棧。由于EXE文件裝入內(nèi)存時DS和ES都是指向PSP的,因此用指令“PUSH  DS”就可以實現(xiàn)將PSP的起始邏輯地址壓入堆棧的操作。

c、在程序編制而成的過程結(jié)束時使用返回指令RET,這樣執(zhí)行該指令時系統(tǒng)便會將保存在堆棧中的PSP起始邏輯地址彈出到CS和IP中,進而轉(zhuǎn)去執(zhí)行PSP首地址處的指令I(lǐng)NT  20H, 從而實現(xiàn)返回DOS的目的。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲国产精品综合久久20| 国产成人精品永久免费视频| 中文字幕无线码一区二区| 最近高清中文在线国语字幕| 在线观看成人免费| 中文字幕aⅴ在线视频| 日本视频免费观看| 亚洲av福利天堂一区二区三| 永久免费看bbb| 免费一级欧美大片在线观看 | 无码一区二区三区在线观看| 久久综合九色综合欧美狠狠| 精品久久久久久无码中文字幕一区| 国产三级小视频| 韩国五感图r级无删减版| 国产日韩精品一区二区在线观看播放 | 啊灬啊灬啊灬快灬深久久| 里番acg里番本子全彩| 国产成人综合久久综合| 色多多成视频人在线观看| 国产色a在线观看| 99re6这里只有精品| 天天摸日日添狠狠添婷婷| 一二三四视频社区在线| 巫山27号制作视频直播| 中文字幕乱人伦视频在线| 无码夫の前で人妻を侵犯| 久久久亚洲欧洲日产国码aⅴ| 日韩免费a级毛片无码a∨| 久久黄色免费网站| 最近中文字幕在线中文高清版| 亚洲人成www在线播放| 欧美在线中文字幕| 亚洲免费成人网| 欧美丰满白嫩bbw激情| 亚洲免费视频网址| 欧美国产日本高清不卡| 亚洲国产精品sss在线观看AV| 欧美成人免费全部观看在线看 | 青青草在视线频久久| 国产另类ts人妖一区二区|