版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
匯編語(yǔ)言執(zhí)行的步驟為編程→匯編→連接→調(diào)試(1)編程:用編輯程序建立ASM文件;(2)匯編:用匯編語(yǔ)言MASM程序?qū)SM文件轉(zhuǎn)換成目標(biāo)文件OBJ;(3)連接:用連接程序LINK把OBJ文件轉(zhuǎn)換成可執(zhí)行的EXE文件;(4)調(diào)試:在DOS狀態(tài)下鍵入文件名調(diào)試、運(yùn)行程序。第4章匯編語(yǔ)言程序格式4.1匯編語(yǔ)言格式一、匯編語(yǔ)言語(yǔ)句格式1.指令語(yǔ)句語(yǔ)句格式:[標(biāo)號(hào):]指令助記符操作數(shù)[,操作數(shù)][;注釋]標(biāo)號(hào):標(biāo)號(hào)的名字由用戶自定義,是不能以數(shù)字開(kāi)頭的字符、數(shù)字串,長(zhǎng)度不超過(guò)31個(gè)字符,不能使用保留字,保留字包括指令助記符、偽指令助記符、寄存器符號(hào)等。注釋:匯編程序在翻譯源程序時(shí)不對(duì)它們做任何處理。
2.偽指令語(yǔ)句偽指令是在程序匯編期間由匯編程序處理的操作。[名字]偽指令助記符參數(shù),參數(shù)…[;注釋]名字:是反映偽指令偏移地址的標(biāo)識(shí)符,后面沒(méi)有冒號(hào)。取名與標(biāo)號(hào)的取名一樣。偽指令助記符:表示偽指令的所要完成的操作。參數(shù):偽指令要求的內(nèi)容,常數(shù)、變量、表達(dá)式,允許多個(gè)。二、匯編語(yǔ)言程序格式完整的匯編語(yǔ)言源程序由若干個(gè)代碼段、數(shù)據(jù)段、附加段或堆棧段組成;段與段之間的順序可隨意排列;可運(yùn)行的程序必須包含一個(gè)代碼段,并指明程序的起始語(yǔ)句,數(shù)據(jù)段、附加段、堆棧段不是必須;指令語(yǔ)句必須位于某一個(gè)代碼段內(nèi),偽指令語(yǔ)句可按需要位于任一段內(nèi)。;N01.ASM(文件名N01,注釋語(yǔ)句)STACK SEGMENTSTACK ;定義堆棧段DW512DUP(?)STACK ENDS ;堆棧段結(jié)束DATA SEGMENT ;定義數(shù)據(jù)段 STRING DB'welcome!','$'DATA ENDS
;數(shù)據(jù)段結(jié)束CODE SEGMENT ;定義代碼段
ASSUMECS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA ;建立DS段地址
MOV DS,AX MOV DX,OFFSETSTRING MOV AH,9 INT 21H MOV AX,4C00H ;返回DOS的參數(shù)
INT 21H ;返回DOSCODE ENDS ;代碼段結(jié)束
END START ;源程序結(jié)束4.2匯編語(yǔ)句參數(shù)匯編語(yǔ)句的參數(shù)可分為兩類:數(shù)值型參數(shù)和地址型參數(shù)。指令語(yǔ)句中指令操作數(shù)可以是立即數(shù)、寄存器和存儲(chǔ)單元,其中立即數(shù)就是數(shù)值型參數(shù)。標(biāo)號(hào)或變量的名字屬于地址型參數(shù)。偽指令語(yǔ)句中參數(shù)給匯編程序提供必要的信息,使匯編程序能夠完成對(duì)源程序的匯編。一、數(shù)值型參數(shù)1.常數(shù)一般數(shù)、字符串?dāng)?shù)、符號(hào)常數(shù)2.符號(hào)常數(shù)定義偽指令(EQU、=)EQU偽指令格式:符號(hào)名EQU數(shù)值表達(dá)式符號(hào)名EQU<字符串>注意:EQU與=的區(qū)別EQU和=右邊也允許出現(xiàn)符號(hào),但必須先定義3.?dāng)?shù)值表達(dá)式數(shù)值表達(dá)式是由常數(shù)、寄存器、變量及標(biāo)號(hào)等用運(yùn)算符連接起來(lái)的式子,可分為算術(shù)表達(dá)式、邏輯表達(dá)式、關(guān)系表達(dá)式??沙霈F(xiàn)在指令語(yǔ)句或偽指令語(yǔ)句中(1)算術(shù)運(yùn)算符:+,-,*,/,MOD,SHL,SHR例如:MOVAX,5*(7-3)等價(jià)于MOVAX,20MOVAL,1010010BSHL2等價(jià)于MOVAL,01001000B(2)邏輯運(yùn)算符:AND,OR,XOR,NOT例如:ANDAL,03HOR05H
等效于ANDAL,07H(3)關(guān)系運(yùn)算符:EQ,NE,GT,LT,GE,LE若關(guān)系成立用0FFFFH(補(bǔ)碼-1)表示條件為真;若關(guān)系不成立用0000H表示條件為假。例如:MOVBX,((PSGE0)AND11H)OR((PSLT0)AND77H)(4)運(yùn)算符的優(yōu)先順序①(),<>,[];②*,/,MOD,SHL,SHR;③+,-;④EQ,NE,GT,LT,GE,LE;⑤NOT;⑥AND;⑦OR,XOR4.2.2地址型參數(shù)地址型參數(shù)指標(biāo)號(hào)、變量和地址表達(dá)式,包括變量名、段名、過(guò)程名,以及在指令語(yǔ)句中出現(xiàn)的含有存儲(chǔ)單元地址的參數(shù)等,可以出現(xiàn)在指令語(yǔ)句和偽指令語(yǔ)句中。1.標(biāo)號(hào)標(biāo)號(hào)是代碼段中可執(zhí)行語(yǔ)句的地址符號(hào),后面跟著冒號(hào)。被用于轉(zhuǎn)移指令和過(guò)程調(diào)用指令中做為目的地址操作數(shù)。標(biāo)號(hào)具有三種屬性。(1)段屬性:段地址在CS段中(2)偏移量屬性:距CS段首地址的偏移量(3)類型屬性:NEAR表示段內(nèi)標(biāo)號(hào),F(xiàn)AR表示段間標(biāo)號(hào),在過(guò)程調(diào)用指令中指明。2.變量變量是在地址段或其他段中存儲(chǔ)單元的地址符號(hào),做為指令的存儲(chǔ)器操作數(shù)來(lái)引用。變量具有三種屬性。(1)段屬性:變量所在的段,可以是CS,DS,SS,ES。(2)偏移量屬性:距所在段首地址的偏移量。(3)類型屬性:變量的類型由偽指令來(lái)定義,指定存取變量的一個(gè)元素所需要的數(shù)據(jù)的字節(jié)數(shù)(類型),包括DB(字節(jié))、DW(字,2字節(jié))、DD(雙字,4字節(jié))、DQ(8個(gè)字節(jié))、DT(10字節(jié))3.地址表達(dá)式地址表達(dá)式由變量、標(biāo)號(hào)、常量、寄存器及運(yùn)算符組成。地址表達(dá)式的結(jié)果是由匯編程序計(jì)算出的存儲(chǔ)器地址,沒(méi)有屬性。三、特殊運(yùn)算符特殊的運(yùn)算符只對(duì)本語(yǔ)句有效,并沒(méi)有改變變量的屬性。1.屬性替代運(yùn)算符(1)強(qiáng)制類型運(yùn)算符PTR用于給已分配的存儲(chǔ)地址賦予另一種屬性,僅在本語(yǔ)句有效,不影響原有屬性。(2)定義類型運(yùn)算符THISTHIS指令是與EQU或=配合使用,給當(dāng)前偏移地址指定一種類型屬性,同時(shí)定義了一個(gè)名字。與PTR類似,用于建立同一地址的不同類型的變量或標(biāo)號(hào),方便不同情況下使用。該名字不分配存儲(chǔ)單元,段屬性為所在的段,偏移地址為所在位置的下一個(gè)可用的存儲(chǔ)單元。格式:名字EQUTHIS類型名例如: BARRAYEQUTHISBYTE WARRAYDW3344H …… MOVAL,BARRAY ;AL=44H MOVAX,WARRAY ;AX=3344H(3)短取代運(yùn)算符SHORTSHORT設(shè)定標(biāo)號(hào)為短轉(zhuǎn)移,只用于JMP指令。轉(zhuǎn)移范圍為-128~+127字節(jié)。如:JMPSHORTNEXT2.?dāng)?shù)值返回操作符這一類操作數(shù)不改變操作數(shù)屬性,只回送操作數(shù)的某一屬性值。OFFSET變量或標(biāo)號(hào)偏移地址SEG變量或標(biāo)號(hào)段地址TYPE 變量標(biāo)號(hào)類型(DB=1,DW=2,DD=4)LENGTH 變量長(zhǎng)度(僅對(duì)DUP語(yǔ)句有效,其他變量均=1)SIZE 變量 LENGTH*TYPE例:BUF的段地址是0500H,偏移地址為0015H,BUF為字類型變量。BUFDW1111H,2255H,3333HBUF1DB9DUP(1)求下列指令執(zhí)行后寄存器的值。MOV SI,OFFSETBUF ;SI=0015HMO
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026甘肅蘭州泰基招聘53人備考題庫(kù)附答案
- 2026福建福州市連江縣融媒體中心招聘3人備考題庫(kù)附答案
- 2026西安西京初級(jí)中學(xué)教師招聘?jìng)淇碱}庫(kù)附答案
- 2026貴州金能建設(shè)工程有限公司招聘1人備考題庫(kù)附答案
- 2026重慶合川區(qū)人民醫(yī)院招聘8人參考題庫(kù)附答案
- 2026陜西渭南澄城縣征集見(jiàn)習(xí)崗位和招募就業(yè)見(jiàn)習(xí)人員的考試備考題庫(kù)附答案
- 2026青海省交通運(yùn)輸綜合行政執(zhí)法海北高速支隊(duì)招聘后勤崗1人參考題庫(kù)附答案
- 中共甘孜州委社會(huì)工作部2025年甘孜州社會(huì)化招募新興領(lǐng)域黨建工作專員(47人)參考題庫(kù)附答案
- 仙女湖區(qū)2026年公開(kāi)招聘衛(wèi)生專業(yè)技術(shù)人員考試備考題庫(kù)附答案
- 南昌職教城教育投資發(fā)展有限公司2025年第七批公開(kāi)招聘工作人員專題考試備考題庫(kù)附答案
- 建設(shè)工程測(cè)繪驗(yàn)線標(biāo)準(zhǔn)報(bào)告模板
- 2024-2025學(xué)年福建省廈門市雙十中七年級(jí)(上)期末英語(yǔ)試卷
- 漢語(yǔ)言本科畢業(yè)論文范文模板
- 2025年協(xié)警輔警招聘考試題庫(kù)(新)及答案
- 統(tǒng)編版九年級(jí)上冊(cè)語(yǔ)文期末復(fù)習(xí):全冊(cè)重點(diǎn)考點(diǎn)手冊(cè)
- 鋼結(jié)構(gòu)施工優(yōu)化策略研究
- 車間輪崗工作總結(jié)
- 天花設(shè)計(jì)施工方案
- 2025年11月15日江西省市直遴選筆試真題及解析(B卷)
- 2025年國(guó)家開(kāi)放大學(xué)(電大)《國(guó)際經(jīng)濟(jì)法》期末考試復(fù)習(xí)題庫(kù)及答案解析
- 小學(xué)生科普小知識(shí):靜電
評(píng)論
0/150
提交評(píng)論