80 x86微處理器 微機(jī)原理.ppt_第1頁(yè)
80 x86微處理器 微機(jī)原理.ppt_第2頁(yè)
80 x86微處理器 微機(jī)原理.ppt_第3頁(yè)
80 x86微處理器 微機(jī)原理.ppt_第4頁(yè)
80 x86微處理器 微機(jī)原理.ppt_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、教學(xué)內(nèi)容,本章在簡(jiǎn)要介紹80 x86系列微處理器的發(fā)展概況及其性 能特性的基礎(chǔ)上,首先重點(diǎn)介紹8086/8088 CPU的內(nèi)部結(jié)構(gòu)、 寄存器結(jié)構(gòu)、引腳功能以及存儲(chǔ)器管理等;之后簡(jiǎn)要介紹具 有代表性的Intel 主流CPU系列的最新技術(shù)發(fā)展方向,從應(yīng)用 角度介紹80 x86系列微處理器內(nèi)部寄存器結(jié)構(gòu)及其使用方法; 然后對(duì)80 x86存儲(chǔ)器管理方式(實(shí)方式、保護(hù)方式和虛擬8086 方式)進(jìn)行介紹。具體內(nèi)容如下: 1、80 x86微處理器簡(jiǎn)介 2、8086/8088微處理器 3、8086/8088存儲(chǔ)器和I/O組織 4、80286到 Pentium 系列的技術(shù)發(fā)展,學(xué)習(xí)要求,微處理器(CPU)是構(gòu)成

2、微型計(jì)算機(jī)的核心部件,是全機(jī)的控 制中心,它控制全機(jī)各功能部件協(xié)調(diào)工作,它的性能決定了 整個(gè)微型計(jì)算機(jī)的性能和系統(tǒng)結(jié)構(gòu)。因此,學(xué)習(xí)和掌握微處 理器的內(nèi)部結(jié)構(gòu)和工作原理是學(xué)習(xí)這門(mén)課的重要基礎(chǔ)。 本章具體學(xué)習(xí)要求如下: 1、掌握8086/8088CPU的內(nèi)部結(jié)構(gòu)及工作原理。 2、掌握8086/8088CPU中14個(gè)寄存器的分類、作用及有關(guān) 寄存器的特定用法。 3、掌握8086/8088存儲(chǔ)器的分段管理方式;掌握邏輯地址、 物理地址的概念以及如何由邏輯地址求物理地址。 4、了解8086/8088CPU的引腳及其功能。,第3章 80 x86微處理器,3.1 80 x86微處理器簡(jiǎn)介 3.2 8086/

3、8088微處理器 3.3 8086/8088存儲(chǔ)器和I/O組織 3.4 從80286到Pentium系列的技術(shù)發(fā)展,3.1 80 x86微處理器簡(jiǎn)介,80 x86微處理器是美國(guó)Intel 公司生產(chǎn)的系列微處理器。該公司成立于1968年,1969年就設(shè)計(jì)了4位的4004 芯片,1973年開(kāi)發(fā)出8位的8080芯片,1978年正式推出16位的8086微處理器芯片,由此開(kāi)始了Intel公司的80 x86系列微處理器的生產(chǎn)歷史。本節(jié)簡(jiǎn)要介紹Intel公司80 x86系列微處理器的發(fā)展過(guò)程及其特性。 表3.1給出了80 x86系列微處理器概況。下面通過(guò)對(duì)表中有關(guān)技術(shù)數(shù)據(jù)的分析來(lái)說(shuō)明Intel 80 x86

4、系列微處理器的發(fā)展情況。,表3.1 80 x86系列微處理器概況,集成度CPU芯片中所包含的晶體管數(shù)。 主頻芯片所使用的主時(shí)鐘頻率,它直接影響計(jì)算機(jī)的運(yùn)行速度。 數(shù)據(jù)總線計(jì)算機(jī)中各個(gè)組成部件間進(jìn)行數(shù)據(jù)傳送時(shí)的公共通道,“內(nèi)數(shù)據(jù)總線寬度”是指CPU芯片內(nèi)部數(shù)據(jù)傳送的寬度(位數(shù)),“外數(shù)據(jù)總線寬度”是指CPU與外部交換數(shù)據(jù)時(shí)的數(shù)據(jù)寬度,顯然,數(shù)據(jù)總線位數(shù)越多,數(shù)據(jù)交換的速度就越快。,基本概念,地址總線在對(duì)存儲(chǔ)器或I/O端口進(jìn)行訪問(wèn)時(shí),傳送由CPU提供的要訪問(wèn)的存儲(chǔ)單元或I/O端口的地址信息的總線,其寬度決定了處理器能直接訪問(wèn)的主存容量大小。如8086有20根地址線,使用這20根地址線上不同地址信息

