微機第三章第一講_第1頁
微機第三章第一講_第2頁
微機第三章第一講_第3頁
微機第三章第一講_第4頁
微機第三章第一講_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第三章80X86尋址方式與指令系統(tǒng)程序語言簡介

8086/8088的尋址方式

8086/8088指令格式

8086/8088的指令系統(tǒng)

(1)

指令、指令系統(tǒng)和程序(2)

機器碼和機器語言(3)助記符和匯編語言(4)

高級語言第一節(jié)

程序語言簡介指令、指令系統(tǒng)和程序

CPU是一個可以完成一些基本操作的電子器件。用編碼表示CPU的一個基本操作,稱為一條指令。全部指令集稱為指令系統(tǒng)。

指令系統(tǒng)反映CPU的基本功能.

指令由兩部分組成:操作碼部分,操作數(shù)部分

一個CPU的指令系統(tǒng)是固定的,不同類型的CPU其指令系統(tǒng)不同,同一系列向上兼容。程序是為要解決的問題編寫出來的指令集合。用戶為解決自己的問題所編寫的程序稱為源程序。(2)機器碼和機器語言用二進制數(shù)編碼表示的指令,稱為機器指令或機器碼。用機器語言編寫的程序稱為目標程序。機器語言特點:CPU能直接識別的唯一語言面向機器,可直接被計算機執(zhí)行執(zhí)行速度快,占用內存空間小編程效率低、可讀性差、可移值性差(3)助記符和匯編語言助記符是有助記憶、并能描述指令功能的符號。通常是指令功能的英文單詞的縮寫。例數(shù)的傳送指令用助記符MOV

用助記符等表示的指令稱為匯編格式指令例

MOVAL,0

匯編語言是匯編格式指令、偽指令及其使用的一組規(guī)則。是面向機器的語言用匯編語言編寫的程序稱匯編語言程序。例將地址為2000H和2001H的兩內存單元內容相加,結果存在地址2002H單元中。用機器碼編程:A0002002060120A20220用匯編語言編寫的程序段為:MOVAL,[2000]ADDAL,[2001]MOV[2002],AL

匯編格式指令與機器指令一一對應用匯編語言編好的程序,必須翻譯成機器碼表示的程序,計算機才能運行。

匯編程序是將匯編語言程序翻譯成機器語言的一種系統(tǒng)程序。

匯編語言和機器語言編寫的程序:面向機器,反映機器運行的實際過程,與計算機的硬件結構和指令系統(tǒng)密切相關占內存少,執(zhí)行速度快編寫繁瑣、調試困難匯編語言相對于機器語言編寫的程序:匯編語言程序,易讀易懂,便于修改。(4)高級語言高級語言是獨立于機器、面向過程或對象的語言。算法是按照人的思維方式給出,比較接近人的自然語言。上例高級語言程序段為:var3=var1+var2

由編譯程序將高級語言源程序翻譯目標程序,

(不同類型機器由于指令系統(tǒng)不同,它們的編譯程序不同)Fortran、Basic、C等均是高級語言。使用高級語言編程,效率高、可讀性、可移植性強。本課程學習匯編語言的意義:匯編語言程序反應機器運行的實際過程,通過編制匯編語言程序,加深對計算機工作過程的理解。本課程涉及到接口電路的設計及應用,在直接控制硬件的場合,匯編語言比高級語言更具優(yōu)勢,也可以更好的理解接口工作過程。由指令字節(jié)給出的信息求出操作數(shù)的地址稱為有效地址——EA尋找(得到)操作數(shù)有效地址的方法稱為操作數(shù)的尋址方法尋找(得到)操作數(shù)有效地址和存取操作數(shù)的過程稱為指令的尋址操作

一、操作數(shù)尋址方式二、程序轉移地址的尋址方式三、小結

第二節(jié)

8086/8088的尋址方式

一、操作數(shù)尋址方式共七種尋址方式:1.立即數(shù)尋址

2.寄存器尋址3.直接尋址4.寄存器間接尋址5.寄存器相對尋址6.基址加變址寄存器尋址7.相對基址加變址寄存器尋址

與內存單元尋址無關與內存單元有關的尋址(存儲器操作數(shù))立即數(shù)尋址

操作數(shù)直接存放在指令中,緊跟在操作碼之后,作為指令的一部分,存放在代碼段里,這種操作數(shù)稱為立即數(shù)。立即數(shù)可以是8位或16位

(16位的立即數(shù)是高位字節(jié)放在高地址,低位字節(jié)放在低地址)。應用場合:立即數(shù)常用來給寄存器或內存單元賦初值。例1MOVAX,2056H結果(AH)=20H(AL)=56H例2MOVAL,78H

結果(AL)=78H注意:只能用于源操作數(shù)字段,不能用于目的操作數(shù)字段。低地址高地址2.寄存器尋址方式

操作數(shù)在寄存器中,指令中指定寄存器名

