微機(jī)原理與接口技術(shù)第2章_第1頁(yè)
微機(jī)原理與接口技術(shù)第2章_第2頁(yè)
微機(jī)原理與接口技術(shù)第2章_第3頁(yè)
微機(jī)原理與接口技術(shù)第2章_第4頁(yè)
微機(jī)原理與接口技術(shù)第2章_第5頁(yè)
已閱讀5頁(yè),還剩55頁(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)介

本次課主要內(nèi)容2.28088/8086微處理器(重點(diǎn))

8088/8086CPU的功能結(jié)構(gòu)(書2.2.3)

8088/8086CPU的存儲(chǔ)器組織(書2.2.4)第2章

微處理器與總線小結(jié)第2章:教學(xué)要求2.1微處理器概述2.2(重點(diǎn))8088/8086微處理器8088/8086CPU功能結(jié)構(gòu)(書2.2.3)

8088/8086CPU存儲(chǔ)器組織(書2.2.4)

8088CPU外部引腳及其功能(書2.2.2)8088/8086CPU工作時(shí)序(書2.2.5)

2.32.4(一般了解)80386,

Pentium微處理器2.5總線8088系統(tǒng)總線

(書2.5.4)

第2章

微處理器與總線本章教學(xué)重點(diǎn)8088內(nèi)部寄存器、存儲(chǔ)器組織

、最小組態(tài)下的引腳定義上次課回顧

-----與前面所學(xué)知識(shí)的銜接匯編語(yǔ)言程序員看到的硬件中央處理單元CPU(Intel80x86)對(duì)匯編語(yǔ)言程序員,最關(guān)心其中的寄存器內(nèi)存(主存儲(chǔ)器)呈現(xiàn)給匯編語(yǔ)言程序員的,是主存儲(chǔ)器地址存儲(chǔ)器地址是存儲(chǔ)器中存儲(chǔ)單元的編號(hào)外部設(shè)備(接口電路)匯編語(yǔ)言程序員看到的是端口(I/O地址)I/O接口內(nèi)存系統(tǒng)總線CPU寄存器控制器運(yùn)算器輔助存儲(chǔ)器輸入設(shè)備輸出設(shè)備微型計(jì)算機(jī)的系統(tǒng)組成CPU

CPUMOVAL,DLCPU內(nèi)存

MOVAL,ES:[5678H]CPUI/O接口

IN AL,56H上次課回顧結(jié)束返回一.8086CPU功能結(jié)構(gòu)◆

8086的內(nèi)部結(jié)構(gòu)◆

8086的寄存器結(jié)構(gòu)

1.通用寄存器(8個(gè))

2.指令指針寄存器IP

☆3.標(biāo)志寄存器PSW

從應(yīng)用角度(不是從內(nèi)部工作原理)展開為學(xué)習(xí)指令系統(tǒng)打好基礎(chǔ)例如:關(guān)心用戶“可編程”寄存器,不關(guān)心無(wú)法操縱的“透明”寄存器1.8086CPU內(nèi)部結(jié)構(gòu)8088的基本組成8088的內(nèi)部結(jié)構(gòu)從功能上分成兩個(gè)單元1.總線接口單元BIU管理8088與系統(tǒng)總線的接口負(fù)責(zé)CPU對(duì)存儲(chǔ)器和外設(shè)進(jìn)行訪問(wèn)2.執(zhí)行單元EU負(fù)責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)的運(yùn)算兩個(gè)單元相互獨(dú)立,分別完成各自操作,還可以并行執(zhí)行,實(shí)現(xiàn)指令預(yù)?。ㄖ噶钭x取和執(zhí)行的流水線操作)

1.算術(shù)邏輯單元ALU(運(yùn)算器)2.寄存器組3.指令處理單元(控制器)圖示8086的內(nèi)部結(jié)構(gòu)123456內(nèi)部寄存器

IP

ES

SSDSCS輸入/輸出控制電路外部總線執(zhí)行部分控制電路ALU標(biāo)志寄存器

AXAHALSPBPSIDI通用寄存器地址加法器指令隊(duì)列執(zhí)行單元(EU)總線接口單元(BIU)16位20位地址總線16位

BXBHBL

DXDHDL

