第05章-匯編語言程序_第1頁
第05章-匯編語言程序_第2頁
第05章-匯編語言程序_第3頁
第05章-匯編語言程序_第4頁
第05章-匯編語言程序_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第5章匯編語言程序

5.1匯編語言源程序與匯編程序

用匯編語言編寫的程序稱為匯編語言源程序,簡(jiǎn)稱匯編語言程序。匯編語言源程序只有被編譯成目標(biāo)程序(機(jī)器語言程序)后,才能被計(jì)算機(jī)執(zhí)行。將匯編語言源程序編譯成目標(biāo)程序的加工程序稱為匯編程序。5.2匯編語言程序格式和組成元素【例5.1】示例程序

NAME EXAMPLE

DSEG

SEGMENTDATA1

DB

4

DUP(1),10H,11,0AH,0,0BHSUM

DB?

COUNT

EQU

9DSEG

ENDSSSEG SEGMENTSTACK DB100HDUP(?)

SSEG ENDS【例5.1】示例程序

CSEGSEGMENT

ASSUME

CS:CSEG,DS:DSEG,SS:SSEGSTART:MOVAX,DSEG MOVDS,AX XORAL,AL ;AL清0; MOV

CX,COUNT ;設(shè)置相加次數(shù),也即循環(huán)操作次數(shù); LEA

SI,DATA1 ;SI指向數(shù)據(jù)區(qū)起始位置;LOOP1:ADD

AL,[SI] ;將SI所指數(shù)據(jù)加到AL中; INC

SI

;SI指向下一字節(jié); LOOPLOOP1 ;CX減1計(jì)數(shù),減1后不為0則轉(zhuǎn)LOOP1 MOV

SUM,AL ;將DATA1中9個(gè)字節(jié)之和送變量SUM; MOV

AH,4CH INT

21H ;返回DOS。

CSEG ENDS ENDSTART5.2匯編語言程序格式和組成元素示例程序?qū)崿F(xiàn)了DATA1數(shù)據(jù)區(qū)中9個(gè)字節(jié)的相加,基本上體現(xiàn)了匯編語言程序的一般格式和組成元素:匯編語言程序采用以SEGMENT和ENDS定義的段結(jié)構(gòu),一個(gè)匯編語言程序由若干個(gè)段組成。段中包含兩種語句:指令語句,即前面介紹的指令,以及偽指令語句,簡(jiǎn)稱偽指令。語句中包含若干元素:標(biāo)識(shí)符,保留字,表達(dá)式等。5.2.1標(biāo)識(shí)符

標(biāo)識(shí)符是源程序中便于指定和閱讀的字符串。例如,示例程序中的數(shù)據(jù)段名DSEG,變量DATA1,標(biāo)號(hào)LOOP1,符號(hào)常量COUNT等都是標(biāo)識(shí)符。標(biāo)識(shí)符可以由字母A~Z,a~z,數(shù)字0~9,專用字符?、.、@、$、_(下劃線)等字符組成。除數(shù)字外,所有這些字符均可作為標(biāo)識(shí)符的首字符。“.”只能作為標(biāo)識(shí)符的首字符。5.2.2保留字

保留字是匯編程序預(yù)留的具有固定用途的字符串。例如,示例程序中的SEGMENT,DB,MOV,CX等所有寄存器名,指令及偽指令助記符,運(yùn)算符等均屬于保留字。在編寫源程序時(shí),一般要避免將保留字用于非固定用途。5.2.3表達(dá)式

表達(dá)式是由常量、變量、標(biāo)號(hào)及運(yùn)算符等構(gòu)成的式子。表達(dá)式分為數(shù)值表達(dá)式和地址表達(dá)式。1.常量字面常量由0~9,A,B,C,D,E,F(xiàn)以及基數(shù)后綴,即尾標(biāo)B,D,H,Q(或O)構(gòu)成。如果一個(gè)十六進(jìn)制常量以字母開頭,則須在前面添加數(shù)字0以區(qū)別于標(biāo)識(shí)符。符號(hào)常量是使用EQU、=偽指令定義其值的標(biāo)識(shí)符。例如,示例程序中的標(biāo)識(shí)符COUNT被定義為數(shù)值9。串常量是用單引號(hào)括起的一串字符。串常量以單引號(hào)中各字符的ASCII碼存儲(chǔ)。例如,′Data′以44H,61H,74H,61H存儲(chǔ)。5.2.3表達(dá)式

2.變量

