匯編語言程序設(shè)計(jì)第5章.ppt_第1頁
匯編語言程序設(shè)計(jì)第5章.ppt_第2頁
匯編語言程序設(shè)計(jì)第5章.ppt_第3頁
匯編語言程序設(shè)計(jì)第5章.ppt_第4頁
匯編語言程序設(shè)計(jì)第5章.ppt_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第5章匯編語言語法、5.1匯編語言中的公式、常數(shù)是指將源程序翻譯為目標(biāo)程序時(shí)具有已經(jīng)確定的數(shù)值的量。 常數(shù)主要用作偽命令句中變量的初始值、機(jī)器命令句中的即時(shí)操作數(shù)、索引地址和基地址中的位移量、比例系數(shù)等。 算術(shù)運(yùn)算符算術(shù)運(yùn)算包括加法()、減法()、乘法()、除法()、模塊除法(MOD )、右移(SHR )和左移(SHL )。5.1.1數(shù)值表達(dá)式、5.1匯編語言表達(dá)式、5.1.1數(shù)值表達(dá)式和邏輯運(yùn)算符邏輯運(yùn)算包括邏輯乘法(AND )、邏輯加法(OR )、單位加法(XOR )和邏輯非()關(guān)系運(yùn)算符關(guān)系運(yùn)算包括相等(EQ )、不等(NE )、小(LT )和大(LT )。5.1匯編語言的公式、5.1.

2、2地址公式、地址公式是修正存儲(chǔ)單元地址的公式,可以由標(biāo)簽、變量名稱、括弧內(nèi)的基地址或索引寄存器構(gòu)成。 所謂標(biāo)簽,是在代碼段中定義使用的指令地址,實(shí)際上是機(jī)械指令句存儲(chǔ)地址的符號(hào)表示,也可以是子例程名,即子例程入口地址的符號(hào)表示。 該標(biāo)簽代表指令的符號(hào)地址,并且該標(biāo)簽的段屬性標(biāo)簽的偏移地址標(biāo)簽的類型、5.1匯編語言中的表達(dá)式、5.1.2地址表達(dá)式、變量包括存儲(chǔ)器中的一個(gè)數(shù)據(jù)區(qū)域的名稱,也就是說,用于數(shù)據(jù)存儲(chǔ)地址的符號(hào)表示的三種屬性變量的段屬性變量的偏移地址變量的類型變量的定義形式是變量名數(shù)據(jù)定義偽命令式、5.1匯編語言中的式、5.1.2地址式、匯編語言中的地址式的結(jié)果為存儲(chǔ)器地址,表示命令中的標(biāo)

3、簽和變量操作數(shù)。 由于地址表達(dá)式的值通常是段內(nèi)偏移地址,所以它有三個(gè)屬性:段、偏移地址和類型。 地址方式是由變量、標(biāo)簽、常數(shù)、寄存器(可以在BP、BX、SI、DI、EBX等各種存儲(chǔ)器地址方式中使用的寄存器)的內(nèi)容(寄存器名用方括號(hào)表示)和運(yùn)算符構(gòu)成的有意義的方式。 各個(gè)變量、標(biāo)簽、寄存器的內(nèi)容是地址表現(xiàn)式的特例。5.1匯編語言中的表達(dá)式、5.1.3特殊運(yùn)算符、屬性替換運(yùn)算符(1)強(qiáng)制類型運(yùn)算符PTR強(qiáng)制類型運(yùn)算符PTR明確指定某變量、標(biāo)簽或地址表達(dá)式的類型屬性,暫時(shí)兼有與原定義不同的類型屬性,但仍舊使用原來的段屬性和位移量屬性5.1.3特殊運(yùn)算符,(2)基于段的替換運(yùn)算符“:”也稱為段前綴,用

4、于臨時(shí)為變量、標(biāo)簽或地址表達(dá)式指定段屬性,有三種格式: (3) 短替換運(yùn)算符SHORT短替換運(yùn)算符“SHORT”通常在標(biāo)記之前在該指令的- 128到127字節(jié)范圍內(nèi)執(zhí)行,并且用于傳送到匯編器以生成節(jié)省1字節(jié)的機(jī)器指令。 (4)類型定義運(yùn)算符THIS類型定義運(yùn)算符“THIS”與PTR類似,用于在相同地址生成類型不同的變量和標(biāo)簽,容易通過程序訪問和傳送不同類型的變量。使用格式: THIS類型,5.1匯編語言公式,5.1.3特殊運(yùn)算符,屬性分離運(yùn)算符(1)基于段的運(yùn)算符SEG格式:從SEG變量或標(biāo)簽后面的變量或標(biāo)簽屬性中分離基于段的地址(2) 偏移地址運(yùn)算符OFFSET格式:從OFFSET變量或標(biāo)簽