CXCHCLALU數(shù)據(jù)總線2.8088/8086的內(nèi)部寄存器8086的內(nèi)部寄存器組有數(shù)據(jù)寄存器指針寄存器通用寄存器變址寄存器指令指針寄存器狀態(tài)標(biāo)志寄存器段寄存器他們均為16位!圖示

匯編語(yǔ)言程序員看到的處理器,就是寄存器所以,一定要熟悉這些寄存器的名稱和作用(1)數(shù)據(jù)寄存器AX稱為累加器(Accumulator)使用頻度最高。用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等BX稱為基址寄存器(BaseaddressRegister)常用做存放存儲(chǔ)器地址CX稱為計(jì)數(shù)器(Counter)作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器DX稱為數(shù)據(jù)寄存器(Dataregister)常用來(lái)存放雙字長(zhǎng)數(shù)據(jù)的高16位,或存放外設(shè)端口地址4個(gè)數(shù)據(jù)寄存器還可以分成高8位和低8位兩個(gè)獨(dú)立的寄存器,這樣又形成8個(gè)通用的8位寄存器AX:AHAL BX:BHBLCX:CHCL DX:DHDL(2)指針寄存器指針寄存器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)SP為堆棧指針寄存器(StackPointer),指示堆棧段棧頂?shù)奈恢茫ㄆ频刂罚〣P為基址指針寄存器(BasePointer),表示數(shù)據(jù)在堆棧段中的基地址SP和BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲(chǔ)單元地址堆棧(Stack)是主存中一個(gè)特殊的區(qū)域,采用“先進(jìn)后出”或“后進(jìn)先出”存取操作方式、而不是隨機(jī)存取方式。用8088/8086形成的微機(jī)系統(tǒng)中,堆棧區(qū)域被稱為堆棧段(3)變址寄存器16位變址寄存器SI和DI常用于存儲(chǔ)器變址尋址方式時(shí)提供地址SI是源地址寄存器(SourceIndex)DI是目的地址寄存器(DestinationIndex)在串操作類指令中,SI、DI還有較特殊的用法

現(xiàn)在不必完全理解,以后會(huì)詳細(xì)展開(4)指令指針寄存器IPIP(InstructionPointer)為指令指針寄存器,用來(lái)控制CPU指令執(zhí)行順序隨著指令的執(zhí)行,IP將自動(dòng)修改以指示下一條指令所在的內(nèi)存地址。順序執(zhí)行時(shí),CPU每取一個(gè)指令字節(jié),IP自動(dòng)加1,指向下一個(gè)要讀取的字節(jié)IP寄存器與CS段寄存器聯(lián)合使用以確定下一條指令的內(nèi)存地址。(5)狀態(tài)標(biāo)志寄存器(PSW程序狀態(tài)字)存放cpu工作過(guò)程中狀態(tài),即反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式8088處理器的各種標(biāo)志形成了一個(gè)16位(用9位)的狀態(tài)標(biāo)志寄存器PSW狀態(tài)標(biāo)志--用來(lái)記錄程序運(yùn)行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它CZSPOA控制標(biāo)志--可由程序根據(jù)需要用指令設(shè)置,用于控制處理器執(zhí)行指令的方式

DITO111512D10I9T8S7Z65A43P21C0

程序設(shè)計(jì)需要利用標(biāo)志的狀態(tài)進(jìn)位標(biāo)志C(CarryFlag)當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時(shí),進(jìn)位標(biāo)志置1,即C=1;否則C=03AH+7CH=B6HAAH+7CH=(1)26H沒(méi)有進(jìn)位:C=0有進(jìn)位:C=1奇偶標(biāo)志P(ParityFlag)當(dāng)運(yùn)算結(jié)果低8位中“1”的個(gè)數(shù)為零或偶數(shù)時(shí),P=1;否則P=03AH+7CH=B6H=P標(biāo)志僅反映最低8位中“1”的個(gè)數(shù)是

偶或奇,即使是進(jìn)行16位字操作10110110B結(jié)果中有5個(gè)“1”,是奇數(shù):P=0半加標(biāo)志位(輔助進(jìn)位)A(AuxiliaryCarryFlag)這個(gè)標(biāo)志主要用于對(duì)BCD運(yùn)算結(jié)果的調(diào)整,由處理器內(nèi)部使用,用戶一般不必關(guān)心運(yùn)算時(shí)低半字節(jié)(D3向D4)有進(jìn)位(加法)或借位(減法)時(shí),A=1;否則A=0零標(biāo)志Z(ZeroFlag)若運(yùn)算結(jié)果為0,則Z=1;否則Z=03AH+7CH=84H+7CH=