5、的組合,可直接對(duì)220=1M個(gè)存儲(chǔ)單元進(jìn)行訪問(wèn);Pentium II有36根地址線,因此它可直接尋址的最大地址范圍為236=64G。,高速緩沖存儲(chǔ)器Cache 的使用,大大減少了CPU讀取指令和操作數(shù)所需的時(shí)間,使CPU的執(zhí)行速度顯著提高。為了滿足微型計(jì)算機(jī)對(duì)存儲(chǔ)器系統(tǒng)高速度、大容量、低成本的要求,目前,微型計(jì)算機(jī)系統(tǒng)采用如圖3.1所示的三級(jí)存儲(chǔ)器組織結(jié)構(gòu),即由高速緩沖存儲(chǔ)器Cache、主存和外存組成。,圖3.1 存儲(chǔ)器三級(jí)結(jié)構(gòu),主存 當(dāng)前正在執(zhí)行的程序或要使用的數(shù)據(jù)必須從外存調(diào)入主存后才能被CPU讀取并執(zhí)行,主存容量通常為MB級(jí); 外存當(dāng)前沒(méi)有使用的程序可存入外存,外存的容量通常很大,可達(dá)G

6、B甚至TB級(jí); Cache(高速緩沖存儲(chǔ)器)最大特點(diǎn)是存取速度快,但容量較小,通常為KB級(jí),將當(dāng)前使用頻率較高的程序和數(shù)據(jù)通過(guò)一定的替換機(jī)制從主存放入Cache,CPU在取指令或讀取操作數(shù)時(shí),同時(shí)對(duì)Cache和主存進(jìn)行訪問(wèn),如果Cache命中,則終止對(duì)主存的訪問(wèn),直接從Cache中將指令或數(shù)據(jù)送CPU處理,由于Cache的速度比主存快得多。 Cache的使用大大提高了CPU讀取指令或數(shù)據(jù)的速度。,3.2 8086/8088微處理器,8086有16條數(shù)據(jù)總線,可以處理8位或16位數(shù)據(jù)。有20條地址總線,可以直接尋址1M(220)字節(jié)的存儲(chǔ)單元。在8086推出后不久,為方便原8位機(jī)用戶,Intel

7、公司很快推出了8088微處理器,其指令系統(tǒng)與8086完全兼容,CPU內(nèi)部結(jié)構(gòu)仍為16位,但外部數(shù)據(jù)總線是8位的,這樣設(shè)計(jì)的目的主要是為了與原有的8位外圍接口芯片兼容。并以8088為CPU組成了IBM PC、PC/XT等準(zhǔn)16位微型計(jì)算機(jī),由于其性能價(jià)格比高,很快占領(lǐng)了市場(chǎng)。,3.2.1 8086/8088內(nèi)部結(jié)構(gòu) 從功能上講,8086CPU內(nèi)部結(jié)構(gòu)可分為兩個(gè)獨(dú)立的部分, 并行重疊操作。,1、總線接口單元BIU(Bus Interface Unit)負(fù)責(zé)完成CPU與存儲(chǔ)器或I/O設(shè)備之間的數(shù)據(jù)傳送。,2、執(zhí)行單元EU(Execution Unit)不與系統(tǒng)外部直接相連,它的功能只是負(fù)責(zé)執(zhí)行指令。

8、,圖3.2 8086CPU內(nèi)部結(jié)構(gòu)框圖,3.2.1 8086/8088內(nèi)部結(jié)構(gòu) 一總線接口單元BIU 總線接口單元BIU的任務(wù): 讀指令指令隊(duì)列出現(xiàn)空字節(jié)(8088 1個(gè)空字節(jié),8086 2個(gè)空字節(jié))時(shí),從內(nèi)存取出后續(xù)指令。BIU取指令時(shí),并不影響EU的執(zhí)行,兩者并行工作,大大提高了CPU的執(zhí)行速度。 讀操作數(shù)EU需要從內(nèi)存或外設(shè)端口讀取操作數(shù)時(shí),根據(jù)EU給出的地址從內(nèi)存或外設(shè)端口讀取數(shù)據(jù)供EU使用。 寫(xiě)操作數(shù)EU的運(yùn)算結(jié)果、數(shù)據(jù)或控制命令等由BIU送往指定的內(nèi)存單元或外設(shè)端口。,總線接口單元(BIU)的組成 1、4個(gè)16位段寄存器:代碼段寄存器CS(Code Segment)、數(shù)據(jù)段寄存器D

