第3-0講 指令格式與尋址方式_第1頁
第3-0講 指令格式與尋址方式_第2頁
第3-0講 指令格式與尋址方式_第3頁
第3-0講 指令格式與尋址方式_第4頁
第3-0講 指令格式與尋址方式_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

什么是指令系統(tǒng)計算機的指令系統(tǒng)就是指該計算機能夠執(zhí)行的全部指令的集合。每種計算機都有它支持的指令集合。

16位8086指令系統(tǒng)是整個Intel80x86系列微處理器指令系統(tǒng)的基礎(chǔ)。本章內(nèi)容是本課程的一個關(guān)鍵內(nèi)容。1重點本章的重點是理解8086常用指令的功能本章的關(guān)鍵是熟悉8086的寄存器組本章的難點是8086的各種尋址方式可采用調(diào)試程序DEBUG進行實踐2學習指令的注意事項指令功能——該指令能夠?qū)崿F(xiàn)何種操作。通常指令助記符就是指令功能的英文單詞或其縮寫形式。指令支持的尋址方式——該指令中的操作數(shù)可以采用何種尋址方式。指令對標志的影響——該指令執(zhí)行后是否對各個標志位有影響,以及如何影響。其他——該指令其他需要特別注意的地方,如指令執(zhí)行時的約定設(shè)置、必須預(yù)置的參數(shù)、隱含使用的寄存器等。3指令構(gòu)成指令由操作碼和操作數(shù)兩部分構(gòu)成操作碼說明計算機要執(zhí)行哪種操作,如傳送、運算、移位、跳轉(zhuǎn)等操作,它是指令中不可缺少的組成部分。操作數(shù)是指令執(zhí)行的參與者,即各種操作的對象。有些指令不需要操作數(shù),通常的指令都有一個或兩個操作數(shù),也有個別指令有3個甚至4個操作數(shù)。操作碼操作數(shù)4指令中的操作碼和操作數(shù)每種指令的操作碼:

用一個唯一的助記符表示(英文縮寫), 對應(yīng)著一個二進制編碼的機器指令。指令中的操作數(shù):

可以是一個具體的數(shù)值(立即數(shù)); 可以是存放數(shù)據(jù)的寄存器; 可以用多種方式指明尋址單元在存儲器中的地址。58086的機器代碼(MachineCode)格式指令長度:1~7個字節(jié)操作碼:1~2個字節(jié),操作數(shù):0~5個字節(jié),其中:“modregr/m”字節(jié)表明所采用的尋址方式,“位移量”字節(jié)給出某些尋址方式需要的對基地址的偏移量,“立即數(shù)”字節(jié)給出立即尋址方式需要的數(shù)值。操作數(shù)的各個字段有多種組合,如表2.2所示6匯編語言指令格式由4部分組成:標號表示該指令在主存中的邏輯地址,每個指令助記符就代表一種指令,目的操作數(shù)和源操作數(shù)表示參與操作的對象,注釋通常是對該指令或這段程序功能的說明。標號:指令助記符目的操作數(shù),源操作數(shù);注釋7指令操作數(shù)的泛指表示r8 ——泛指8位通用寄存器AH/AL/BH/BL/CH/CL/DH/DL r16 ——泛指16位通用寄存器AX/BX/CX/DX/SI/DI/BP/SP reg ——泛指r8或r16seg ——泛指段寄存器CS/DS/ES/SSm8 ——泛指8位存儲器操作數(shù)單元(包括所有尋址方式) m16 ——泛指16位存儲器操作數(shù)單元(包括所有尋址方式) mem ——泛指m8或m16i8 ——泛指8位立即數(shù) i16 ——泛指16位立即數(shù) imm ——泛指i8或i16dest——泛指目的操作數(shù) src ——泛指源操作數(shù)8段寄存器和邏輯段8086有4個16位的段寄存器: CS(代碼段寄存器)用來指明代碼段的首地址 SS(堆棧段寄存器)指明堆棧段的首地址 DS(數(shù)據(jù)段寄存器)指明數(shù)據(jù)段的首地址 ES(附加段寄存器)指明附加段的首地址段寄存器用來指明某個段的起始地址。在尋址時,以上4個段寄存器提供的段地址有著不同的用法。9代碼段(CodeSegment)代碼段主要用來存放指令代碼(程序),也可存放數(shù)據(jù):代碼段寄存器CS存放代碼段的段地址,指令指針寄存器IP指示下條指令的偏移地址;處理器利用CS:IP取得下一條要執(zhí)行的指令。10堆棧段(StackSegment)堆棧段用于堆棧,用于保存程序斷點、和現(xiàn)場、向子程序傳遞參數(shù)等:堆棧段寄存器SS存放堆棧段的段地址,堆棧指針寄存器SP指示堆棧棧頂?shù)钠频刂?;處理器利用SS:SP操作堆棧頂?shù)臄?shù)據(jù)。11數(shù)據(jù)段(DataSegment)數(shù)據(jù)段存放程序所使用的數(shù)據(jù):數(shù)據(jù)段寄存器DS存放數(shù)據(jù)段的段地址,各種存儲器尋址方式得到存儲器中操作數(shù)的偏移地址(有效地址EA)