注意:Z為1表示運(yùn)算結(jié)果是0B6H,結(jié)果不是零:Z=

0(1)00H,結(jié)果是零:Z=1符號(hào)標(biāo)志S(SignFlag)運(yùn)算結(jié)果最高位為1,則S=1;否則S=03AH+7CH=B6H,最高位D7=1:S=184H+7CH=(1)00H,最高位D7=0:S=0

有符號(hào)數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號(hào)所以,最高有效位就是符號(hào)標(biāo)志的狀態(tài)陷阱標(biāo)志位T(TrapFlag)(單步標(biāo)志位)用于控制CPU進(jìn)入單步操作方式。通常用于程序調(diào)試。設(shè)置TF=0,處理器正常工作;設(shè)置TF=1,處理器單步執(zhí)行指令中斷允許標(biāo)志位I(Interrupt-enableFlag)控制CPU是否響應(yīng)可屏蔽中斷請(qǐng)求設(shè)置I=1,則允許中斷;設(shè)置I=0,則禁止中斷CLI指令復(fù)位中斷標(biāo)志:I=0STI指令置位中斷標(biāo)志:I=1方向標(biāo)志位D(DirectionFlag)用于串操作指令,控制地址的變化方向:設(shè)置D=0,存儲(chǔ)器地址自動(dòng)增加;設(shè)置D=1,存儲(chǔ)器地址自動(dòng)減少CLD指令復(fù)位方向標(biāo)志:D=0STD指令置位方向標(biāo)志:D=1溢出標(biāo)志位O(OverflowFlag)若算術(shù)運(yùn)算的結(jié)果有溢出,則O=1;否則O=0?什么是溢出處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)8位有符號(hào)數(shù)表達(dá)的整數(shù)范圍是:+127~-12816位表達(dá)的范圍是:+32767~-32768如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出有溢出,說(shuō)明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確溢出舉例分析:3AH+7CH=B6H,就是58+124=182,已經(jīng)超出-128~+127范圍,產(chǎn)生溢出,故OF=1;補(bǔ)碼B6H表達(dá)真值是-74,顯然運(yùn)算結(jié)果也不正確B6H=10110110B,最高位為1,作為有符號(hào)數(shù)是負(fù)數(shù)對(duì)B6H求反加1等于:01001001B+1=01001010B=4AH=74

所以,B6H表達(dá)有符號(hào)數(shù)的真值為-743AH+7CH=B6H,產(chǎn)生溢出:OF=1溢出的簡(jiǎn)單判斷法只有當(dāng)兩個(gè)同符號(hào)數(shù)相加(包括不同符號(hào)數(shù)相減),而運(yùn)算結(jié)果的符號(hào)與原數(shù)據(jù)符號(hào)相反時(shí),產(chǎn)生溢出;因?yàn)椋藭r(shí)的運(yùn)算結(jié)果顯然不正確其他情況下,則不會(huì)產(chǎn)生溢出例1:3AH+7CH=B6H 例2:AAH+7CH例3:3AH-7CH 例4:AAH-7CH=2EH 溢出無(wú)溢出無(wú)溢出溢出PSW小結(jié)(6)段寄存器8088有4個(gè)16位段寄存器CS(代碼段)指明代碼段的起始地址SS(堆棧段)指明堆棧段的起始地址DS(數(shù)據(jù)段)指明數(shù)據(jù)段的起始地址ES(附加段)指明附加段的起始地址每個(gè)段寄存器用來(lái)確定一個(gè)邏輯段的起始地址,每種邏輯段均有各自的用途返回二.存儲(chǔ)器組織問(wèn)題一:寄存器、存儲(chǔ)器(內(nèi)存)、外存都用于存儲(chǔ)信息,為何僅討論CPU的存儲(chǔ)器尋址?解答:存儲(chǔ)器可直接與CPU進(jìn)行數(shù)據(jù)交換問(wèn)題二:

16位寄存器如何能尋址1M內(nèi)存空間?解答:內(nèi)存空間分段,邏輯地址/物理地址轉(zhuǎn)換問(wèn)題三:CPU如何實(shí)現(xiàn)存儲(chǔ)器尋址?