9、S(Data Segment)、堆棧段寄存器SS(Stack Segment)和附加數(shù)據(jù)段寄存器ES(Extra Segment); 2、一個(gè)16位的指令指針寄存器IP(Instruction Pointer); 3、一個(gè)20位地址加法器; 4、6字節(jié)指令隊(duì)列緩沖器; 5、一個(gè)與EU通訊的內(nèi)部寄存器以及總線控制電路等。,1. 指令隊(duì)列緩沖器 8086的指令隊(duì)列有6個(gè)字節(jié),8088的指令隊(duì)列有4個(gè)字節(jié)。對(duì)8086而言,當(dāng)指令隊(duì)列出現(xiàn)2個(gè)空字節(jié),對(duì)8088而言,指令隊(duì)列出現(xiàn)1個(gè)空字節(jié)時(shí),BIU就自動(dòng)執(zhí)行一次取指令周期,將下一條要執(zhí)行的指令從內(nèi)存單元讀入指令隊(duì)列。它們采用“先進(jìn)先出”原則,按順序存放

10、,并按順序取到EU中去執(zhí)行。 指令隊(duì)列的引入使得EU和BIU可并行工作,即BIU在讀指令時(shí),并不影響EU單元執(zhí)行指令,EU單元可以連續(xù)不斷地直接從指令隊(duì)列中取到要執(zhí)行的指令代碼,從而減少了CPU為取指令而等待的時(shí)間,提高了CPU的利用率,加快了整機(jī)的運(yùn)行速度。,220位地址加法器 8086/8088CPU在對(duì)存儲(chǔ)單元進(jìn)行訪問(wèn)以讀取指令或讀/寫(xiě)操作數(shù)時(shí),必須在地址總線上提供20位的地址信息,以便選中對(duì)應(yīng)的存儲(chǔ)單元。那么,CPU是如何產(chǎn)生20位地址的呢? CPU提供的用來(lái)對(duì)存儲(chǔ)單元進(jìn)行訪問(wèn)的20位地址是由BIU中的地址加法器產(chǎn)生的。,存儲(chǔ)器中每個(gè)存儲(chǔ)單元的地址可有以下兩種表示方式: 邏輯地址:其表

11、達(dá)形式為“段地址:段內(nèi)偏移地址”。段內(nèi)偏移地址又稱為“有效地址EA(Effective Address)。在讀指令時(shí),段地址由代碼段寄存器CS提供,當(dāng)前要讀取指令在代碼段中的偏移地址由指令指針寄存器IP提供;在讀取或存儲(chǔ)操作數(shù)時(shí),根據(jù)具體操作,段地址由DS、ES或SS提供,段內(nèi)偏移地址由指令給出。,物理地址:CPU與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)在地址總線上提供的20位地址信息稱為物理地址。物理地址的形成過(guò)程如圖3.3所示。當(dāng)由IP提供或由EU根據(jù)指令所提供尋址方式計(jì)算出尋址單元的16位段內(nèi)偏移地址后,把該偏移地址和段寄存器內(nèi)容左移四位后(相當(dāng)于乘以10H)得到的段基址(段內(nèi)第一個(gè)存儲(chǔ)單元的物理地址)同

12、時(shí)送到BIU中的地址加法器,形成一個(gè)20位的物理地址,從而實(shí)現(xiàn)對(duì)存儲(chǔ)單元的訪問(wèn)。由邏輯地址求物理地址的公式為: 物理地址=段地址10H+段內(nèi)偏移地址 如假設(shè)當(dāng)前(CS)=20A8H,(IP)=2008H,那么,下一條從內(nèi)存中讀取的指令所在存儲(chǔ)單元的物理地址為:20A8H10H+ 2008H=22A88H。,圖3.3 物理地址的形成,3段寄存器 8086CPU的地址引腳有20根,能提供20位的地址信息,可直接對(duì)1M個(gè)存儲(chǔ)單元進(jìn)行訪問(wèn),但CPU內(nèi)部可用來(lái)提供地址信息的寄存器都是16位的,那么如何用16位寄存器實(shí)現(xiàn)20位地址的尋址呢?8086/8088采用了段結(jié)構(gòu)的內(nèi)存管理的方法。 將指令代碼和數(shù)據(jù)

