




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
80x86計算機系統(tǒng)結(jié)構(gòu)為什么需要學(xué)習(xí)該部分?
匯編語言處理器(指令系統(tǒng))2.180x86計算機硬件系統(tǒng)結(jié)構(gòu)80x86系列硬件系統(tǒng)結(jié)構(gòu)中央處理單元CPU(Intel80x86)對匯編語言程序員,最關(guān)心其中的寄存器存儲器(主存儲器)呈現(xiàn)給匯編語言程序員的,是存儲器地址外部設(shè)備(接口電路)匯編語言程序員看到的是端口(I/O地址)2.2程序可見寄存器組8086CPU功能結(jié)構(gòu)示意圖寄存器是CPU的重要組成部分寄存器分為3類:通用寄存器控制寄存器段寄存器
說明要求掌握16位的寄存器(除陰影部分)EAX,EBX等E表示擴(kuò)展目前了解寄存器的用途即可,以后逐步掌握寄存器結(jié)構(gòu)寄存器結(jié)構(gòu)練習(xí)題1、數(shù)據(jù)寄存器:AXBXCXDX
保存操作數(shù)或運算結(jié)果等信息AX寄存器稱為累加器。使用頻度最高,用于算術(shù)、邏輯運算以及與外設(shè)傳送信息等。
BX寄存器稱為基址寄存器。常用于存放存儲器地址。
CX寄存器稱為計數(shù)器。一般作為循環(huán)或串操作等指令中的隱含計數(shù)器。
DX寄存器稱為數(shù)據(jù)寄存器。常用來存放雙字?jǐn)?shù)據(jù)的高16位,或存放外設(shè)端口地址。能以字的形式訪問,也能以字節(jié)形式訪問2、指針寄存器SPBPSP:堆棧指針寄存器,存放當(dāng)前堆棧段棧頂?shù)钠频刂?,ES與SS堆棧寄存器配合存取堆棧中的數(shù)據(jù)。
BP為基址指針寄存器,在間接尋址時,用來存放基地址,是相對于堆棧段的基地址。3、變址寄存器SIDI變址寄存器用于存放某個存儲單元的偏移地址。SI是源變址寄存器,DI是目的變址寄存器。一般與數(shù)據(jù)段寄存器DS聯(lián)用,用來確定數(shù)據(jù)段中某一存儲單元的地址。在字符串操作中,SI和DI都具有自動增量或減量的功能。4、段寄存器CSDSSSES
在PC機中存儲器是采用分段管理的方法來組織數(shù)據(jù),一個程序可以由多個段組成。段寄存器用來確定該段在內(nèi)存中的起始地址。
代碼段寄存器CS,數(shù)據(jù)段寄存器DS,堆棧段寄存器SS,附加數(shù)據(jù)段寄存器ES5、指令指針寄存器IP指示代碼段中指令的偏移地址。它與代碼段寄存器CS聯(lián)用,確定下一條指令的物理地址。計算機通過CS:IP寄存器來控制指令序列的執(zhí)行流程。6、標(biāo)志寄存器FLAGS保存一條指令執(zhí)行后,CPU所處狀態(tài)信息及運算結(jié)果的特征、和一些特殊控制。OF111512DF10IF9TF8SF7ZF65AF43PF21CF0分類:9個標(biāo)志位可以分為兩類:狀態(tài)標(biāo)志(條件標(biāo)志):指令的執(zhí)行設(shè)置它控制標(biāo)志:它影響指令的執(zhí)行
進(jìn)位標(biāo)志CF(CarryFlag)(CF)=1:當(dāng)結(jié)果最高位(字節(jié)第七位,字 第15位)產(chǎn)生一個進(jìn)位和借位
0:不產(chǎn)生進(jìn)位或借位舉例:3AH+7CH=B6H,沒有進(jìn)位:CF=0AAH+7CH=(1)26H,有進(jìn)位:CF=1溢出位OF
(OF)=1:帶符號數(shù)的運算結(jié)果有溢出, 運算結(jié)果超過了范圍
0:無溢出舉例:
3AH+7CH=B6H,產(chǎn)生溢出:OF=1AAH+7CH=(1)26H,沒有溢出:OF=0符號標(biāo)志位SF(SF)=1:最高位為1:負(fù)數(shù)
0:最高位為0:正數(shù)舉例:3AH+7CH=B6H,最高位D7=1:SF=184H+7CH=(1)00H,最高位D7=0:SF=0零標(biāo)志位ZF
(ZF)=1:運算結(jié)果為00:運算結(jié)果不為0舉例:
3AH+7CH=B6H,結(jié)果不是零:ZF=0 84H+7CH=(1)00H,結(jié)果是零:ZF=1輔助進(jìn)位標(biāo)志位AF運算時第3位(半個字節(jié))產(chǎn)生進(jìn)位或借位時AF置1有進(jìn)位或借位……7430舉例:
3AH+7CH=B6H,D3有進(jìn)位:AF=1奇偶標(biāo)志位PF(PF)=1:當(dāng)運算結(jié)果(指低8位)中的‘1’的個數(shù)為偶數(shù)
0:運算結(jié)果(指低8位)中的‘1’的個數(shù)為奇數(shù)舉例:3AH+7CH=B6H=10110110B結(jié)果中有5個1,是奇數(shù):PF=0方向控制位DF用在串處理指令中控制處理信息的方向。
設(shè)置DF=1,則從高地址單元到低地址單元處理串,存儲器地址自動減小。設(shè)置DF=0,則從低地址單元到高地址單元處理串,存儲器地址自動增加中斷允許控制位IF用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):設(shè)置IF=1,則允許中斷;設(shè)置IF=0,則禁止中斷。陷阱控制位TF用于控制處理器進(jìn)入單步操作方式:設(shè)置TF=0,處理器正常工作;設(shè)置TF=1,處理器單步執(zhí)行指令。8086標(biāo)志寄存器狀態(tài)功能表
名稱標(biāo)志位狀態(tài)
功能
進(jìn)位標(biāo)志CFCF=1;CYCF=0;NCCF=1運算結(jié)果最高位有進(jìn)位或有借位(用于多字節(jié)加減運算)否則CF=0。(DEBUG中CF=1:CY,CF=0:NC)
奇偶標(biāo)志PFPF=1;PEPF=1;PO
運算結(jié)果的低8位中所含“l(fā)”的個數(shù)為偶數(shù):PF=1,否則PF=0。(DEBUG中PF=1:PE,PF=0:PO)輔助進(jìn)位標(biāo)志AFAF=1;AC,AF=0;NAAF=1:運算結(jié)果低四位向高四位有進(jìn)位或有借位(用于10進(jìn)制運算指令)否則AF=0。(DEBUG中AF=1:AC,AF=0:NA)結(jié)果為0標(biāo)志ZFZF=1;ZRZF=0;NZZF=1運算結(jié)果為0,ZF=0運算結(jié)果不為0;(DEBUG中ZF=1:ZR,ZF=0:NZ)符號標(biāo)志SFSF=1;NGSF=0;PL運算結(jié)果為正(符號位為0)SF=1;運算結(jié)果為負(fù)(符號位為1)SF=0。(DEBUG中SF=1:NG,SF=0:PL)
溢出標(biāo)志OF=1;OVOF=0;NV帶符號數(shù)的運算結(jié)果產(chǎn)生溢出時,OF=1;否則OF=0。(DEBUG中OF=1:OV,OF=0:NV)
方向標(biāo)志DF=1;DNDF=0;UP
串操作指令用的標(biāo)志,DF=1執(zhí)行字符串操作指令時使地址指針自動增量(字符串處理順序由低向高進(jìn)行);DF=0使地址指令自動減量??赏ㄟ^指令STD置DF=1,CLD清DF=0(DEBUG中DF=1:DN,DF=0:OP)
中斷標(biāo)志IF=1;EIIF=0;DI可屏蔽中斷的標(biāo)志;IF=1允許中斷(允許CPU響應(yīng)可屏蔽外部中斷);IF=0禁止中斷,關(guān)中斷;可通過指令STI置IF=1,CLI清IF=0(DEBUG中IF=1;EI,IF=0;DI)單步(跟蹤)標(biāo)志TFTF=1TF=0
CPU按跟單步蹤方式執(zhí)行指令2.3內(nèi)存組織結(jié)構(gòu)1、存儲單元的地址和內(nèi)容計算機中存儲信息的單位有:二進(jìn)制位Bit:存儲一位二進(jìn)制數(shù):0或1字節(jié)Byte:8個二進(jìn)制位,D7~D0字Word:16位,2個字節(jié),D15~D0雙字DWord:32位,4個字節(jié),D31~D0存儲單元的地址存儲器里以字節(jié)為單位存儲信息每個存儲單元都有一個編號,被稱為物理地址書寫格式為十六進(jìn)制數(shù)n位二進(jìn)制數(shù)總共可以表示2n個存儲單元的地址字節(jié)
00000H00001H00002H00003H00004H00005H05678H05679H78H56H34H12H...1EH2FH128MB存儲單元的內(nèi)容存儲內(nèi)容的表示:存儲單元2中的內(nèi)容為78H, 表示為:(0002H)=78H存儲內(nèi)容的存放:采用“高高低低”的原則。 字的存放舉例: 雙字的存放舉例:00000H00001H00002H00003H00004H00005H05678H05679H78H56H34H12H...1EH2FH“高高低低”原則一個字存放到存儲器要占用連續(xù)的兩個字節(jié)單元。當(dāng)把一個字存放到存儲器時,其低字節(jié)存放在地址較低的字節(jié)單元中,其高字節(jié)存放在地址較高的字節(jié)單元中,這樣二個連續(xù)的字節(jié)單元就構(gòu)成了一個字單元,我們稱之為“高高低低”原則。字單元的地址采用它的低字節(jié)單元地址表示。
2、存儲器分段通過對存儲器分段的方法實現(xiàn)尋址1M字節(jié)的物理空間
為什么引入存儲器分段?8086地址總線20位,尋址1MB機內(nèi)字長16位,尋址64KB存儲器分段它把1M字節(jié)的地址空間劃分成若干邏輯段,每個邏輯段必須滿足兩個條件:(1)邏輯段的開始地址必須是10H的倍數(shù),(2)邏輯段的最大長度為64K。段的起始地址用十六進(jìn)制可以表示為:XXXX0偏移地址也可用16位數(shù)據(jù)表示段地址1234,那么段的起始地址?邏輯地址經(jīng)過分段以后存儲單元的地址就可以通過段基地址:段內(nèi)偏移來尋址
段地址說明邏輯段在主存中的起始位置,可以用16位數(shù)來表示。在一個段內(nèi),可通過偏移指定要訪問的存儲單元,可以用16位數(shù)來表示。字節(jié)
12340H12341H12342H12343H12344H12345H15796H05679H78H56H34H12H...1EH2FH邏輯地址和物理地址
對應(yīng)每個物理存儲單元都有一個唯一的20位編號,就是物理地址,從00000H~FFFFFH。分段后,邏輯地址形式為段基地址:段內(nèi)偏移地址邏輯地址的計算計算公式為:物理地址=段值x10H+偏移圖示:16位段地址16位偏移地址20位物理地址150015+1900000舉例:1234H:3456H
捷徑16進(jìn)制段值加0+偏移值=物理地址3、段寄存器的引用堆棧段附加段數(shù)據(jù)段代碼段CSIPDS指針寄存器或直接地址偏移ES指針寄存器或直接地址偏移SSSPCS(代碼段)指明代碼段的起始地址SS(堆棧段)指明堆棧段的起始地址DS(數(shù)據(jù)段)指明數(shù)據(jù)段的起始地址ES(附加段)指明附加段的起始地址堆棧段寄存器當(dāng)涉及一個堆棧操作時,則自動引用堆棧段寄存器SS。SS指向堆棧段的首地址SP給出的16位偏移,得到堆棧操作所需的物理地址。
代碼段寄存器代碼段用來存放程序的指令序列代碼段寄存器CS存放代碼段的段地址指令指針寄存器IP指示下條指令的偏移地址處理器利用CS:IP取得下一條要執(zhí)行的指令數(shù)據(jù)段寄存器數(shù)據(jù)段存放運行程序所用的數(shù)據(jù)數(shù)據(jù)段寄存器DS存放數(shù)據(jù)段的段地址各種主存尋址方式(有效地址EA)得到存儲器中操作數(shù)的偏移地址處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)附加段寄存器附加段是附加的數(shù)據(jù)段,也用于數(shù)據(jù)的保存附加段寄存器ES存放附加段的段地址各種主存尋址方式(有效地址EA)得到存儲器中操作數(shù)的偏移地址處理器利用ES:EA存取附加段中的數(shù)據(jù)串操作指令將附加段作為其目的操作數(shù)的存放區(qū)域隱含段和偏移寄存器段寄存器和偏移寄存器組合有一定規(guī)則。缺省組合:CSIP指令尋址
SSSP或BP堆棧尋址
DSBX.DI,SI或16位數(shù)數(shù)據(jù)尋址
ES串指令DI目標(biāo)串尋址段偏移主要用途邏輯段分配FFFFF00000TESTANDTHINKING1MB空間最多能分成多少個段?1MB空間最少能分成多少個段?存儲單元的物理地址為56789H,該單元邏輯地址有哪些,試舉兩例。每隔16個存儲單元就可以開始一個段,所以1MB最多可以有:220÷16=216=64K個段每隔64K個存儲單元開始一個段,所以1MB最少可以有:220÷216=16
個段4、堆棧及結(jié)構(gòu)堆棧是一段存儲區(qū)域。采取一種特殊的管理數(shù)據(jù)的方式。實例只能從頂部取放盤子最后放入的盤子最先被取走其它應(yīng)用?彈匣里面裝子彈筒裝的薯片……擴(kuò)展……存儲區(qū)域底部存儲區(qū)域123456存入:123456放入盤子取出:563412移走盤子堆棧采用后進(jìn)先出方式(LIFO,lastinfirstout)來管理數(shù)據(jù)的內(nèi)存區(qū)域。堆棧結(jié)構(gòu)倉庫堆棧用途存放東西存放數(shù)據(jù)空間房子棧區(qū)管理倉庫管理員指針(SP)……3412棧區(qū)存儲器棧底SP棧頂?shù)偷刂犯叩刂稴S堆棧操作堆棧有兩種基本操作:保存數(shù)據(jù)恢復(fù)數(shù)據(jù)入棧出棧堆棧指令:PU
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年入黨積極分子黨校培訓(xùn)考試題庫及答案(共740題)
- 2025年帶式輸送機操作工技能認(rèn)定理論考試題(附答案)
- 關(guān)于余秋雨勵志經(jīng)典語錄
- 2024年計算機二級考試知識要點歸納試題及答案
- 湖南省岳陽市湘陰縣城南區(qū)2024-2025學(xué)年九年級下學(xué)期3月月考語文試題(原卷版+解析版)
- 家庭家教家風(fēng)活動總結(jié)
- 工廠電工個人總結(jié)
- 2025超高層商務(wù)樓群不銹鋼門窗施工合同
- 2025年度城市軌道交通建設(shè)合同(最終版)
- 企業(yè)借給個人借款合同范本
- 湖北省部分名校2024-2025學(xué)年高二下學(xué)期3月聯(lián)考物理試卷(A)(原卷版+解析版)
- 第5課+光色交匯+課件-2024-2025學(xué)年浙人美版(2024)初中美術(shù)七年級下冊
- (2025)政工職稱考試題庫(附參考答案)
- 臨沂考科目一試題及答案
- 2025年初級等保測評試題及答案
- 2025年全國中小學(xué)生安全知識競賽參考試題庫500題(含答案)
- DB11∕T493.1-2024道路交通管理設(shè)施設(shè)置規(guī)范 第1部分:道路交通標(biāo)志
- 教師如何使用AI開展教學(xué)DeepSeek使用指南人工智能 課件
- 2025新人教版七年級下語文-4.16《有為有不為》教案教學(xué)設(shè)計
- (二調(diào))武漢市2025屆高中畢業(yè)生二月調(diào)研考試 生物試卷(含標(biāo)準(zhǔn)答案)
- 2025年寧夏建設(shè)職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫一套
評論
0/150
提交評論