解答:CPU總線接口單元???1.存儲(chǔ)器尋址功能2.存儲(chǔ)器的分段管理3.物理地址和邏輯地址4.段寄存器及邏輯段分配5.CPU存儲(chǔ)器結(jié)構(gòu)6.存儲(chǔ)器數(shù)據(jù)的存儲(chǔ)格式MemoryAddressing存儲(chǔ)器尋址

---CPU的存儲(chǔ)器結(jié)構(gòu)問(wèn)題1

問(wèn)題2

問(wèn)題31.存儲(chǔ)器尋址的功能

(FunctionofMemoryAddressing)功能AddressingDatainMEMORY存儲(chǔ)器(內(nèi)存)是計(jì)算機(jī)存儲(chǔ)信息的地方。可直接與CPU進(jìn)行數(shù)據(jù)交換。掌握數(shù)據(jù)存儲(chǔ)格式,以及存儲(chǔ)器的分段管理對(duì)以后的匯編程序設(shè)計(jì)非常重要寄存器

存儲(chǔ)器

外存

CPU

寄存器、存儲(chǔ)器(內(nèi)存)、外存區(qū)別??寄存器、存儲(chǔ)器和外存的區(qū)別寄存器是微處理器(CPU)內(nèi)部暫存數(shù)據(jù)的存儲(chǔ)單元,以名稱表示,例如:AX,BX..….等存儲(chǔ)器也就是平時(shí)所說(shuō)的主存,也叫內(nèi)存,可直接與CPU進(jìn)行數(shù)據(jù)交換。主存利用地址區(qū)別外存主要指用來(lái)長(zhǎng)久保存數(shù)據(jù)的外部存儲(chǔ)介質(zhì),常見的有硬盤、光盤、磁帶、U盤等。外存的數(shù)據(jù)只能通過(guò)內(nèi)存間接地與CPU交換數(shù)據(jù)程序及其數(shù)據(jù)可以長(zhǎng)久存放在外存,在運(yùn)行需要時(shí)才進(jìn)入主存2.存儲(chǔ)器的分段管理8088CPU訪問(wèn)內(nèi)存有20條地址線共220B=1MB個(gè)存儲(chǔ)單元FFFFFH,內(nèi)存地址00000H~FFFFFH8088CPU將1MB空間分成許多段,有4個(gè)16位段寄存器,對(duì)應(yīng)4種邏輯段.

CodeSegment代碼段StackSegment堆棧段DataSegment數(shù)據(jù)段ExtraSegment附加段每個(gè)段最大限制為64KB內(nèi)部寄存器16位如何尋址20條地址線220=1MB?物理地址邏輯地址3.物理地址和邏輯地址用戶編程時(shí)采用邏輯地址,形式為段地址:

偏移地址一個(gè)存儲(chǔ)單元具有唯一物理地址(20位,地址線尋址)、多個(gè)邏輯地址(16位,編程用)分隔符段寄存器內(nèi)容有效地址EA邏輯地址 1460H:100H、1380H:F00H物理地址 14700H14700H例:MOVAX,ES:[0100H] ;AX←ES:[0100H]邏輯地址(16位,匯編語(yǔ)言編程時(shí)采用)形式為段地址:

偏移地址段地址段寄存器CS,DS,ES,SS內(nèi)容說(shuō)明邏輯段在主存中的起始位置偏移地址說(shuō)明主存單元距離段起始位置的偏移量物理地址(20位,地址線尋址,實(shí)際地址)物理地址=段地址*16+偏移地址一個(gè)存儲(chǔ)單元具有唯一物理地址(20位,地址線尋址)、多個(gè)邏輯地址(16位,編程用)主存儲(chǔ)器物理地址和邏輯地址例:MOVAX,ES:[0100H] ;AX←ES:[0100H]例:邏輯地址1460H:1001380:F00H

物理地址14700H14700H8086CPU引腳線---外部特性CPU引腳是系統(tǒng)總線的基本信號(hào)可以分成三類信號(hào)16位數(shù)據(jù)線:D0~D1520位地址線:A0~A19

確定存儲(chǔ)器物理地址控制線CPU內(nèi)部寄存器(編程用)確定存儲(chǔ)器邏輯地址一個(gè)存儲(chǔ)單元具有唯一物理地址(20位,地址線尋址)、多個(gè)邏輯地址(16位,編程用)物理地址和邏輯地址的轉(zhuǎn)換物理地址=段地址*16+偏移地址將邏輯地址中的段地址左移4位,加上偏移地址就得到20位物理地址一個(gè)物理地址可以有多個(gè)邏輯地址邏輯地址 1460H:100H1380H:F00H物理地址 14700H14700H14600H+