13、分別存儲(chǔ)在代碼段、數(shù)據(jù)段、堆棧段、附加數(shù)據(jù)段中,這些段的段地址分別由段寄存器CS、DS、SS、ES提供,而代碼或數(shù)據(jù)在段內(nèi)的偏移地址則由有關(guān)寄存器或立即數(shù)給出。,代碼段寄存器CS存儲(chǔ)程序當(dāng)前使用的代碼段的段地址。代碼段用來(lái)存放程序的指令代碼。下一條要讀取指令在代碼段中的偏移地址由指令指針寄存器IP提供; 數(shù)據(jù)段寄存器DS用來(lái)存放程序當(dāng)前使用的數(shù)據(jù)段的段地址。一般來(lái)說(shuō),程序中所用到的原始數(shù)據(jù)、中間結(jié)果以及最終結(jié)果都存放在數(shù)據(jù)段中; 堆棧段寄存器SS用來(lái)存放程序當(dāng)前所使用的堆棧段的段地址。堆棧是在存儲(chǔ)器中開(kāi)辟的一個(gè)特定區(qū)域; 附加數(shù)據(jù)段寄存器ES用來(lái)存放程序當(dāng)前使用的附加數(shù)據(jù)段的段地址。附加數(shù)據(jù)段

14、通常用于存放字符串操作時(shí)的目的字符串。 程序員在編寫(xiě)匯編語(yǔ)言源程序時(shí),應(yīng)該按照上述規(guī)定將程序的各個(gè)部分放在規(guī)定的段內(nèi)。每個(gè)源程序必須至少有一個(gè)代碼段,而數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段則根據(jù)程序的需要決定是否設(shè)置。,4指令指針寄存器 指令指針寄存器IP用來(lái)存放下一條要讀取的指令在代碼段中的偏移地址。IP在程序運(yùn)行中能自動(dòng)加1修正,從而使其始終存放的是下一條要讀取的指令在代碼段的偏移地址。由于CS和IP的內(nèi)容決定了程序的執(zhí)行順序,因此程序員不能直接用賦值指令對(duì)其內(nèi)容進(jìn)行修改。有些指令能使IP和CS的值改變(如跳轉(zhuǎn)指令)或使其值壓入堆?;驈亩褩V袕棾龌謴?fù)原值(如子程序調(diào)用指令和返回指令)。,二執(zhí)行單元E

15、U 執(zhí)行單元EU不與系統(tǒng)外部直接相連,它的功能只是負(fù)責(zé)執(zhí)行指令。執(zhí)行的指令從BIU的指令隊(duì)列緩沖器中直接得到,執(zhí)行指令時(shí)若需要從存儲(chǔ)器或I/O端口讀寫(xiě)操作數(shù)時(shí),由EU向BIU發(fā)出請(qǐng)求,再由BIU對(duì)存儲(chǔ)器或I/O端口進(jìn)行訪問(wèn)。,執(zhí)行單元EU由下列部件組成: 1. 16位算術(shù)邏輯單元(ALU):進(jìn)行算術(shù)和邏輯運(yùn)算。 2. 16位標(biāo)志寄存器FLAGS:存放CPU運(yùn)算的狀態(tài)和控制標(biāo)志。3. 數(shù)據(jù)暫存寄存器:暫存參加運(yùn)算的數(shù)據(jù) 4. 通用寄存器:包括4個(gè)16位數(shù)據(jù)寄存器AX、BX、CX、DX和 4個(gè)16位指針與變址寄存器SP、BP與SI、DI。 5. EU控制電路:它是控制、定時(shí)與狀態(tài)邏輯電路,接收從B

16、IU中指令隊(duì)列取來(lái)的指令,經(jīng)過(guò)指令譯碼形成各種定時(shí)控制信號(hào),對(duì)EU的各個(gè)部件實(shí)現(xiàn)特定的定時(shí)操作。,8088CPU與8086CPU的異同 二者內(nèi)部結(jié)構(gòu)基本相似,執(zhí)行單元EU完全相同,其指令系統(tǒng)、尋址方式及程序設(shè)計(jì)方法都相同。區(qū)別僅在于總線接口單元BIU,歸納起來(lái)主要有以下幾個(gè)方面的差異: 1外部數(shù)據(jù)總線位數(shù)不同。8086外部數(shù)據(jù)總線16位,8088外部數(shù)據(jù)總線8位。 2指令隊(duì)列緩沖器大小不同。8086指令隊(duì)列可容納6個(gè)字節(jié);而8088指令隊(duì)列只能容納4個(gè)字節(jié)。 3. 部分引腳的功能定義有所區(qū)別。,3.2.2 8086/8088寄存器結(jié)構(gòu),通用寄存器8個(gè) (數(shù)據(jù)寄存器4個(gè)) (地址指針寄存器2個(gè))