變量是存貯單元的標(biāo)識(shí)符,即數(shù)據(jù)存放地址的符號(hào)表示。變量名被認(rèn)為是變量的符號(hào)地址。變量名一般由定義變量的偽指令語句確定。5.2.3表達(dá)式

2.變量變量具有三個(gè)方面的屬性。(1)變量的段屬性變量的段屬性是指變量所在段的段地址。當(dāng)需要訪問該變量時(shí),該段地址一定要在某一段寄存器中。例如,在示例程序中,通過指令:

MOVAX,DSEGMOVDS,AX

將變量DATA1,SUM所在段的段地址放到DS中,以便其后對(duì)這些變量進(jìn)行訪問。5.2.3表達(dá)式

2.變量變量具有三個(gè)方面的屬性。(2)變量的偏移屬性變量的偏移屬性是指變量所在段的首地址到該變量的偏移量。(3)變量的類型屬性變量的類型是指存取該變量中的數(shù)據(jù)所對(duì)應(yīng)的字節(jié)數(shù)。有字節(jié)(BYTE)、字(WORD)、雙字(DWORD)等。5.2.3表達(dá)式

3.標(biāo)號(hào)

匯編語言程序中的標(biāo)號(hào)是機(jī)器指令存放位置的標(biāo)識(shí)符,即機(jī)器指令存放地址的符號(hào)表示。它可作為轉(zhuǎn)移指令或重復(fù)控制指令轉(zhuǎn)向目的操作數(shù)。5.2.3表達(dá)式

3.標(biāo)號(hào)標(biāo)號(hào)一般只在代碼段中定義和引用。由于標(biāo)號(hào)代表了指令的符號(hào)地址,所以標(biāo)號(hào)也有三個(gè)屬性:(1)標(biāo)號(hào)的段屬性(2)標(biāo)號(hào)的偏移屬性(3)標(biāo)號(hào)的類型屬性標(biāo)號(hào)的類型有兩種:NEAR類型和FAR類型。NEAR類型的標(biāo)號(hào)只能在定義該標(biāo)號(hào)的段內(nèi)使用,而FAR類型的標(biāo)號(hào)則無此限制。5.2.3表達(dá)式

4.?dāng)?shù)值表達(dá)式數(shù)值表達(dá)式是由常量與算術(shù)運(yùn)算符、邏輯運(yùn)算符或關(guān)系運(yùn)算符構(gòu)成的式子。(1)算術(shù)運(yùn)算符算術(shù)運(yùn)算符包括+、-、*、/(整除)、MOD(模除)。5.2.3表達(dá)式

4.?dāng)?shù)值表達(dá)式(2)邏輯運(yùn)算符邏輯運(yùn)算包括NOT,AND,OR,XOR,SHL及SHR。這些運(yùn)算符實(shí)現(xiàn)相關(guān)常量的二進(jìn)制邏輯運(yùn)算。例如:

NOT12H結(jié)果為0EDH;1234HAND

0FH結(jié)果為04H;SHL或SHR運(yùn)算是指將運(yùn)算符左邊的二進(jìn)制常量左移或右移運(yùn)算符右邊所指定的位數(shù)(正整數(shù)),空出位補(bǔ)0。如:0010BSHL2的結(jié)果為1000B。5.2.3表達(dá)式

4.?dāng)?shù)值表達(dá)式(3)關(guān)系運(yùn)算符關(guān)系運(yùn)算符包括EQ(相等)、NE(不等)、LT(小于)、GT(大于)、LE(小于等于)、GE(大于等于)。運(yùn)算結(jié)果是兩個(gè)特殊的常量,若關(guān)系成立則結(jié)果為-1(用補(bǔ)碼表示),否則為0。例如:設(shè)已定義符號(hào)常量COUNT的值為9,則COUNTNE2的值為-1,COUNTGE10的值為0。

數(shù)值表達(dá)式運(yùn)算在匯編期間進(jìn)行,運(yùn)算結(jié)果為數(shù)值常量。5.2.3表達(dá)式

5.地址表達(dá)式

地址表式是由常量、變量、標(biāo)號(hào)、寄存器BP、BX、SI、DI內(nèi)容(在此用方括號(hào)括起)和運(yùn)算符組成的式子。地址表達(dá)式的值一般為段內(nèi)偏移地址,具有段屬性、偏移屬性及類型屬性。5.2.3表達(dá)式

