寄存器的使用與尋址方式課件_第1頁
寄存器的使用與尋址方式課件_第2頁
寄存器的使用與尋址方式課件_第3頁
寄存器的使用與尋址方式課件_第4頁
寄存器的使用與尋址方式課件_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

三、寄存器的使用與尋址方式一、CS+IP:指令尋址 DS+偏移地址:數(shù)據(jù)尋址二、幾個常用指令三、尋址方式問題一:

寄存器和存儲器有什么不同?1.位置不同2.速度不同3.訪問方式不同4.空間大小不同

問題二:

內(nèi)存被劃分成了一個一個的段,每一個段有一個段地址?

內(nèi)存并沒有分段,段的劃分來自于CPU,由于8086CPU用“(段地址×16)+偏移地址=物理地址”的方式給出內(nèi)存單元的物理地址,使得我們可以用分段的方式來管理內(nèi)存。問題四:

如果給定一個段地址,僅通過變化偏移地址來訪問內(nèi)存,最多可以訪問(定位)多少內(nèi)存單元?偏移地址為16位,16位地址的尋址能力為:2=64K,所以一個段的長度最大為64K。問題五:

物理地址為:22345H,請寫CPU訪問該單元時可能使用的段地址和偏移地址?物理地址 段地址 偏移地址22345 2234 522345 2230 4522345 2231 3522345 2232 2522345 2200 34522345 2000 234522345 1F00 3345…… …… ……問題六:

CPU如果找到要執(zhí)行指令在內(nèi)存中的位置?指示了CPU當前要讀取指令的地址。CS為代碼段寄存器;IP為指令指針寄存器從CS:IP指向內(nèi)存單元讀取指令,讀取的指令進入指令緩沖器;IP=IP+所讀取指令的長度,從而指向下一條指令;執(zhí)行指令。轉(zhuǎn)到步驟(1),重復這個過程。問題八:

如果將數(shù)據(jù)123456H存放在內(nèi)存地址為10000H空間中,數(shù)據(jù)是如何存放的?5634121000010001100021000310004100051000610007(10000H)=123456H問題九:

8086CPU寄存器共有多少個?名字是什么?

8086寄存器組:數(shù)據(jù)寄存器:指針及變址寄存器:SP、BP、SI、DI段寄存器:CS、DS、SS、ES控制寄存器:IP、FLAGSAXBXCXDXAHALBHBLCHCLDHDL高8位低8位問題十:

8086標志寄存器空間有多大?功能是什么?標志寄存器(程序狀態(tài)字寄存器PSW)1514131211109876543210條件碼標志:控制標志:OF溢出標志DF方向標志SF符號標志IF中斷標志ZF零標志TF陷阱標志CF進位標志AF輔助進位標志PF奇偶標志OFDFIFTFSF

ZF

AF

PF

CF1指令系統(tǒng)

一組指令的集合,不同的計算機指令不同,指令集中指令的數(shù)量也不同,大體上在幾十種到百余種

操作碼

操作數(shù)...操作數(shù)一、指令:操作碼——告訴計算機要執(zhí)行的操作是什么,如:加、減、邏輯與等。操作數(shù)

——執(zhí)行操作過程所要操作的數(shù),如加運算的兩個加數(shù)。如:43INCBX8908MOVAX,BXB80010MOVAX,100002850020ADDAL,[DI+2000]C606003012MOVBYTEPTR[3000],12C70600303412MOVWORDPTR[3000],1234

二、匯編語言

匯編語言是一種符號語言,它用:

助記符——表示操作碼;

符號或符號地址——表示操作數(shù)或操作數(shù)地址.操作碼操作數(shù)傳送指令:MOVDST,SRC執(zhí)行操作:(DST)(SRC)

通用數(shù)據(jù)傳送指令MOV加法指令

加法指令:ADDDST,SRC

執(zhí)行操作:(DST)(SRC)+(DST)減法指令減法指令:SUBDST,SRC