8位操作數(shù),用8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL16位操作數(shù),用16位寄存器:AX、BX、CX、DX、SP、BP、SI、DICS、DS、SS、ES

這種尋址方式因為操作數(shù)在寄存器中 不需要訪問存儲器因此運算速度較高。例1MOVAX,2056H執(zhí)行后:(AX)=2056H例2MOVBL,AH執(zhí)行前:(BL)=12H,(AH)=78H執(zhí)行后:(BL)=78H,(AH)=78H例編程將CL寄存器的內容傳送到21000H單元中。MOVAX,2000HMOVDS,AX;(DS)=2000HMOVDI,1000H;(DI)=1000H

MOVDS:[DI],CL;(21000H)=(CL)地址21000H=2000:1000H

編程時,DS存放段地址2000H,段首地址為20000HDI存放偏移地址1000H指令MOVDS:[DI],CL功能:將CL寄存器中的內容傳送到以DS為段值,DI為偏移值的內存單元中以下的5種尋址方式,

操作數(shù)存放在內存中,取完指令后,還需到內存取數(shù)。指令中給出的是該操作數(shù)的地址,包括段地址和偏移地址。通過例子看到:在相應的寄存器中設定段值和偏移值,由地址加法器送出20位的地址信號,對選中的內存單元進行操作。數(shù)據(jù)暫存器PSW標志寄存器執(zhí)行部件控制電路指令譯碼器AXBXCXDXSIDIBPSP寄存器組指令隊列總線接口控制電路運算器地址總線AB數(shù)據(jù)總線DB控制總線CB地址譯碼器21000H21001H21002HIP地址加法器DSESSSCSA0100021000MOVAX,2000HMOVDS,AXMOVDI,1000HMOVDS:[DI],CL20002000A0內存單元的地址由邏輯地址給出邏輯地址由段地址:偏移地址構成▲為減短指令長度,指令中:

只給出偏移地址的來源,段地址由默認關系給出。MOVAL,[2000H]▲CPU根據(jù)偏移地址給出的方式,按默認關系自動選擇段寄存器,獲取段值,由段值、偏移值構成操作數(shù)所在內存單元的物理地址。

上例:物理地址=PA=(DS)×10H+2000H即選擇DS寄存器的內容為段地址。指令中用[]

給出偏移地址。

操作數(shù)的偏移地址又稱有效地址EA(EfficientAddress)按給出偏移地址方式的不同,分為以下5種:直接尋址

MOVAL,[1000H]寄存器間接尋址

MOVAL,[BX]寄存器相對尋址

MOVAL,[BX+10H]基址加變址寄存器

MOVAL,[BX+SI]

相對基址加變址寄存器

MOVAL,[BX+SI+10H]直接尋址方式要點:

存儲器操作數(shù)的有效地址EA在指令中直接給出。

MOVAL,[1000H]

默認段寄存器為DS。

操作數(shù)所在內存單元的物理地址為:

PA=(DS)×10H+EA例:MOVAX,[1000H]若(DS)=2000H內存操作數(shù)的物理地址為:PA=(DS)×10H+EA=2000H×10H+1000H=21000H

執(zhí)行后(AX)=3040H

21000

4000A1內存10

30指令3.直接尋址方式(Directaddressing)在匯編語言程序中,不直接用數(shù)值表示偏移地址,用符號表示地址,稱符號地址(變量名)。符號地址不用括號例符號buffer表示一個地址。

寫成MOVAX,buffer;源操作數(shù)為buffer指向的內存單元的內容符號地址(變量名)經(jīng)匯編連接后,與一個確定的數(shù)值地址相對應可用操作符Offset獲取變量的偏移地址。故PA=(DS)×10H+Offsetbuffer

指令執(zhí)行結果(AX)=0B0AH4.寄存器間接尋址(Registerindirectaddressing)操作數(shù)放在存儲器里,操作數(shù)的有效地址EA由寄存器給出,

寄存器的內容為操作數(shù)的有效地址??捎玫募拇嫫髦挥蠦X、SI、DI

、BP如:MOVAL,[BX]

MOVAH,[SI]

MOVDL,[DI]

默認段寄存器的關系:

使用BX、SI、DI,默認段寄存器為DS(BX)PA=(DS)×10H+(SI)(DI)

寄存器相對尋址(Registerrelativeaddressing)

操作數(shù)的有效地址是一個基址或變址寄存器的內容和指令中指定的8位或16位位移量(displacement)之和??捎玫募拇嫫饔蠦X、DI

、SI、BP

如:MOVAL,[BX+10H]MOVAH,[DI+20H]MOVDL,30H[SI]MOVDH,40H[BP]

默認段寄存器的關系與寄存器間接尋址相同①

使用BX、SI、DI,默認段寄存器為DS(BX)PA=(DS)×10H+(SI)+偏移量

(DI)②使用BP,默認段寄存器為SSPA=(SS

溫馨提示

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

評論

0/150

提交評論