5.地址表達(dá)式(1)屬性定義算符①段超越前綴“:”。該運(yùn)算符用于給變量、標(biāo)號(hào)或地址表達(dá)式臨時(shí)指定一個(gè)段屬性,其格式為:段寄存器名:地址表達(dá)式或:段名:地址表達(dá)式例如:

MOVAL,ES:[1000H]5.2.3表達(dá)式

5.地址表達(dá)式(1)屬性定義算符②類型運(yùn)算符PTR。該運(yùn)算符用于給變量、標(biāo)號(hào)或地址表達(dá)式臨時(shí)指定一個(gè)類型。其格式為:類型PTR地址表達(dá)式根據(jù)地址表達(dá)式的不同值,類型可以是BYTE,WORD,DWORD,NEAR及FAR等。例如:

MOVWORDPTR[2000H],0;將偏移地址為2000H的字單元,即2000H和2001H兩字節(jié)清0。5.2.3表達(dá)式

5.地址表達(dá)式(1)屬性定義算符③定義類型運(yùn)算符THIS。該運(yùn)算符具有與PTR類似的功能,可用于指定某個(gè)變量、標(biāo)號(hào)或地址表達(dá)式的類型,但在具體用法上有區(qū)別。其格式為:標(biāo)識(shí)符EQUTHIS類型將THIS右邊的類型賦給左邊的標(biāo)識(shí)符。5.2.3表達(dá)式

5.地址表達(dá)式(2)分析運(yùn)算符①取段地址運(yùn)算符SEG。該運(yùn)算符產(chǎn)生其后的變量或標(biāo)號(hào)所在段的段地址。例如:

MOV

AX,SEGDATA1;將變量DATA1所在段的段地址送AX。②取偏移地址運(yùn)算符OFFSET。該運(yùn)算符產(chǎn)生其后的變量或標(biāo)號(hào)的偏移地址。例如

MOVBX,OFFSETDATA1;將變量DATA1的偏移地址送BX。③取類型運(yùn)算符TYPE。該運(yùn)算符產(chǎn)生其后的變量或標(biāo)號(hào)的類型值。5.2.3表達(dá)式

5.地址表達(dá)式(2)分析運(yùn)算符④取變量單元數(shù)運(yùn)算LENGTH。該運(yùn)算符產(chǎn)生其后變量所包含的單元個(gè)數(shù)。該運(yùn)算的結(jié)果根據(jù)該變量定義偽指令中第一個(gè)表達(dá)式的形式而定。若第一個(gè)表達(dá)式為重復(fù)子句“nDUP(數(shù)值表達(dá)式)”,則LENGTH運(yùn)算的結(jié)果為重復(fù)因子n;否則結(jié)果為1。例如:

DATA1DB4DUP(1),10H,11H,0AH,0,0BH中第一個(gè)表達(dá)式為“4DUP(1)”,所以LENGTHDATA1的值為4。⑤取變量總字節(jié)數(shù)運(yùn)算符SIZE該運(yùn)算符產(chǎn)生其后變量所包含的總字節(jié)數(shù)。例如:設(shè)有偽指令

DATA2DW4DUP(1),10H,11H,0A1H,0,0BH則SIZEDATA2的值為18。5.地址表達(dá)式(2)分析運(yùn)算符【例5.2】分析運(yùn)算符應(yīng)用舉例。下面定義的數(shù)據(jù)段DATA,假設(shè)段地址為2000H。DATASEGMENTD1DB41H,6DHD2DW803AH,104FHD3DD12345678H,0ABCDEF9HD4DW40DUP(1)DATAENDS5.地址表達(dá)式(2)分析運(yùn)算符【例5.2】分析運(yùn)算符應(yīng)用舉例。運(yùn)算一:

MOVAX,SEGD1 ;AX=?

MOVBX,SEGD2 ;BX=?

MOVDX,SEGD3 ;DX=?

5.地址表達(dá)式(2)分析運(yùn)算符【例5.2】分析運(yùn)算符應(yīng)用舉例。運(yùn)算一:

MOVAX,SEGD1 ;AX=2000HMOVBX,SEGD2 ;BX=2000HMOVDX,SEGD3 ;DX=2000H

變量D1,D2和D3同屬一個(gè)段,故它們的段地址相同。5.地址表達(dá)式(2)分析運(yùn)算符【例5.2】分析運(yùn)算符應(yīng)用舉例。運(yùn)算二:

MOVAX,OFFSETD1 ;AX=?

MOVBX,OFFSETD2 ;BX=?

MOVDX,OFFSETD3 ;DX=?

