匯編語言源程序的結(jié)構(gòu)及上機(jī)步驟

匯編語言源程序的結(jié)構(gòu)及上機(jī)步驟

ID:15076885

大?。?0.00 KB

頁數(shù):7頁

時間:2018-08-01

匯編語言源程序的結(jié)構(gòu)及上機(jī)步驟_第1頁
匯編語言源程序的結(jié)構(gòu)及上機(jī)步驟_第2頁
匯編語言源程序的結(jié)構(gòu)及上機(jī)步驟_第3頁
匯編語言源程序的結(jié)構(gòu)及上機(jī)步驟_第4頁
匯編語言源程序的結(jié)構(gòu)及上機(jī)步驟_第5頁
資源描述:

《匯編語言源程序的結(jié)構(gòu)及上機(jī)步驟》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、匯編語言源程序的結(jié)構(gòu)及上機(jī)步驟匯編語言源程序有兩類:其一,經(jīng)匯編后生成擴(kuò)展名為.EXE的可執(zhí)行文件(簡稱EXE文件);其二,經(jīng)匯編后生成擴(kuò)展名為.COM的緊湊格式文件(可執(zhí)行,簡稱COM文件)。這兩種文件具有不同的優(yōu)先級,其源程序結(jié)構(gòu)也有較大差異。1.EXE文件的匯編格式?(1)特點(diǎn):程序可帶重定位信息,程序分段,每段64K,文件較長???程序裝入內(nèi)存時,CS、SS由系統(tǒng)賦值,DS、ES由用戶賦值?(2)EXE匯編語言源程序一般結(jié)構(gòu)如下:;programtitlegoeshead---(程序題目放這里);?;EQU?STATEME

2、NTGOHEAD---(等值語句放這里);*************?STACKSEGMENTPARASTACK'STACK';堆棧段??????DB20DUP('STACK??')?STACKENDS;********************DATASGSEGMENT???????????????????;數(shù)據(jù)段;DATAGOESHEAR?DATASGENDS;*********************EXTRASEGMENT????????????????????;附加段(可有可無)?????????????;DATAGOES

3、HEAR?EXTRAENDS;*********************CODESGSEGMENT???????????????????;代碼段;----------------------MAINPROCFAR????????????????????;主過程??ASSUMECS:CODESG,DS:DATASG,ES:EXTRA,SS:STACK??PUSHDS?????????????????????????;程序段前綴PSP??MOVAX,0????????????????????????;首地址入棧??PUSHAX??MO

4、V?AX,DATASG??????????????????;將數(shù)據(jù)段的段地址傳送給??MOV?DS,AX??????????????????????;段寄存器DS??MOV?AX,EXTRA???????????????????;將附加段的段地址傳送給??MOV?ES,AX??????????????????????;段寄存器ES??;MAINPARTOFPROGRAMGOESHEAR(程序的主要部分放這里)??RET?????????????????????????????;(返回)MAINENDP;--------------

5、---------CODESGENDS;**************************ENDMAIN????????????????????????;程序結(jié)束?說明:系統(tǒng)在為用戶文件分配內(nèi)存空間時,會多分配256個BYTE(100H)內(nèi)存空間給該文件,而這256BYTE時放在程序的機(jī)器碼前面,所以這個區(qū)域稱為程序段前綴(PSPProgramSystemPrefix),此區(qū)域內(nèi)所紀(jì)錄的內(nèi)容為用戶跟系統(tǒng)溝通的一些相關(guān)信息.在程序段前綴PSP的首地址中,存放了一條INT20H(程序結(jié)束)的指令。?(3)EXE文件裝入內(nèi)存中的情況如

6、圖3.3.1所示(一開始,段寄存器DS、ES指向段前綴PSP的段地址)?????低地址?程序段前綴???PSPDS:0H,ES:0H???代碼段CS:0H(IP=0)?????????????????????????CS:IP(指向下一條要執(zhí)行的指令)???數(shù)據(jù)段????附加段????????????????????????????????高地址??堆棧段SS:0H??????????????????SS:SP(指向棧頂)圖3.3.12..COM文件的匯編格式?(1)特點(diǎn):程序不能帶可重定位信息;整個源程序只能使用一個邏輯段;程序

7、裝入內(nèi)存時,CS、SS、DS、ES指向同一段,均由系統(tǒng)賦值;第一條可執(zhí)行指令位于段內(nèi)偏移量為0100H的地方(前面256個字節(jié)為程序段前綴PSP所在地);數(shù)據(jù)區(qū)可設(shè)置在代碼段的開始或末尾(與指令代碼的合計(jì)總長度小于64KB等。?(2)COM匯編語言源程序一般結(jié)構(gòu)如下:;programtitlegoeshead---(程序題目放這里);?;EQU?STATEMENTGOHEAD---(等值語句放這里);*************CODESGSEGMENT???????????????????;代碼段;----------------

8、------MAINPROCNEAR????????????;主過程只能是NEAR屬性??ORG100H???????;使第一條可執(zhí)行指令位于段內(nèi)偏移量為0100H的地方???ASSUMECS:CODESG,DS:CODESG,ES:CODESG,

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。