17、 (變址寄存器2個(gè)),段寄存器4個(gè),控制寄存器2個(gè),共14個(gè)寄存器,一通用寄存器 通用寄存器(8個(gè)):包括四個(gè)數(shù)據(jù)寄存器AX(AH/AL), BX(BH/BL),CX(CH/CL),DX(DH/DL),兩個(gè)地址指針寄存器(SP,BP)和兩個(gè)變址寄存器(SI,DI)。,1數(shù)據(jù)寄存器AX、BX、CX、DX 數(shù)據(jù)寄存器一般用于存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果。每個(gè)數(shù)據(jù)寄存器都是16位的,但又可將高、低8位分別作為兩個(gè)獨(dú)立的8位寄存器來(lái)用。高8位分別記作AH、BH、CH、DH,低8位分別記作AL,BL,CL,DL。注意,8086/8088 CPU的14個(gè)寄存器除了這4個(gè)16位寄存器能分別當(dāng)作兩個(gè)8位寄存

18、器來(lái)用之外,其它寄存器都不能如此使用。,AX(Accumulator)稱為累加器。用該寄存器存放運(yùn)算結(jié)果可使指令簡(jiǎn)化,提高指令的執(zhí)行速度。此外,所有的I/O指令都使用該寄存器與外設(shè)端口交換信息。,BX(Base)稱為基址寄存器。8086/8088CPU中有兩個(gè)基址寄存器BX和BP。BX用來(lái)存放操作數(shù)在內(nèi)存中數(shù)據(jù)段內(nèi)的偏移地址,BP用來(lái)存放操作數(shù)在堆棧段內(nèi)的偏移地址。,CX(Counter)稱為計(jì)數(shù)器。在設(shè)計(jì)循環(huán)程序時(shí)使用該寄存器存放循環(huán)次數(shù),可使程序指令簡(jiǎn)化,有利于提高程序的運(yùn)行速度。,DX(Data)稱為數(shù)據(jù)寄存器。在寄存器間接尋址的I/O指令中存放I/O端口地址;在做雙字長(zhǎng)乘除法運(yùn)算時(shí),D

19、X與AX一起存放一個(gè)雙字長(zhǎng)操作數(shù),其中DX存放高16位數(shù)。,寄存器AX, BX,CX, DX的特定用法,2. 地址指針寄存器SP、BP SP(Stack Pointer)稱為堆棧指針寄存器。在使用堆棧操作指令(PUSH或POP)對(duì)堆棧進(jìn)行操作時(shí),每執(zhí)行一次進(jìn)?;虺鰲2僮?,系統(tǒng)會(huì)自動(dòng)將SP的內(nèi)容減2或加2,以使其始終指向棧頂。,BP(Base Pointer)稱為基址寄存器。作為通用寄存器,它可以用來(lái)存放數(shù)據(jù),但更經(jīng)常更重要的用途是存放操作數(shù)在堆棧段內(nèi)的偏移地址。,3.變址寄存器SI、DI SI(Source Index)稱為源變址寄存器。DI(Destination Index)稱為目的變址寄

20、存器。這兩個(gè)寄存器通常用在字符串操作時(shí)存放操作數(shù)的偏移地址,其中SI存放源串在數(shù)據(jù)段內(nèi)的偏移地址,DI存放目的串在附加數(shù)據(jù)段內(nèi)的偏移地址。,二 .段寄存器 為了對(duì)1M個(gè)存儲(chǔ)單元進(jìn)行管理,8086/8088對(duì)存儲(chǔ)器進(jìn)行分段管理,即將程序代碼或數(shù)據(jù)分別放在代碼段、數(shù)據(jù)段、堆棧段或附加數(shù)據(jù)段中,每個(gè)段最多可達(dá)64K個(gè)存儲(chǔ)單元。段地址分別放在對(duì)應(yīng)的段寄存器中,代碼或數(shù)據(jù)在段內(nèi)的偏移地址由有關(guān)寄存器或立即數(shù)給出。,8086/8088的四個(gè)段寄存器 段寄存器是為實(shí)現(xiàn)“段加偏移”尋址基址而設(shè)置的。 CS(Code Segment)代碼段寄存器。用來(lái)存儲(chǔ)程序當(dāng)前使用的代碼段的段地址。CS的內(nèi)容左移四位再加上指