5.地址表達(dá)式(2)分析運(yùn)算符【例5.2】分析運(yùn)算符應(yīng)用舉例。運(yùn)算二:

MOVAX,OFFSETD1 ;AX=0MOVBX,OFFSETD2 ;BX=2MOVDX,OFFSETD3 ;DX=6

變量D1,D2和D3的偏移地址分別是0、2和6。5.地址表達(dá)式(2)分析運(yùn)算符【例5.2】分析運(yùn)算符應(yīng)用舉例。運(yùn)算三:

MOVAX,TYPED1 ;AX=?

MOVBX,TYPED2 ;BX=?

MOVDX,TYPED3 ;DX=?

5.地址表達(dá)式(2)分析運(yùn)算符【例5.2】分析運(yùn)算符應(yīng)用舉例。運(yùn)算三:

MOVAX,TYPED1 ;AX=1MOVBX,TYPED2 ;BX=2MOVDX,TYPED3 ;DX=4

變量D1,D2和D3的類型值分別是1、2和4。5.地址表達(dá)式(2)分析運(yùn)算符【例5.2】分析運(yùn)算符應(yīng)用舉例。運(yùn)算四:

MOVAX,LENGTHD4 ;AX=?

MOVBX,SIZED4 ;BX=?

MOVAH,LENGTHD1 ;AH=?

MOVAL,SIZED1 ;AL=?

MOVBH,LENGTHD2 ;BH=?

MOVBL,SIZED2 ;BL=?

MOVDH,LENGTHD3 ;DH=?

MOVDL,SIZED3 ;DL=?5.地址表達(dá)式(2)分析運(yùn)算符【例5.2】分析運(yùn)算符應(yīng)用舉例。運(yùn)算四:

MOVAX,LENGTHD4 ;AX=40MOVBX,SIZED4 ;BX=80MOVAH,LENGTHD1 ;AH=1MOVAL,SIZED1 ;AL=2MOVBH,LENGTHD2 ;BH=1MOVBL,SIZED2 ;BL=4MOVDH,LENGTHD3 ;DH=1MOVDL,SIZED3 ;DL=85.地址表達(dá)式(3)分離運(yùn)算符①分離高字節(jié)運(yùn)算符HIGH。該運(yùn)算符產(chǎn)生其后的運(yùn)算對(duì)象的高字節(jié)。

MOVAL,HIGH1234H ;將12H送AL。②分離低字節(jié)運(yùn)算符LOW。該運(yùn)算符產(chǎn)生其后的運(yùn)算對(duì)象的低字節(jié)。

MOVAL,LOW1234H ;將34H送AL。(4)其他運(yùn)算符SHORT運(yùn)算符用于說明其后的標(biāo)號(hào)在短矩離(-128~127之間)內(nèi);5.3偽指令5.3.1符號(hào)定義偽指令符號(hào)定義偽指令用于為程序中多次出現(xiàn)的同一個(gè)常量或表達(dá)式定義一個(gè)標(biāo)識(shí)符,以便在源程序中以標(biāo)識(shí)符來代替對(duì)應(yīng)的常量或表達(dá)式。1.EQU偽指令格式:標(biāo)識(shí)符EQU表達(dá)式功能:用表達(dá)式來定義標(biāo)識(shí)符,即使得標(biāo)識(shí)符等同于表達(dá)式。

COUNTEQU9:定義一個(gè)符號(hào)常量COUNT,使之等同于9;ADDREQUES:[BX][SI]

;使ADDR等同于地址表達(dá)式ES:[BX][SI]。5.3偽指令5.3.1符號(hào)定義偽指令2.=偽指令格式:標(biāo)識(shí)符=表達(dá)式功能:與EQU偽指令功能基本相同,但兩者中只有=偽指令可對(duì)同一標(biāo)識(shí)符作重新定義。

COUNT=9;定義COUNT等于9;COUNT=COUNT+1;重新定義COUNT等于10。而:DT1EQU30DT1EQU20;此定義錯(cuò)誤,因?yàn)榍懊嬉呀?jīng)用EQU偽指令對(duì)DT1作了定義。5.3偽指令5.3.1符號(hào)定義偽指令1.EQU偽指令2.=偽指令注意:

