3-2 寄存器存儲器IO口.ppt_第1頁
3-2 寄存器存儲器IO口.ppt_第2頁
3-2 寄存器存儲器IO口.ppt_第3頁
3-2 寄存器存儲器IO口.ppt_第4頁
3-2 寄存器存儲器IO口.ppt_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一,一, 3.38086的寄存器結(jié)構(gòu)包含14個16位寄存器,依據(jù)其功能,共有3種,2種,數(shù)據(jù)寄存器,8086包含4個16位數(shù)據(jù)寄存器(可以存儲數(shù)據(jù)和地址兩者),它們包含8個8位寄存器(數(shù)據(jù)AL(Accumulator)BXBH,BL(Base)CXCH CL(Count)DXDH,DL(Data ),3,數(shù)據(jù)寄存器,AXBXCXDX,AX :累加器,算術(shù)運(yùn)算的主要寄存器, 所有的I/O指令使用該寄存器和外部機(jī)器轉(zhuǎn)送信息BX :基礎(chǔ)地址寄存器,計算存儲器地址時作為基礎(chǔ)地址存儲器使用,CX :計數(shù)器寄存器,循環(huán)和串行處理指令中作為隱式的計數(shù)器使用, 在一個循環(huán)中自動減少一個CX內(nèi)容的DX :數(shù)據(jù)寄

2、存器通常用于在進(jìn)行雙重字長運(yùn)算時,將DX和AX組合起來存儲上位字。 例如,32位乘法除法存儲高位16位(AX存儲低位16位)。 可以用于存儲I/O的端口地址。 4、地址指針寄存器、SP :堆棧指針、存儲堆棧操作地址的段內(nèi)偏移地址、段地址由段寄存器SS提供,以進(jìn)行數(shù)據(jù)的傳送、算術(shù)和邏輯運(yùn)算,其內(nèi)容是堆棧頂部的偏移地址BP :基本地址指針、存儲器內(nèi)的偏移地址的一部分,該地址方式對堆棧區(qū)域的存儲單元進(jìn)行地址。 在存儲器訪問時經(jīng)常用于存儲存儲器單元的偏移地址。 (基本點(diǎn))、5、索引寄存器、SI :源索引寄存器di :目標(biāo)索引寄存器是指令的間接尋址或索引特別是在串行操作指令中,用SI保存源操作數(shù)的偏移地

3、址,用DI保存目標(biāo)操作數(shù)的偏移地址。 通用寄存器的特定使用方法: P38表3.1。 在6、7,段寄存器,8086CPU中有4個段寄存器,因?yàn)楸4嬖诋?dāng)前程序中使用的各段的開頭地址,所以也稱為段的基本地址。 代碼段寄存器cs (代碼段)將其內(nèi)容向左移動4位,若加上指令指針I(yè)P的內(nèi)容,則形成存儲了接下來要執(zhí)行的指令的實(shí)際物理地址。 將段寄存器ds (數(shù)據(jù)段) ds的內(nèi)容向左移動4位,加上以命令中的存儲器地址方式計算的偏移地址,就是段指定的單元進(jìn)行讀寫的地址。 堆棧棧段寄存器ss (堆棧段)堆棧是按照“后出”原則組織的特殊存儲區(qū)域。 操作數(shù)的保存目的地是將SS的內(nèi)容向左移位4位,加上SP的內(nèi)容。 附加

4、段寄存器ES(ExtendedSegment )附加段通常也用于存儲內(nèi)存操作數(shù)。 字符串操作時,指示目的區(qū)域的段地址,用DI保存目的區(qū)域的偏移地址。 8、控制寄存器;1 )指令指針I(yè)P (指令指針)指令指針寄存器IP是代表16位地址指針的寄存器;2 )標(biāo)記寄存器fr (標(biāo)志寄存器)標(biāo)記寄存器是程序狀態(tài)也稱為寄存器,是16位標(biāo)志寄存器,但是僅使用其中9位的9,6個狀態(tài)標(biāo)志,CF :進(jìn)位標(biāo)志,CF=1的最高有效位產(chǎn)生進(jìn)位或進(jìn)位,CF=0的最高有效位產(chǎn)生進(jìn)位或進(jìn)位PF :奇偶校驗(yàn)PF=1表示在這次運(yùn)算中低位8位有偶數(shù)個“1”,PF=0表示有奇數(shù)個“1”。 AF :輔助進(jìn)位標(biāo)志。 AF=1表示這次運(yùn)算