100H14700H13800H+

F00H14700H段地址左移4位加上偏移地址得到物理地址4.段寄存器及邏輯段分配8088有4個(gè)16位段寄存器CS(CodeSegmentRegister)指令SS(StackSegmentRegister)堆棧DS(DataSegmentRegister)數(shù)據(jù)ES(ExtraSegmentRegister)數(shù)據(jù)每個(gè)段寄存器用來(lái)確定一個(gè)邏輯段的起始地址,每種邏輯段均有各自的用途如何分配各個(gè)邏輯段程序的指令序列必須安排在代碼段CS程序使用的堆棧一定在堆棧段SS程序中的數(shù)據(jù)默認(rèn)是安排在數(shù)據(jù)段DS,也經(jīng)常安排在附加段ES,尤其是串操作的目的區(qū)必須是附加段數(shù)據(jù)的存放比較靈活,實(shí)際上可以存放在任何一種邏輯段中沒(méi)有指明時(shí),一般的數(shù)據(jù)訪問(wèn)在DS段;使用BP訪問(wèn)主存,則在SS段演示邏輯段的分配代碼段寄存器CS(CodeSegment)代碼段用來(lái)存放程序的指令序列代碼段寄存器CS存放代碼段的段地址指令指針寄存器IP指示下條指令的偏移地址處理器利用CS:IP取得下一條要執(zhí)行的指令邏輯地址堆棧段寄存器SS(StackSegment)堆棧段確定堆棧所在的主存區(qū)域堆棧段寄存器SS存放堆棧段的段地址堆棧指針寄存器SP指示堆棧棧頂?shù)钠频刂诽幚砥骼肧S:SP操作堆棧頂?shù)臄?shù)據(jù)邏輯地址數(shù)據(jù)段寄存器DS(DataSegment)數(shù)據(jù)段存放運(yùn)行程序所用的數(shù)據(jù)數(shù)據(jù)段寄存器DS存放數(shù)據(jù)段的段地址各種主存尋址方式(有效地址EA)得到存儲(chǔ)器中操作數(shù)的偏移地址處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)邏輯地址附加段寄存器ES(ExtraSegment)附加段是附加的數(shù)據(jù)段,也保存數(shù)據(jù):附加段寄存器ES存放附加段的段地址各種主存尋址方式(有效地址EA)得到存儲(chǔ)器中操作數(shù)的偏移地址處理器利用ES:EA存取附加段中的數(shù)據(jù)串操作指令將附加段作為其目的操作數(shù)的存放區(qū)域邏輯地址8086/8088的地址產(chǎn)生小結(jié)偏移地址加法器物理地址(20位)

段寄存器(段地址)|0000若CS=2000H,IP=2200H,求當(dāng)前指令的物理地址?邏輯地址段地址:偏移量段地址:CS,DS,ES,SS段基址寄存器偏移地址:SP,BP,DI,SI,IP等指針寄存器上述寄存器都是16位的物理地址20位實(shí)際地址=段地址*16+偏移量演示5.CPU存儲(chǔ)器結(jié)構(gòu)CPU總線接口單元(BIU)負(fù)責(zé)CPU對(duì)存儲(chǔ)器和外設(shè)進(jìn)行訪問(wèn)地址加法器16位邏輯地址寄存器16位CPU地址線:A0~A1920位物理地址完成物理地址、邏輯地址轉(zhuǎn)換8086的內(nèi)部結(jié)構(gòu)123456內(nèi)部寄存器

IP

ES

SSDSCS輸入/輸出控制電路外部總線執(zhí)行部分控制電路ALU標(biāo)志寄存器

AXAHALSPBPSIDI通用寄存器地址加法器指令隊(duì)列執(zhí)行單元(EU)總線接口單元(BIU)16位20位16位

BXBHBL

DXDHDL