EQU、=偽指令僅僅是對(duì)程序中某些符號(hào)進(jìn)行等價(jià)說明,并不實(shí)際分配存儲(chǔ)單元,因此,用EQU、=偽指令定義的符號(hào)不占存儲(chǔ)單元。5.3偽指令5.3.2變量定義偽指令變量定義就是為數(shù)據(jù)分配存儲(chǔ)單元,有時(shí)還為這個(gè)存儲(chǔ)單元取一個(gè)變量名。1.DB偽指令格式:[變量]DB一個(gè)或多個(gè)表達(dá)式。功能:告知匯編程序,留出一塊內(nèi)存單元作為字節(jié)數(shù)據(jù)區(qū),并在其中存放各表達(dá)式的值,先出現(xiàn)者對(duì)應(yīng)低地址,后出現(xiàn)者對(duì)應(yīng)高地址。若此偽指令中設(shè)有DB左邊的“變量”,則用此變量來標(biāo)識(shí)新定義的內(nèi)存單元。5.3偽指令5.3.2變量定義偽指令變量定義就是為數(shù)據(jù)分配存儲(chǔ)單元,有時(shí)還為這個(gè)存儲(chǔ)單元取一個(gè)變量名。1.DB偽指令格式:[變量]DB一個(gè)或多個(gè)表達(dá)式。表達(dá)式可以是以下四種形式。(1)字節(jié)常量以及不確定常量“?”;(2)重復(fù)子句:數(shù)值表達(dá)式DUP(一個(gè)或多個(gè)表達(dá)式);(3)串常量;(4)以上三種形式的任意組合。5.3偽指令5.3.2變量定義偽指令變量定義就是為數(shù)據(jù)分配存儲(chǔ)單元,有時(shí)還為這個(gè)存儲(chǔ)單元取一個(gè)變量名。1.DB偽指令格式:[變量]DB一個(gè)或多個(gè)表達(dá)式。表達(dá)式可以是以下四種形式。(1)字節(jié)常量以及不確定常量“?”;(2)重復(fù)子句:數(shù)值表達(dá)式DUP(一個(gè)或多個(gè)表達(dá)式);(3)串常量;(4)以上三種形式的任意組合。5.3偽指令5.3.2變量定義偽指令1.DB偽指令

DATA1DB0,45H,0FFH,?

DATA2DB′HELLO′DATA3DB10,2DUP(2DUP(1,2),3)作以上定義后,存儲(chǔ)器中的數(shù)據(jù)存儲(chǔ)情況是怎樣的?5.3偽指令5.3.2變量定義偽指令2.DW偽指令格式:[變量]DW一個(gè)或多個(gè)表達(dá)式。功能與DB偽指令功能類似,但定義的是字變量。表達(dá)式可以是以下四種形式。(1)除了是字?jǐn)?shù)據(jù)外,與DB偽指令的(1)、(2)同;(2)地址表達(dá)式。在此情況下,實(shí)際取其偏移地址;(3)一個(gè)或兩個(gè)字符組成的串常量;(4)以上三種形式的任意組合。5.3偽指令5.3.2變量定義偽指令3.DD偽指令格式:[變量]DD一個(gè)或多個(gè)表達(dá)式。功能:與DB偽指令功能類似,但定義的是雙字變量。表達(dá)式可以是以下三種形式。(1)除了是雙字?jǐn)?shù)據(jù)外,與DB偽指令的(1)、(2)同。(2)地址表達(dá)式。在此情況下,分別將偏移地址和段地址存放到存儲(chǔ)器中,偏移地址對(duì)應(yīng)較低地址。(3)一個(gè)到四個(gè)字符組成的串常量。(4)以上三種形式的任意組合。5.3偽指令5.3.3段定義偽指令段定義偽指令指示匯編程序如何按段組織程序和使用存儲(chǔ)器。1.SEGMENT和ENDS偽指令格式:段名SEGMENT[定位方式][組合方式][′類別′]

;段體段名ENDS功能:SEGMENT和ENDS偽指令用于把程序分成若干邏輯段。這些邏輯段根據(jù)其用途的不同分為代碼段、數(shù)據(jù)段、堆棧段和附加段,它們被分別裝入由CS、DS、SS和ES所指定的物理段中。5.3偽指令5.3.3段定義偽指令

2.ASSUME偽指令格式:ASSUME段寄存器:段名[,段寄存器:段名...]功能:該偽指令用于通知匯編程序,CS、DS、SS或ES被設(shè)定為哪些段的段地址寄存器,從而在匯編時(shí)能知道語句中引用的變量、標(biāo)號(hào)或表達(dá)式所對(duì)應(yīng)的段。例如:示例程序中的ASSUME偽指令將DS設(shè)定為DSEG段的段地址寄存器,所以在對(duì)指令