5、中從第3位到第4位是有進(jìn)位還是有進(jìn)位。 AF=0表示這次運(yùn)算中沒有從第3位進(jìn)位到第4位,或者有進(jìn)位。 ZF :零標(biāo)記。 ZF=1表示本次的運(yùn)算結(jié)果為0,否則ZF=0SF :符號標(biāo)志。 SF=0是正數(shù)SF=1是負(fù)數(shù)。 OF :溢出標(biāo)志。 OF=1表示這次的運(yùn)算結(jié)果發(fā)生了溢出,除此之外的情況下OF=0。 10、3個控制標(biāo)志,DF :控制串行操作指令執(zhí)行的方向標(biāo)志。 DF=0自動遞增串行操作指令的地址。如果DF=1,則自動減量。 IF :用于控制對可以切斷的切斷的響應(yīng)的切斷標(biāo)志。 如果IF=1,則允許CPU響應(yīng)切斷中斷IF=0時,CPU無法響應(yīng)可屏蔽中斷。 PS :單步標(biāo)志。 如果TF=1,則CPU

6、進(jìn)入單步動作模式,即在每次CPU執(zhí)行指令時自動發(fā)生內(nèi)部中斷,在TF=0時CPU正常地執(zhí)行。另外,控制信息是系統(tǒng)程序和用戶程序根據(jù)需要用命令設(shè)定的狀態(tài)信息,是中央處理功能根據(jù)計算機(jī)的結(jié)果自動設(shè)定的,11,SF=1,ZF=0,PF=1,AF=1,CF=0,of=1,12,例子1: mo 在執(zhí)行BX命令后,執(zhí)行(AX)=3,OF=0,CF=0,ZF=0 SF=0示例2:MOVAX,fffffBX,1HADDAX,BX命令后,執(zhí)行(AX)=0,OF=0,CF=1,ZF=1,SF=0,13,3 、14、2、數(shù)據(jù)在內(nèi)存中的存儲格式、14、以字節(jié)為單位,各字節(jié)與固有地址對應(yīng)的各字的低位字節(jié)存儲在低位地址中,

7、高位字節(jié)存儲在高位地址中的字可以從任意地址存儲,字的地址可以是偶數(shù)地址字的存儲是對位的,在奇數(shù)地址的情況下,訪問被稱為未對位的8086偶數(shù)地址的字的指令需要總線周期,訪問奇數(shù)地址的字的指令需要兩個總線周期。 8088訪問一個字需要兩個總線周期。 15,16,3,存儲器段和物理地址的形成,17,17,段地址=6000H段開頭地址偏移地址物理地址,代碼段,60009H,00H,12H,60000H,000 邏輯地址是在程序設(shè)計時按照需要生成的地址,而不是真的單元地址。 邏輯地址由段地址和偏移地址兩部分組成,均為16比特的無符號數(shù)字,通常寫為xxxxH:yyyyH,其中邏輯地址的表示形式為段地址:偏

8、移地址。 19,19,物理地址是由段地址和偏置地址構(gòu)成的物理地址=段地址16偏置地址,0000,段地址(16比特),段開頭地址,20,21,21,4,信息的段各種操作類型訪問寄存器的地址成分,22,2, 8086的I/O組織8086/8088CPU共有20條地址線,存儲器和I/O端口的地址采用獨(dú)立的地址方式,其關(guān)系為:23、3.58086的地址方式, 機(jī)器語言指令包含操作代碼和操作數(shù)兩部分的腳本:執(zhí)行什么樣的操作數(shù):操作數(shù)數(shù)據(jù)的源和目標(biāo)腳本目標(biāo)操作數(shù)、源操作數(shù)8086的命令通常是、 在使用一個或兩個操作數(shù)的指令中,描述操作數(shù)所在的地址的方法(定義操作數(shù)的方法)是被稱為尋址方法的8086種尋址方