CXCHCL8088指令執(zhí)行過(guò)程示意例:MOVAX,0064H機(jī)器代碼B8H64H00H執(zhí)行該指令時(shí)CS=1000H,IP=100H物理地址?段地址CS=1000H偏移地址IP=100H邏輯地址1000H:100H物理地址1000H16+100H=10100H8088指令執(zhí)行過(guò)程示意(例:MOVAX,0064H;機(jī)器代碼B8H64H00H

執(zhí)行該指令時(shí)CS=1000H,IP=100

)6.存儲(chǔ)器數(shù)據(jù)的存儲(chǔ)格式計(jì)算機(jī)中信息的單位二進(jìn)制位Bit:存儲(chǔ)一位二進(jìn)制數(shù):0或1字節(jié)Byte:8個(gè)二進(jìn)制位,D7~D0字Word:16位,2個(gè)字節(jié),D15~D0雙字DWord:32位,4個(gè)字節(jié),D31~D0最低有效位LSB:數(shù)據(jù)的最低位,D0位最高有效位MSB:數(shù)據(jù)的最高位,對(duì)應(yīng)字節(jié)、字、雙字分別指D7、D15、D31位每個(gè)存儲(chǔ)單元都有一個(gè)編號(hào)存儲(chǔ)單元地址(或內(nèi)存地址、存儲(chǔ)器地址)每個(gè)存儲(chǔ)單元存放一個(gè)字節(jié)(8位二進(jìn)制數(shù))的內(nèi)容存儲(chǔ)單元內(nèi)容例:00002H單元存放有一個(gè)數(shù)據(jù)34H表達(dá)為 [00002H]=34H8086存儲(chǔ)主存儲(chǔ)器(內(nèi)存)存放cpu執(zhí)行的程序及數(shù)據(jù)讀出:cpu從內(nèi)存中取出程序及數(shù)據(jù)過(guò)程寫入:將程序及數(shù)據(jù)存放于內(nèi)存的過(guò)程主存儲(chǔ)器由許多存儲(chǔ)單元組成每個(gè)存儲(chǔ)單元存放8位二進(jìn)制數(shù)(1字節(jié))--存儲(chǔ)單元內(nèi)容每個(gè)存儲(chǔ)單元編不同號(hào)碼--存儲(chǔ)單元地址(或內(nèi)存地址、存儲(chǔ)器地址)8086cpu訪問(wèn)內(nèi)存有20位地址線,內(nèi)存地址00000H~FFFFFH共220B=1MB個(gè)存儲(chǔ)單元存儲(chǔ)器地址(Address)存儲(chǔ)器由大量存儲(chǔ)單元組成,需要用編號(hào)區(qū)別每個(gè)單元:編號(hào)=地址存儲(chǔ)器地址是存儲(chǔ)器中存儲(chǔ)單元的編號(hào)Intel8086具有1兆字節(jié)(1MB)存儲(chǔ)器容量存儲(chǔ)器地址表示為:00000H~FFFFFH采用十六進(jìn)制H數(shù)來(lái)表達(dá)地址內(nèi)存

MOVAX,ES:[5678H]多字節(jié)數(shù)據(jù)存放方式多字節(jié)數(shù)據(jù)在存儲(chǔ)器中占連續(xù)的多個(gè)存儲(chǔ)單元存放:低字節(jié)存入低地址,高字節(jié)存入高地址表達(dá):用它的低地址表示多字節(jié)數(shù)據(jù)占據(jù)的地址空間。同一個(gè)存儲(chǔ)器地址可以是字節(jié)單元地址、字單元地址、雙字單元地址等等(視具體情況來(lái)確定)

80x86處理器采用“低對(duì)低、高對(duì)高”的存儲(chǔ)形式,被稱為“小端方式LittleEndian”。相對(duì)應(yīng)還存在“大端方式BigEndian”。8086存儲(chǔ)8088CPU的存儲(chǔ)格式--小端存儲(chǔ)方式D7D0字節(jié)D15D0字D31D0雙字00006H78H00005H56H00004H12H00003H34H00002H00001H00000H低地址LSBMSB00002H單元的內(nèi)容為:[00002H]=34H00002H“字”單元的內(nèi)容為:[00002H]=1234H00002H號(hào)“雙字”單元的內(nèi)容為:

[00002H]=78561234H多字節(jié)數(shù)據(jù)在存儲(chǔ)器中占連續(xù)的多個(gè)存儲(chǔ)單元存放:低字節(jié)存入低地址,高字節(jié)存入高地址表達(dá):用低地址表示多字節(jié)數(shù)據(jù)占據(jù)的地址空間同一個(gè)存儲(chǔ)器地址可以是字節(jié)單元地址、字單元地址、雙字單元地址等等