執(zhí)行操作:(DST)(DST)-(SRC)2幾個常用指令問題指令:MOVAX,[2000]中:數(shù)字2000表示什么?[2000]表示什么?類型(或長度)是什么?MOVAX,[2000]含義是什么?指令MOVAX,2000含義是什么?數(shù)字2000表示什么?指令含義是什么?與指令MOVAX,[2000]有什么不同?指令MOVAL,[2000]含義是什么? 與指令MOVAX,[2000]有什么不同?寄存器中哪幾個寄存器可以拆開使用?段寄存器的功能與其它寄存器有什么不同?如果DS=3000,(AX)=FFEE,內(nèi)存中數(shù)據(jù)如圖所示,則執(zhí)行下列指令后,AX,AL內(nèi)數(shù)據(jù)是什么? ①MOVAX,2000;②MOVAX,[2000]; ③MOVAL,[2000]; ④MOV[2000],AX ⑤MOV[2000],AL02HF2HFFHEEHEFH8EH7FH31FFE32004MOV指令已學mov指令的幾種形式:mov寄存器,數(shù)據(jù)mov寄存器,寄存器mov寄存器,內(nèi)存單元mov內(nèi)存單元,寄存器mov段寄存器,寄存器總結(jié):操作數(shù)存在方式

在微型計算機中,操作數(shù)可能以以下三種方式存在:

操作數(shù)包含在指令中

MOVAX,1234;ADDAL,2

操作數(shù)包含在CPU的某一個內(nèi)部寄存器中

MOVDS,AX MOVBX,AX

操作數(shù)在內(nèi)存的數(shù)據(jù)區(qū)中:

MOVAX,[2000];MOV[SI],AX

EA可以由以下各種情況構(gòu)成:

直接地址—包含在指令中的16位地址偏移量。

間接地址—由CPU內(nèi)部某個16位寄存器的內(nèi)容決定,如

BX、BP、SI、DI

基址—基址寄存器BX或BP加上指令中包含的8位或16位位移量。

變址—變址寄存器SI或DI加上指令中包含的8位或16位位移量。

基址加變址—由一個基址寄存器BX或BP加上一個變址寄存器SI或DI,再加上指令中包含的8位或16位位移量。

加法指令A(yù)DD

ADC

INC

加法指令:ADDDST,SRC

執(zhí)行操作:(DST)(SRC)+(DST)

帶進位加法指令:ADCDST,SRC

執(zhí)行操作:(DST)(SRC)+(DST)+CF

加1指令:INCOPR

執(zhí)行操作:(OPR)(OPR)+1注意:*除INC指令不影響CF標志外,均對條件標志位有影響。減法指令SUBSBBDEC

減法指令:SUBDST,SRC

執(zhí)行操作:(DST)(DST)-(SRC)帶借位減法指令:SBBDST,SRC

執(zhí)行操作:(DST)(DST)-(SRC)-CF減1指令:DECOPR

執(zhí)行操作:(OPR)(OPR)-1注意:*除DEC指令不影響CF標志外,均對條件標志位有影響。add和sub指令同mov一樣,都有兩個操作對象。它們可以對段寄存器進行操作嗎?

mov、add、sub指令尋址方式例題一1.在DEBUG中編寫程序,將0B23:0000處寫入26個大寫的英文字符。要求:將程序代碼寫在數(shù)據(jù)段地址后偏移 8K處。

存儲器8K數(shù)據(jù)

256字節(jié)空

代碼02B23:0000H?H?H0B23H?H?HDSCSIP例:(DS)=0400H,EA=1234H,

物理地址=16d(DS)+EA=05234H例題二1.在DEBUG中編寫程序,將0B50:0000處寫入26個大寫的英文字符。要求:將程序代碼寫在數(shù)據(jù)段地址后偏移 8KH處。2.將上題中的26個字符復制到0B80:1200處,程序代碼寫在數(shù)據(jù)段地址后偏移10KH處。

存儲器8K數(shù)據(jù)

256字節(jié)空

代碼02B23:0000H?H?

溫馨提示

  • 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

提交評論