9、法:數(shù)據(jù)尋址方法,傳輸尋址方法。 24、操作數(shù)的存儲“位置”,桌子上,桌子抽屜中,根據(jù)操作數(shù)的存儲位置,操作數(shù)可以分為3種:即時寄存器數(shù)內(nèi)存數(shù):25, 3.5.1數(shù)據(jù)地址方式、即時地址寄存器地址直接地址寄存器間接地址寄存器由地址索引、索引地址索引和相對地址隱式地址、 26即時地址(Immediateaddressing ),指令中的源操作數(shù)是即時數(shù),即源操作數(shù)是參加操作的數(shù)據(jù)本身,00,20,操作碼,存儲器,20,00,MOVAX,2000H,代碼,AX,BX,例: MOVAX,BX的操作數(shù)在寄存器中,操作數(shù)的有效地址也不計算,因此運(yùn)算速度高。28、直接尋址,在命令“直接”中存儲操作數(shù)的有效地

10、址。 例如,MOVAX,2000H,注意區(qū)別立即地址: MOVAX,2000H,29,32000 h,直接地址,3000,0,DS :14,35,操作碼,00,20,00,14,35,MOVAX 偏移量數(shù)據(jù)段,代碼段,30,寄存器間地址,操作數(shù)的有效地址由基本地址寄存器(BX或BP )或者索引寄存器(SI或DI )指定,這4個統(tǒng)稱為中間地址例如,注意MOVAX、BP、寄存器地址的差異:適用于MOVAX、BP、顯示處理:每次執(zhí)行指令時,僅修改寄存器的內(nèi)容就能夠取出表中的下一個項目。31、寄存器間地址、35000H、5000、0、SS、a0、32、 、a0、32、MOVAX、BP、BP、5000、

11、操作碼、存儲器、1112222222222226寄存器相對地址、操作數(shù)的有效地址是, 命令中指定的8或16位的偏移與一個地址寄存器(基本地址或索引寄存器)的內(nèi)容相加,該偏移緊接在命令之后。 例如,MOVAX,ES:000hSI,33,寄存器相對地址,MOVAX,ES:000hSI,35000H,3000,0,es,34,12,si,2000,操作符,偏移量,附加數(shù)據(jù)段,代碼段,、34,基本地址索引限定地址,操作數(shù)的有效地址是基本地址寄存器(BX或BP )和索引寄存器(SI或DI )的內(nèi)容之和例如,xrorAL、BP、DI、35、0011、0100、基地址索引、xloral、BP、33000、0

12、、SS、00110100、BP、DI、1000、33000 0,0101 0100,0110,AL,36,基本地址索引相對地址(RelativebaseDIndexedaddresSIng )是操作數(shù)的有效地址與基本地址寄存器(BX或BP )索引例如,MOVAX,2050HBXSI,37,基地址索引相對地址,MOVAX,2050HBXSI,35050H,3000,0,DS,34,34,12,BX,2000,3000 30,存儲器,30000H,偏移,數(shù)據(jù)段,代碼段,38,隱式地址(Implicitaddressing )在指令的命令代碼中不包含表示操作數(shù)地址的部分,其操作碼隱含的規(guī)則因命令而異。 在這里簡單地介紹幾個。 示例1 :乘法命令MULBL或(AL)(BL)AX、被乘數(shù)AL、積AX。 示例2 :堆棧命令POPAX將堆棧頂部的數(shù)據(jù)彈出到AX,其中源操作數(shù)SS:SP為隱藏,示例3 :標(biāo)志傳送命令

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論