設(shè)DS=000002H“雙字”單元MOVEAX,[0002H]00002H“字”單元MOVAX,[0002H]00002H單元

MOVAH,[0002H高地址存儲(chǔ)單元D7D0存儲(chǔ)器地址數(shù)據(jù)的地址對(duì)齊同一個(gè)存儲(chǔ)器地址可以是字節(jié)單元地址、字單元地址、雙字單元地址等等字單元安排在偶地址(xxx0B)、雙字單元安排在模4地址(xx00B)等,被稱為“地址對(duì)齊(Align)”對(duì)于不對(duì)齊地址的數(shù)據(jù),處理器訪問(wèn)時(shí),需要額外的訪問(wèn)存儲(chǔ)器時(shí)間應(yīng)該將數(shù)據(jù)的地址對(duì)齊,以取得較高的存取速度內(nèi)存(存儲(chǔ)器)一般圖示方法56H28E94H12H28E93H34H28E92H內(nèi)存單元內(nèi)容(數(shù)據(jù))內(nèi)存單元物理地址內(nèi)存單元內(nèi)容(數(shù)據(jù))內(nèi)存單元偏移地址56H0004H12H0003H34H0002H若段地址=28E9H,兩種方法表同一存儲(chǔ)區(qū)方法一方法二返回8086的內(nèi)部結(jié)構(gòu)123456內(nèi)部寄存器

IP

ES

SSDSCS輸入/輸出控制電路外部總線執(zhí)行部分控制電路ALU標(biāo)志寄存器

AXAHALSPBPSIDI通用寄存器地址加法器指令隊(duì)列執(zhí)行單元(EU)總線接口單元(BIU)16位20位16位

BXBHBL

DXDHDL

CXCHCL8086的寄存器組狀態(tài)標(biāo)志寄存器(PSW程序狀態(tài)字)存放cpu工作過(guò)程中狀態(tài),即反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式8088處理器的各種標(biāo)志形成了一個(gè)16位(用9位)的狀態(tài)標(biāo)志寄存器PSW狀態(tài)標(biāo)志--用來(lái)記錄程序運(yùn)行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它CZSPOA控制標(biāo)志--可由程序根據(jù)需要用指令設(shè)置,用于控制處理器執(zhí)行指令的方式

DITO111512D10I9T8S7Z65A43P21C0

程序設(shè)計(jì)需要利用標(biāo)志的狀態(tài)8086CPU引腳線---外部特性CPU引腳是系統(tǒng)總線的基本信號(hào)可以分成三類信號(hào)16位數(shù)據(jù)線:D0~D1520位地址線:A0~A19確定存儲(chǔ)器物理地址共220B=1MB個(gè)存儲(chǔ)單,內(nèi)存地址00000H~FFFFFH控制線CPU內(nèi)部寄存器(編程用)確定存儲(chǔ)器邏輯地址一個(gè)存儲(chǔ)單元具有唯一物理地址(20位,地址線尋址)、多個(gè)邏輯地址(16位,編程用)邏輯地址(16位,匯編語(yǔ)言編程時(shí)采用)形式為段地址:

偏移地址段地址段寄存器CS,DS,ES,SS內(nèi)容說(shuō)明邏輯段在主存中的起始位置偏移地址說(shuō)明主存單元距離段起始位置的偏移量物理地址(20位,地址線尋址,實(shí)際地址)物理地址=段地址*16+偏移地址一個(gè)存儲(chǔ)單元具有唯一物理地址(20位,地址線尋址)、多個(gè)邏輯地址(16位,編程用)主存儲(chǔ)器物理地址和邏輯地址例:MOVAX,ES:[0100H] ;AX←ES:[0100H]例:邏輯地址1460:1001380:F00

物理地址14700H14700H8088CPU的存儲(chǔ)格式--小端存儲(chǔ)方式D7D0字節(jié)D15D0字D31D0雙字00006H78H00005H56H00004H12H00003H34H00002H00001H00000H低地址LSBMSB00002H單元的內(nèi)容為:[00002H]=34H00002H“字”單元的內(nèi)容為:[00002H]=1234H00002H號(hào)“雙字”單元的內(nèi)容

溫馨提示

  • 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)論