。處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)。12附加段(ExtraSegment)附加段是附加的數(shù)據(jù)段,也用于數(shù)據(jù)的保存:附加段寄存器ES存放附加段的段地址,通過各種主存尋址方式(有效地址EA)得到存儲器中操作數(shù)的偏移地址。處理器利用ES:EA存取附加段中的數(shù)據(jù)。串操作指令將附加段作為其目的操作數(shù)的存放區(qū)域13程序員如何分配各個邏輯段程序的指令序列必須安排在代碼段;程序使用的堆棧一定在堆棧段;程序中的數(shù)據(jù)默認是安排在數(shù)據(jù)段,也經(jīng)常安排在附加段,尤其是串操作的目的區(qū)必須是附加段。數(shù)據(jù)的存放比較靈活,實際上可以存放在任何一種邏輯段中。程序中如何指明數(shù)據(jù)所在的邏輯段呢?148086的尋址方式本節(jié)從8086的機器代碼格式入手,論述:立即數(shù)尋址方式寄存器尋址方式存儲器尋址方式進而熟悉8086匯編語言指令格式, 尤其是其中操作數(shù)的表示方法; 為展開8086指令系統(tǒng)做好準備。15尋址方式指令系統(tǒng)設(shè)計了多種操作數(shù)的來源,尋找操作數(shù)的過程就是操作數(shù)的尋址方式。操作數(shù)采取哪一種尋址方式,會影響機器運行的速度和效率。如何尋址一個操作數(shù)對程序的設(shè)計來講很重要。16立即數(shù)尋址方式指令中直接給出操作數(shù),(操作數(shù)作為指令的一部分存放在操作碼之后的主存單元中)。這種操作數(shù)被稱為立即數(shù)imm 它可以是8位數(shù)值i8(00H~FFH), 也可以是16位數(shù)值i16(0000H~FFFFH)。立即數(shù)尋址方式常用來給寄存器賦值。MOVAL,05H ;AL←05HMOVAX,0102H ;AX←0102H17寄存器尋址方式操作數(shù)存放在CPU的內(nèi)部寄存器reg中,可以是:8位寄存器r8:

AH/AL/BH/BL/CH/CL/DH/DL;16位寄存器r16:

AX/BX/CX/DX/SI/DI/BP/SP; INCAL

MOVBX,AX

;BX←AX18存儲器尋址方式指令中給出操作數(shù)的主存地址信息(偏移地址,稱之為有效地址EA),而段地址在默認的或用段超越前綴指定的段寄存器中。8086設(shè)計了多種存儲器尋址方式

1、直接尋址方式

2、寄存器間接尋址方式

3、寄存器相對尋址方式

4、基址變址尋址方式

5、相對基址變址尋址方式19直接尋址方式有效地址在指令中直接給出默認的段地址在DS段寄存器,可使用段超越前綴改變 MOVAX,[2000H]

;AX←DS:[2000H];指令代碼:A10020 MOVAX,ES:[2000H]

;AX←ES:[2000H];指令代碼:26A1002020(寄存器)間接尋址方式有效地址存放在基址寄存器BX或變址寄存器SI、DI中。默認的段地址在DS段寄存器,可使用段超越前綴MOVAX,[SI]

;AX←DS:[SI]21(寄存器)相對尋址方式有效地址是寄存器內(nèi)容與有符號8位或16位位移量之和,寄存器可以是BX、BP或SI、DI。有效地址=BX/BP/SI/DI+8/16位位移量段地址對應(yīng)BX/SI/DI寄存器默認是DS,對應(yīng)BP寄存器默認是SS;可用段超越前綴改變。MOVAX,[DI+06H]

;AX←DS:[DI+06H]MOVAX,[BP+06H]

;AX←SS:[BP+06H]22基址變址尋址方式有效地址由基址寄存器(BX或BP)的內(nèi)容加上變址寄存器(SI或DI)的內(nèi)容構(gòu)成: 有效地址=BX/BP+SI/DI段地址對應(yīng)BX基址寄存器默認是DS,對應(yīng)BP基址寄存器默認是SS;可用段超越前綴改變。MOVAX,[BX+SI]

;AX←DS:[BX+SI]MOVAX,[BP+DI]

;AX←SS:[BP+DI]MOVAX,DS:[BP+DI]

;AX←DS:[BP+DI]23相對基址變址尋址方式有效地址是基址寄存器(BX/BP)、變址寄存器(SI/DI)與一個8位或16位位移量之和:有效地址EA=BX/BP+SI/DI+8/16位位移量段地址對應(yīng)BX基址寄存器默認是DS,對應(yīng)BP基址寄存器默認是SS;可用段超越前綴改變。

MOVAX,[BX+SI+06H]

;AX←DS:[BX+SI+06H]注意:(1)位移量可用符號表示 (2)同一尋址方式有多種表達方式24位移量可用符號表示在寄存器相對尋址或相對基址變址尋址方式中,位移量可用符號表示:MOVAX,[SI+COUNT];COUNT事先定義有數(shù)值MOVAX,[BX+SI+WNUM];WNUM事先定義有數(shù)值25同一尋址方式有多種表示形式同一尋址方式有時可有不同的表示形式: MOVAX,[BX][SI] MOVAX,[BX+SI] MOVAX,COUNT[SI] MOVAX,[SI+COUNT] MOV

溫馨提示

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

最新文檔

評論

0/150

提交評論