5、后面的變量或標(biāo)簽的屬性中分離偏移地址,以5.1程序集語言表達(dá)式,5.1.3特殊運(yùn)算符,(3) 類型值運(yùn)算符TYPE格式:采用TYEP變量或標(biāo)簽后面的變量或標(biāo)簽的類型值的數(shù)值運(yùn)算符(1)LENGTH格式:返回LENGTH變量的變量數(shù)據(jù)項(xiàng)的個(gè)數(shù)(2)采用SIZE格式: SIZE變量數(shù)據(jù)項(xiàng)的長度字節(jié)分離表達(dá)式運(yùn)算符的優(yōu)先級(jí)級(jí)別LENGTH、SIZE、括號(hào)(括號(hào)、方括號(hào)、尖括號(hào))。 段間接前綴運(yùn)算符(:)。 PTR、偏移、SEG、類型和時(shí)間。 高,低。 * /、MOD、SHL、SHR; EQ、NE、LT、LE、GT和GE。 NOT; 與; 或、或; 短發(fā)。5.2偽指令、匯編語言的最主要特征是用助記符代

6、替機(jī)器指令的操作碼,用符號(hào)代替操作數(shù)地址或操作數(shù),這就是匯編語言中的機(jī)器指令語句。 偽指令也稱為偽操作,是在源程序配件中由配件程序處理的操作,能夠執(zhí)行選擇處理器、定義程序模式、定義數(shù)據(jù)、分配存儲(chǔ)區(qū)域、指示程序結(jié)束等功能。 因?yàn)槊總€(gè)偽指令都對(duì)應(yīng)一個(gè)處理程序,這些程序作為程序集的一部分存儲(chǔ)在磁盤上,所以用于源程序的偽指令僅由程序集識(shí)別。 匯編器在將源程序翻譯為目標(biāo)程序時(shí),每當(dāng)遇到偽指令時(shí),就轉(zhuǎn)移到對(duì)應(yīng)的處理程序執(zhí)行,通過執(zhí)行該處理程序來實(shí)現(xiàn)該偽指令的功能。5.2偽指令、32位PC系列的微機(jī)有386、486、奔騰和奔騰ii、奔騰iii、奔騰4等多種CPU,還有多種指令系統(tǒng)。 如果程序沒有用任何方法指

7、定偽指令,則匯編器MASM的缺省方法是8086/8088CPU和8087協(xié)處理器指令系統(tǒng)和浮點(diǎn)變量的IEEE格式。 這就是現(xiàn)在高中教育中廣泛使用的16位機(jī)器組裝方式,這里稱為傳統(tǒng)方式。 方法偽指令通常放置在源程序的開頭或特別需要的位置。 帶點(diǎn)“.”的方法偽指令主要是. 8086、 386、 386p、 486p、 486p、 586、 686、 MMX等,而5.2的常見段定義偽指令是SEGMENT、ENDS、ASSUME。 SEGMENT/ENDS偽命令使用格式是段名SEGMENT使用類型定位類型組合類型段名ENDS (1)使用類型、5.2.2段定義偽命令、5.2偽命令、(2)定位類型(3)組

8、合類型ASSUME段寄存器名:段名、段寄存器名:段名、5.2.2段定義偽指令、5.2偽指令、段組定義偽指令組段定義偽指令組, 可以將多個(gè)同類段組合成一個(gè)64KB的物理段的段組定義偽指令組的格式是:段組名稱組段名稱、段名稱集地址計(jì)數(shù)器偽指令ORG、5.2.2偽指令、ORG偽指令是開頭的偏移ORG偽操作常用于指定數(shù)據(jù)段存儲(chǔ)數(shù)據(jù)的地址,有時(shí)也用于指定代碼段的起始地址。 因此,可以使用ORG語句更改地址計(jì)數(shù)器的值。 格式:如果使用ORG數(shù)字表達(dá)式ORG偽指令將地址計(jì)數(shù)器的值設(shè)置為表達(dá)式的值,則ORG語句之后占用內(nèi)存的語句將從該值分配。、5.2.2級(jí)定義偽指令、5.2偽指令、在程序開始前可以使用NAME

9、或TITLE作為模塊的名稱,其形式是: NAME模塊名稱TITLE文件名指示源程序結(jié)束的偽指令的形式是、 END標(biāo)簽END偽指令中的“標(biāo)簽”是指示程序開始執(zhí)行的開始地址的多個(gè)程序模塊被連接時(shí),只對(duì)主程序的END附加標(biāo)簽,其他子程序模塊不需要只在END指定標(biāo)簽。5.2.3、5.2、5.2、80X86提供各種數(shù)據(jù)和存儲(chǔ)器分配偽指令,其中該組合器在組合源程序時(shí)完成諸如數(shù)據(jù)類型定義和存儲(chǔ)器分配之類的功能。 句子格式:變量名數(shù)據(jù)定義偽指令式、5.2.4數(shù)據(jù)定義偽指令、5.2偽指令、1. LABEL偽指令LABEL可以使同一變量具有不同的類型屬性。 變量名LABEL型或標(biāo)簽LABEL型2 .式代入偽指令EQU和=EQU是代入偽指令,對(duì)數(shù)據(jù)標(biāo)簽分配常數(shù)值,但該常數(shù)不占用存儲(chǔ)單元。 EQU可以在數(shù)據(jù)段之外使用,也可以在代碼段的中央使用。 偽指令“=”的分配與EQU相似。 這些區(qū)

溫馨提示

  • 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)論