版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第4章章 匯編語言程序格式匯編語言程序格式第四章 匯編語言1第一頁(yè),共19頁(yè)。4.1、匯編語言的功能、匯編語言的功能匯編語言是面向機(jī)器構(gòu)造的低級(jí)程序設(shè)計(jì)語言,是把機(jī)器語言符號(hào)化。匯編語言是面向機(jī)器構(gòu)造的低級(jí)程序設(shè)計(jì)語言,是把機(jī)器語言符號(hào)化。用匯編語言編的程序稱為匯編語言源程序,源程序必須經(jīng)過用匯編語言編的程序稱為匯編語言源程序,源程序必須經(jīng)過“匯編,生成目的代碼,經(jīng)過匯編,生成目的代碼,經(jīng)過“連接后生成執(zhí)行連接后生成執(zhí)行文件,方可直接運(yùn)行。文件,方可直接運(yùn)行。匯編語言源程序構(gòu)造:匯編語言源程序構(gòu)造:例例1:用匯編語言編寫:求解:用匯編語言編寫:求解Y=2A+B-C的程序的程序匯編語言源程序目
2、標(biāo)碼程序可執(zhí)行的目標(biāo)碼程序編輯程序匯編程序連接程序程序名.asm程序名.obj程序名.exe匯編語言的建立及匯編過程第四章 匯編語言2第二頁(yè),共19頁(yè)。DATA SEGMENTA DB 25B DB 43 C DB 76 Y DB ? DATA ENDSSTACK1 SEGMENT PARA STACKDW 20H DUP0STACK1 ENDSCOSEG SEGMENT ASSUME CS:COSEG, DS:DATA,SS:STACK1START:MOV AX,DATA MOV DS,AX MOV AL,A ADD AL,B SAL AL,1 SUB AL,C MOV Y,AL MOV A
3、H,4CH INT 21HCOSEG ENDS END START192B4C00B8XXXX8ED8B44CCD21數(shù)據(jù)段數(shù)據(jù)段堆棧段堆棧段代碼段代碼段第四章 匯編語言3第三頁(yè),共19頁(yè)。4.2、偽操作、偽操作匯編語言源程序由匯編語言語句組成:匯編語言源程序由匯編語言語句組成:指令語句:也稱可執(zhí)行語句。每條語句都有對(duì)應(yīng)的目的代碼,代表計(jì)算機(jī)具有的一個(gè)根本才能。指令語句:也稱可執(zhí)行語句。每條語句都有對(duì)應(yīng)的目的代碼,代表計(jì)算機(jī)具有的一個(gè)根本才能。偽指令語句:用于指示匯編程序如何匯編源程序的語句。部分語句產(chǎn)生目的代碼,部分語句不偽指令語句:用于指示匯編程序如何匯編源程序的語句。部分語句產(chǎn)生目的代碼
4、,部分語句不產(chǎn)生目的代碼。產(chǎn)生目的代碼。宏指令語句:為進(jìn)步編程效率而使用的擴(kuò)展指令。宏指令語句:為進(jìn)步編程效率而使用的擴(kuò)展指令。指令語句與偽指令語句格式:指令語句與偽指令語句格式: 標(biāo)識(shí)符標(biāo)識(shí)符 操作符操作符 操作數(shù)操作數(shù) ;注釋;注釋標(biāo)識(shí)符:任選段。指令語句為標(biāo)號(hào),以:完畢。標(biāo)識(shí)符:任選段。指令語句為標(biāo)號(hào),以:完畢。字符個(gè)數(shù)為字符個(gè)數(shù)為131個(gè);個(gè);第一個(gè)字符必須是字母、第一個(gè)字符必須是字母、“?、?、“、或、或“;不得使用系統(tǒng)保存字。不得使用系統(tǒng)保存字。第四章 匯編語言4第四頁(yè),共19頁(yè)。指令語句與偽指令語句格式:續(xù)指令語句與偽指令語句格式:續(xù) 名字名字 操作符操作符 操作數(shù)操作數(shù) ;注釋
5、;注釋操作符:即指令的助記符,指明語句的功能。操作符:即指令的助記符,指明語句的功能。操作數(shù):指明指令的操作對(duì)象。操作數(shù):指明指令的操作對(duì)象。注釋:任選段。以注釋:任選段。以“;開場(chǎng);開場(chǎng)第四章 匯編語言5第五頁(yè),共19頁(yè)。4.2.1、處理器選擇偽操作、處理器選擇偽操作功能:指示匯編程序選擇哪一種指令系統(tǒng)功能:指示匯編程序選擇哪一種指令系統(tǒng) 主要有:主要有: .8086 選擇選擇8086指令系統(tǒng)指令系統(tǒng) .286 選擇選擇80286指令系統(tǒng)指令系統(tǒng) .586 選擇選擇Pentium指令系統(tǒng)指令系統(tǒng) .586P 選擇保護(hù)方式下的選擇保護(hù)方式下的Pentium指令系統(tǒng)指令系統(tǒng)第四章 匯編語言6第六
6、頁(yè),共19頁(yè)。4.2.2、段定義偽操作、段定義偽操作1、完好的段定義偽指令、完好的段定義偽指令語句格式:語句格式: 段名段名 SEGMENT 定位類型定位類型組合類型組合類型類別名類別名 本段語句序列本段語句序列 指令或數(shù)據(jù)指令或數(shù)據(jù) 段名段名 ENDS功能:在內(nèi)存中設(shè)置一個(gè)邏輯段。功能:在內(nèi)存中設(shè)置一個(gè)邏輯段。定位類型:表示某段裝入內(nèi)存時(shí),對(duì)段起始邊界的要求。定位類型:表示某段裝入內(nèi)存時(shí),對(duì)段起始邊界的要求。 有四種選擇:有四種選擇:PAGE頁(yè):段從一個(gè)頁(yè):段從一個(gè)“頁(yè)的邊界開場(chǎng),頁(yè)的邊界開場(chǎng),256個(gè)字節(jié)為一頁(yè),段起始地址低個(gè)字節(jié)為一頁(yè),段起始地址低8位為位為0。PARA節(jié):隱含值。段從一
7、個(gè)節(jié):隱含值。段從一個(gè)“節(jié)的邊界開場(chǎng),節(jié)的邊界開場(chǎng),16個(gè)字節(jié)為一節(jié),段起始地址低個(gè)字節(jié)為一節(jié),段起始地址低4位為位為0 。WORD字:段從一個(gè)偶字節(jié)地址開場(chǎng),段起始地址低字:段從一個(gè)偶字節(jié)地址開場(chǎng),段起始地址低1位為位為0 。BYTE字節(jié):段可從任一個(gè)地址開場(chǎng)。字節(jié):段可從任一個(gè)地址開場(chǎng)。第四章 匯編語言7第七頁(yè),共19頁(yè)。組合類型:說明多個(gè)程序塊連接時(shí),本模塊與其它模塊的同名段如何組合,有組合類型:說明多個(gè)程序塊連接時(shí),本模塊與其它模塊的同名段如何組合,有6種選擇:種選擇:None/PRIVATE:隱含值,表示本段與其他段無連接關(guān)系。:隱含值,表示本段與其他段無連接關(guān)系。PUBLIC:表示
8、把一樣段名、定位類型,組合類型也是:表示把一樣段名、定位類型,組合類型也是PUBLIC的段連接在一起,共同占用連續(xù)的存儲(chǔ)單元,的段連接在一起,共同占用連續(xù)的存儲(chǔ)單元,形成一個(gè)新段,重新調(diào)整偏移量。形成一個(gè)新段,重新調(diào)整偏移量。COMMON:表示一樣段名和組合類型也是:表示一樣段名和組合類型也是COMMON的段是覆蓋的,共享最大的段存儲(chǔ)區(qū)。的段是覆蓋的,共享最大的段存儲(chǔ)區(qū)。STACK:產(chǎn)生一個(gè)堆棧段,并把一樣段名的段連接成一個(gè)連續(xù)段,系統(tǒng)自動(dòng)設(shè)置:產(chǎn)生一個(gè)堆棧段,并把一樣段名的段連接成一個(gè)連續(xù)段,系統(tǒng)自動(dòng)設(shè)置SS為段的起為段的起始地址并初始化始地址并初始化SP值。值。AT 表達(dá)式:表示本段的起始
9、單元可定位在表達(dá)式所示表達(dá)式:表示本段的起始單元可定位在表達(dá)式所示“節(jié)的邊界上。節(jié)的邊界上。MEMORY:表示本段的存儲(chǔ)地址在所有段的最高處。:表示本段的存儲(chǔ)地址在所有段的最高處。類別名:在鏈接處理時(shí),類別名:在鏈接處理時(shí),LINK把類別一樣的段存放在連續(xù)的存儲(chǔ)區(qū)內(nèi)。把類別一樣的段存放在連續(xù)的存儲(chǔ)區(qū)內(nèi)。第四章 匯編語言8第八頁(yè),共19頁(yè)。2、段尋址偽指令、段尋址偽指令語句格式:語句格式: ASSUME 段存放器名:段名,段存放器名:段名,段存放器名:段名,段存放器名:段名,功能:指定當(dāng)前段,及當(dāng)前段的段存放器名。功能:指定當(dāng)前段,及當(dāng)前段的段存放器名。取消取消 ASSUME 設(shè)置設(shè)置: ASS
10、UME 段存放器名段存放器名 :NOTHING。例9: DS_DATA SEGMENT VAR1 DB 12H DS_DATA ENDS ES_DATA SEGMENT VAR2 DB 34H ES_DATA ENDS CODE SEGMENT VAR3 DB 56H ASSUME CS:CODE,DS:DS_DATA,ES:ES_DATASTART INC VAR1 INC VAR2 INC VAR3 CODE ENDSEND START ASSUME偽指令沒有對(duì)段存放器賦值第四章 匯編語言9第九頁(yè),共19頁(yè)。3、段存放器的裝入、段存放器的裝入(1)DS、ES裝入裝入:通過程序裝入:通過程序
11、裝入: MOV AX,DATA_DSMOV DS,AX(2)SS裝入裝入SS、SP同時(shí)裝入同時(shí)裝入:段定義偽指令組合類型用段定義偽指令組合類型用“STACK時(shí),系統(tǒng)自動(dòng)裝入。時(shí),系統(tǒng)自動(dòng)裝入。程序裝入,同程序裝入,同1。(3)CS裝入裝入:CS、IP同時(shí)裝入同時(shí)裝入系統(tǒng)用完畢偽指令裝入。格式系統(tǒng)用完畢偽指令裝入。格式 :END 起始地址起始地址通過分支指令修改時(shí)裝入。如通過分支指令修改時(shí)裝入。如CALL、JMP等。等。立即數(shù)不能直接傳給段存放器第四章 匯編語言10第十頁(yè),共19頁(yè)。4.2.3、程序的完畢、程序的完畢 使用使用 END 第四章 匯編語言11第十一頁(yè),共19頁(yè)。匯編語言的數(shù)據(jù)種類:
12、匯編語言的數(shù)據(jù)種類:常量常量變量變量標(biāo)號(hào)標(biāo)號(hào)4.2.4、數(shù)據(jù)定義及存儲(chǔ)器的分配偽指令、數(shù)據(jù)定義及存儲(chǔ)器的分配偽指令第四章 匯編語言12第十二頁(yè),共19頁(yè)。變量:實(shí)際為內(nèi)存單元的數(shù)據(jù),并為該存儲(chǔ)單元取變量:實(shí)際為內(nèi)存單元的數(shù)據(jù),并為該存儲(chǔ)單元取 名字。其數(shù)據(jù)可以改變。名字。其數(shù)據(jù)可以改變。變量的屬性:變量的屬性: 1 1、段屬性:變量所在段址。、段屬性:變量所在段址。 2 2、偏移地址屬性:所在段的偏移地址。、偏移地址屬性:所在段的偏移地址。 3 3、類型屬性:變量所占的字節(jié)數(shù)。、類型屬性:變量所占的字節(jié)數(shù)。 第四章 匯編語言13第十三頁(yè),共19頁(yè)。變量名變量名 DB/DW/DD DB/DW/D
13、D 表達(dá)式表達(dá)式, ,表達(dá)式,表達(dá)式,功能:功能: 為數(shù)據(jù)分配存儲(chǔ)單元,并用變量名作為該為數(shù)據(jù)分配存儲(chǔ)單元,并用變量名作為該 存儲(chǔ)器的名稱。存儲(chǔ)器的名稱。例:數(shù)值變量定義例:數(shù)值變量定義 DATA_BYTE DB 10,4,10H DATA_BYTE DB 10,4,10H DATA_WORD DW 100,100H,-5 DATA_WORD DW 100,100H,-5 DATA_DW DD 3 DATA_DW DD 3* *20,0FFFDH20,0FFFDH T1 DB HELLO T1 DB HELLO0100006410040ADATA_BYTEDATA_BYTEDATA_WORDD
14、ATA_WORD01004F4C4C45高高48第四章 匯編語言14第十四頁(yè),共19頁(yè)。變量定義偽指令變量定義偽指令 DB- DB-字符串的定義字符串的定義 例例2、字符串變量定義:表達(dá)式由、字符串變量定義:表達(dá)式由ASCII碼字符組成碼字符組成,存儲(chǔ)數(shù)存儲(chǔ)數(shù)據(jù)為據(jù)為ASCII代碼。代碼。 STR1 DB STRSTR1 DB STR,GGTSIRG00STR2STRGSTR1STR2 DW STSTR2 DW ST,RIRI,GGSTR3 DD STSTR3 DD ST, G GTS0000G000000STR3單元分配原那么單元分配原那么: :1 1、DBDB單個(gè)字符串最多單個(gè)字符串最多2
15、55255個(gè)字符個(gè)字符, ,按順序存放;按順序存放;2 2、DW DW 單個(gè)字符串最多單個(gè)字符串最多2 2個(gè)字符個(gè)字符, ,按高地址存高字節(jié)代碼存放;按高地址存高字節(jié)代碼存放;3 3、DDDD單個(gè)字符串最多單個(gè)字符串最多2 2個(gè)字符個(gè)字符, ,高高2 2位為位為00,00,低低2 2位同位同DW.DW.第四章 匯編語言15第十五頁(yè),共19頁(yè)。 變量定義偽指令變量定義偽指令 DB- DB-?、?、DUP DUP ?表達(dá)式:只分配存儲(chǔ)單元。表達(dá)式:只分配存儲(chǔ)單元。帶帶DUP表達(dá)式:重復(fù)分配存儲(chǔ)單元。表達(dá)式:重復(fù)分配存儲(chǔ)單元。格式格式: 表達(dá)式表達(dá)式1 DUP(表達(dá)式表達(dá)式2)表達(dá)式表達(dá)式1為重復(fù)次
16、數(shù)為重復(fù)次數(shù),表達(dá)式表達(dá)式2為重復(fù)數(shù)據(jù)內(nèi)容。為重復(fù)數(shù)據(jù)內(nèi)容。例例3:DAB1 DB 8 DUP?DAB2 DW 4 DUPSTDAB3 DW 4 DUP 4DAB4 DB 2 DUP 4 DUP3,8DAB5 DW 2 DUP 4 DUP 3,8TSTSTSTSDAB20000000000000000DAB1400400400400DAB33333833338DAB430303030803030303080DAB5DAB DB DAB DB ?,?,?DAW DW DAW DW ?DAD DD ?DAD DD ?224第四章 匯編語言16第十六頁(yè),共19頁(yè)。常量:表示一個(gè)固定的數(shù)值。常量:表示
17、一個(gè)固定的數(shù)值。分類:分類: 1 1、常數(shù):指由、常數(shù):指由2 2、8 8、1010、1616進(jìn)制表達(dá)的數(shù)值。進(jìn)制表達(dá)的數(shù)值。 默認(rèn)進(jìn)制的設(shè)置:默認(rèn)進(jìn)制的設(shè)置:RADIX nRADIX n 2 2、字符串:使用單引號(hào)或雙引號(hào)括起來的單個(gè)、字符串:使用單引號(hào)或雙引號(hào)括起來的單個(gè) 或多個(gè)字符或多個(gè)字符, ,其數(shù)值為其所對(duì)應(yīng)的其數(shù)值為其所對(duì)應(yīng)的 ASCII ASCII碼。碼。 例:例:DD、ASDF ASDF 4.2.5、表達(dá)式賦值偽指令、表達(dá)式賦值偽指令EQU第四章 匯編語言17第十七頁(yè),共19頁(yè)。符號(hào)定義作用:用符號(hào)表示常數(shù)或表達(dá)式。符號(hào)定義作用:用符號(hào)表示常數(shù)或表達(dá)式。 等值語句等值語句語句格式:符號(hào)語句格式:符號(hào)EQU EQU 表達(dá)式表達(dá)式功能:將功能:將EQUEQU右邊表達(dá)式的值賦給符號(hào)。右邊表達(dá)式的值賦給符號(hào)。 注意:注意:表達(dá)式可以為常數(shù)、數(shù)值表達(dá)式、地址表達(dá)式、變量或標(biāo)號(hào)。表達(dá)式可以為常數(shù)、數(shù)值表達(dá)式、地址表達(dá)式、變量或標(biāo)號(hào)。EQUEQU語句不產(chǎn)生目的代碼,不占存儲(chǔ)單元。語句不產(chǎn)生目的代碼,不占存儲(chǔ)單元。在同一源程序中,同一符號(hào)不能用在同一源程序中,同一符號(hào)不能用EQUEQU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《診斷學(xué)胸部評(píng)估》課件
- 2024年黑龍江省《消防員資格證之一級(jí)防火考試》必刷500題標(biāo)準(zhǔn)卷
- 中級(jí)微觀經(jīng)濟(jì)學(xué)范里安課件ch
- 2024年高考生物必修全部和選修1基礎(chǔ)知識(shí)清單(以問題串形式呈現(xiàn))含答案
- 單位管理制度集粹匯編【人事管理】十篇
- 《盆景制作與欣賞》課件
- 單位管理制度匯編大合集【人力資源管理篇】
- 高中語文文言文閱讀部分
- 單位管理制度范例選集【職工管理】十篇
- 單位管理制度范例合集【人員管理】十篇
- 2024年1月電大國(guó)家開放大學(xué)期末試題及答案:農(nóng)村政策法規(guī)
- (高清版)DZT 0261-2014 滑坡崩塌泥石流災(zāi)害調(diào)查規(guī)范(1:50000)
- 2024年中職《餐飲服務(wù)與管理》職教高考必備考試題庫(kù)(含答案)
- 招商崗位轉(zhuǎn)正述職報(bào)告
- 長(zhǎng)沙衛(wèi)生職業(yè)學(xué)院?jiǎn)握袇⒖荚囶}庫(kù)(含答案)
- 抖音運(yùn)營(yíng)述職報(bào)告
- 統(tǒng)編版語文八年級(jí)上冊(cè)第一單元作業(yè)設(shè)計(jì)
- 農(nóng)村產(chǎn)權(quán)交易工作總結(jié)
- 網(wǎng)絡(luò)營(yíng)銷:推廣與策劃(第3版 慕課版)課件 項(xiàng)目三感悟網(wǎng)絡(luò)營(yíng)銷策略(知識(shí)基石)
- 四年級(jí)下冊(cè)混合運(yùn)算100道及答案
- 浙江省寧波市慈溪市2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)
評(píng)論
0/150
提交評(píng)論