LOOP1:ADDAL,[SI]進(jìn)行匯編時(shí),知道源操作數(shù)對(duì)應(yīng)的段為DSEG。5.3偽指令5.3.3段定義偽指令

2.ASSUME偽指令注意:ASSUME偽指令只是告知匯編程序有關(guān)段寄存器將被設(shè)定為哪個(gè)段的段地址,而段寄存器必須通過指令來設(shè)定具體值。例如:示例程序中在使用上述ASSUME偽指令后,通過指令

MOVAX,DSEGMOVDS,AX

給DS設(shè)定具體值。5.3偽指令5.3.3段定義偽指令

3.ORG偽指令格式:ORG表達(dá)式功能:告知匯編程序,使其后的指令或數(shù)據(jù)從表達(dá)式的值所指定的偏移地址開始存放。表達(dá)式的值應(yīng)為0~65535(即0000H~FFFFH)例如:ORG$+10表示其后的指令或數(shù)據(jù)跳過10個(gè)字節(jié)存放。其中$表示當(dāng)前偏移地址。5.3偽指令5.3.4過程定義偽指令在程序設(shè)計(jì)中,常把具有某種功能的程序段設(shè)計(jì)成一個(gè)過程。80x86宏匯編語言用于過程定義的偽指令的格式為過程名PROC[NEAR或FAR];過程體過程名ENDP

其中過程名由程序員指定。過程體為過程內(nèi)的指令和偽指令序列。定義一個(gè)近過程時(shí),參數(shù)NEAR可省略。5.3偽指令5.3.580x86指令集選擇偽指令這類指令一般放在程序的起始位置,用來通知匯編程序以下程序中使用哪一種指令集,如表5.5所示。5.4匯編語言程序的上機(jī)過程匯編語言程序的處理過程包括編輯、匯編、連接及執(zhí)行:(1)用編輯程序,建立擴(kuò)展名為.ASM的匯編語言源程序文件。(2)用匯編程序?qū)SM文件匯編成二進(jìn)制的目標(biāo)文件,即OBJ文件。(3)用連接程序,可將OBJ文件連接為可執(zhí)行文件,即EXE文件。(4)可在DOS環(huán)境下直接執(zhí)行EXE文件,亦可用DEBUG調(diào)試和執(zhí)行。5.4匯編語言程序的上機(jī)過程5.4.1建立ASM文件

可使用文本編輯工具編輯源程序,建立擴(kuò)展名為.ASM的源程序文件。源程序一般一行安排一條語句。一般而言各語句的標(biāo)號(hào)、助記符、操作數(shù)及注釋首字符對(duì)齊。5.4匯編語言程序的上機(jī)過程5.4.2生成OBJ文件可使用MASM匯編程序根據(jù)已建立的ASM文件生成對(duì)應(yīng)的OBJ文件。現(xiàn)以EXAMPLE.ASM文件匯編為EXAMPLE.OBJ文件為例說明生成OBJ文件的過程。操作步驟如下:(1)通過鼠標(biāo)導(dǎo)航到MASM.EXE文件所在的文件夾下;(2)在MASM.EXE文件的位置上雙擊左鍵,啟動(dòng)匯編程序;(3)在匯編時(shí),用戶根據(jù)提示輸入源程序文件名EXAMPLE.ASM;(4)根據(jù)提示輸入其他有關(guān)信息。5.4匯編語言程序的上機(jī)過程5.4.3生成EXE文件可使用LINK連接程序根據(jù)已生成的OBJ文件產(chǎn)生對(duì)應(yīng)的EXE文件。現(xiàn)以EXAMPLE.OBJ文件連接為EXAMPLE.EXE文件為例說明產(chǎn)生EXE文件的過程。操作步驟如下:(1)通過鼠標(biāo)導(dǎo)航到LINK.EXE文件所在的文件夾下;(2)在LINK.EXE文件的位置上雙擊左鍵,啟動(dòng)連接程序;(3)在連接時(shí),用戶根據(jù)提示輸入目標(biāo)程序文件名EXAMPLE.OBJ;(4)根據(jù)提示輸入其他有關(guān)信息。5.4匯編語言程序的上機(jī)過程5.4.4快速生成可執(zhí)行文件的方法若用戶只需生成源文件(ASM文件)、目標(biāo)文件(OBJ文件)和可執(zhí)行文件(EXE文件),可用下列命令方式來匯編和連接。(1)單擊“開始”菜單→“運(yùn)行”。(2)在對(duì)話框中輸入E:\MASM\M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論