21、令指針寄存器IP的內(nèi)容就是下一條要讀取的指令在存儲(chǔ)器中的物理地址。,DS(Data Segment)數(shù)據(jù)段寄存器。用來(lái)存放程序當(dāng)前使用的數(shù)據(jù)段的段地址。DS的內(nèi)容左移四位再加上按指令中存儲(chǔ)器尋址方式給出的偏移地址即得到對(duì)數(shù)據(jù)段指定單元進(jìn)行讀寫(xiě)的物理地址。,SS(Stack Segment)堆棧段寄存器。用來(lái)存放程序當(dāng)前所使用的堆棧段的段地址。堆棧是存儲(chǔ)器中開(kāi)辟的按先進(jìn)后出原則組織的一個(gè)特殊存儲(chǔ)區(qū),主要用于調(diào)用子程序或執(zhí)行中斷服務(wù)程序時(shí)保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)。,ES(Extra Segment)附加數(shù)據(jù)段寄存器。用來(lái)存放程序當(dāng)前使用的附加數(shù)據(jù)段的段地址。附加數(shù)據(jù)段用來(lái)存放字符串操作時(shí)的目的字符串。,80

22、86/8088的四個(gè)段寄存器(續(xù)) 8086CPU有20條地址線,具有尋址1MB存儲(chǔ)空間。 8086/8088指令中給出的地址僅有16位,指針寄存器和變址寄存器也只有16位,不能尋址1MB的內(nèi)存空間。 用8086/8088CPU內(nèi)部一組16位段寄存器內(nèi)容作為段地址,再由段寄存器左移4位形成20位的段起始地址,稱為段基地址或段基址。這樣8086/8088可尋址1MB存儲(chǔ)空間。 將1MB存儲(chǔ)空間分成若干個(gè)邏輯段,使每個(gè)邏輯段的長(zhǎng)度為64KB,表3.2 8086/8088段寄存器與提供段內(nèi)移地址的 寄存器之間的 默 認(rèn) 組 合,三. 控制寄存器 IP(Instruction Pointer)指令指針

23、寄存器。用來(lái)存放下一條要讀取的指令在代碼段內(nèi)的偏移地址。用戶程序不能直接訪問(wèn)IP。,FLAGS標(biāo)志寄存器。它是一個(gè)16位的寄存器,但只用了其中9位,這9位包括6個(gè)狀態(tài)標(biāo)志位,3個(gè)控制標(biāo)志位,如圖3.5所示。,圖3.5 8086/8088的標(biāo)志寄存器,1. 狀態(tài)標(biāo)志位(6位) 狀態(tài)標(biāo)志位用來(lái)反映算術(shù)和邏輯運(yùn)算結(jié)果的一些特征。下面分別介紹這6個(gè)狀態(tài)標(biāo)志位的功能。 CF(Carry Flag)進(jìn)位標(biāo)志。當(dāng)進(jìn)行加減運(yùn)算時(shí),若最高位發(fā)生進(jìn)位或借位則CF為1,否則為0。通常用于判斷無(wú)符號(hào)數(shù)運(yùn)算結(jié)果是否超出了計(jì)算機(jī)所能表示的無(wú)符號(hào)數(shù)的范圍。 PF(Parity Flag)奇偶標(biāo)志位。當(dāng)指令執(zhí)行結(jié)果的低8位中含有偶數(shù)個(gè)1時(shí),PF為1,否則為0。,AF(Auxiliary Flag)輔助進(jìn)位標(biāo)志位。當(dāng)執(zhí)行一條加法或減法運(yùn)算指令時(shí),若結(jié)果的低字節(jié)的低4位向高4位有進(jìn)位或借位,則AF為1,否則為0。 ZF(Zero Flag)零標(biāo)志位。若當(dāng)前的運(yùn)算結(jié)果為0,則ZF為1,否則為0。 SF(Sign Flag)符號(hào)標(biāo)志位。當(dāng)運(yùn)算結(jié)果的最高位為1時(shí),SF=1,否則為0。 OF(Over

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論