微机原理与接口 第3章3—8086微处理器存储器和IO组织
微机接口ppt课件第3章8086指令系统(上)
2021/8/17
24
【例3-6】
已知:(DS)=3000H,(BX)=1000H, (DI)=2000H,(33000H)=13H, (33001H)=24H,执行指令:
MOV AX, [BX][DI]
操作数的物理地址为:
(DS)×16+(BX)+(DI)
=3000H×16+1000H+2000H
31
NEAR PTR用来指明的偏移量为16位,称为 近转移,其转移范围为﹣8000H~7FFFH。
NEAR PTR可省略。
指令中的偏移量指的是当前IP值(即JMP指 令的下一条指令)到目标地址之间的距离, 因此,执行JMP指令时,当前(IP)= 2003H。
2021/8/17
32
2.段内间接寻址
2021/8/17
29
【例3-8】
已知:(CS)=3000H,(IP)=2000H, OPR的偏移量为0100H,执行指令: JMP NEAR PTR OPR
如下图所示,执行指令后, (CS)=3000H (IP)=2003H+0100H=2103H
2021/8/17
30
2021/8/17
(32位)。
2021/8/17
39
【例3-11】
已知:(CS)=3000H,(IP)=0100H, DATA指向的存储单元的内容为00H、10H 、00H和40H,执行指令:
JMP DWORD PTR DATA
如下图所示,执行指令后,当前指令的CS 被赋于4000H,IP被赋于1000H,
其物理地址为:4000H×16+1000H= 41000H。
2021/8/17
40
2021/8/17
41
微机原理与接口技术课程标准
微机原理与接口技术课程标准《微机原理与接口技术》课程标准课程编码:适用专业:电气自动化技术学时:56一、课程详述(一)课程性质和作用《微机原理与接口技术》就是自动化类各专业学生掌控微型计算机展开工业掌控技能的一门必修课。
通过本课程自学,使学生介绍微型计算机的基本共同组成与工作原理,并使学生逐步掌控微型机从硬件共同组成至软件编程的基本知识,掌控微机共同组成原理和微机USB控制技术,为自学时程有关课程和专门从事专业技术工作奠定一定的基础,同时并使学生提升分析问题解决问题的能力。
(二)课程基本理念1、注重素质教育,著重能力培育2、注重培养和激发学生学习的积极性和自信心3、著重提供更多切合现场实际,能够充分反映新技术的课程资源。
4、改变传统教学方式,运用现代教学技术(三)课程标准设计思路及依据教学以“少而精”为原则,优选教学内容,尽量结合实际。
在教学过程中还要展开适度的实验,以增进对有关内容的掌控,同时引导学生自学、精心安排对自学内容的回答及探讨,调动学生自学的积极性和能动性。
在具体实施过程中,根据课程特点和学院自身条件,以本校专业教师的教学和学生实验居多,通过教学的合作和互动,保证学生达至既定的技能目标。
二、课程目标本课程的培养目标本课程著重自学和动手能力的培育,着重于培育学生对计算机USB的基本应用领域能力和基本技能。
课程教学主要以课堂讲授和实验检验居多,并配上一定的课堂教学项目,进一步增强学生的动手能力和培育学生勤于思考的习惯。
(一)知识性目标学生通过本课程的自学,掌控微型计算机系统的基本共同组成及各个部件功能;掌控微处理器的内部编程结构、工作模式、插槽信号和cpu在总线上的操作方式时序;掌控cpu与外设传输的三种信息的内容和传输方法、cpu与外设传输数据的四种方式;掌控以太网、循序通信的基本详述、基本原理及应用领域;掌控中断控制器、计数器/定时器和dma控制器的工作原理及编程与应用领域;掌控a/d和d/a切换原理,a/d和d/a在系统中的相连接,编程和应用领域。
微机原理与接口技术第3章(指令部分)
例:编程计算 0+1+2+3+4+ -----10 编程计算
MOV AL,0 , MOV BL,1 , MOV CL,10 NEXT:ADD AL,BL , INC BL DEC CL JNZ NEXT ;CL≠0 转 ≠ HLT
1
3.1 概述 一、指令包含的基本内容
12
(3)相对寻址
例: MOV AX, [SI+100H]
;结果 : 结果 AX (DS×16+SI+100H) ×
例:MOV AL,[BP+DATA] MOV AL, DATA[BP] ; DATA是符号表示的位移量。 表示的位移量 是符号表示的位移量。
结果 : AL (SS×16+BP+DATA) ×
11
(2)间接寻址 例:MOV AX,[BX] , •结果 : AX 结果 (DS×16+BX) ×
...
3000H:0000H : • EA= BX /SI /DI , 物理地址=DS*16+EA 物理地址 • EA= BP 物理地址=SS*16+EA 物理地址 :1234H :50H :1235H :30H
1. 做什么操作? 做什么操作? MOV ,ADD, OR,CMP等助记符 等助记符
2. 操作的数据是什么? ①CPU内的寄存器; 操作的数据是什么? 内的寄存器 内的寄存器; 内存的某一个或几个单元 单元; ②内存的某一个或几个单元; 结果放在那里? 3. 结果放在那里? 立即数。 ③立即数。 端口; 端口 ④I/O端口; 下一条指令在哪里? 4. 下一条指令在哪里? IP←IP+1
微机原理与接口技术漆强版第3章8086微型计算机系统讲义
20位
地址总线 地址加法器
16位
数据总线 CS
DS
SS ES
IP 内部暂存器
总线控
外部
制逻辑 8086总线设备
ALU
EU 控制
电路
标志寄存器 执行部件(EU)
8位 1 234 56
队列总线 指令队列缓冲器
总线接口部件(BIU)
第3章 8086微型计算机系统
1、执行部件EU
❖ EU组成: ▪ 算术逻辑单元(ALU),可完成8位或16位 操作数进行算术或逻辑运算; ▪ 8个16位通用寄存器(AX、BX、CX、DX、 SI、DI、SP和BP); ▪ 标志寄存器; ▪ 控制电路。
EU
BIU
指令队列
❖EU负责指令的执行;
❖BIU负责CPU与存储器、I/O设备之间的数据传 送。
第3章 8086微型计算机系统
3.1.1 8086微处理器的结构
通用寄存器
AX AH AL BX BH BL CX CH CL DX DH DL
BP SP SI DI
数据 寄存器
指针 和变址 寄存器
16位 ALU数据总线
2、总线接口部件BIU
2)指令指针寄存器IP ❖ 指令指针寄存器IP提供下一条要取出的指令所
在存储单元的16位偏移地址。
第3章 8086微型计算机系统
2、总线接口部件BIU
3)地址加法器
❖ 8086CPU采用段地址、段内偏移地址两级存储器寻址 方式,由一个20位地址加法器根据16位段地址和16位 段内偏移地址计算出20位的物理地址PA(Physical Address)。
❖ BIU功能:负责CPU与存储器、I/O设备之间的 数据传送。具体包括:
微机原理及接口技术课件第3章 8086寻址方式与指令系统
17
3.2 8086寻址方式
4.寄存器间接寻址 MOV AX, [SI] ; 将[SI]为有效地址的存储器单元中的操作数送至 ; AX,默认DS为当前段基寄存器 MOV AX, [BP] ; 将[BP]为有效地址的存储器单元中的操作数送至AX, ;默认SS为当前段基寄存器
18
3.2 8086寻址方式
如果转向地址直接放在指令中,则这样的转移称为直接转移,视转移地 址是绝对地址还是相对地址(即地址位移量)又可分别称为绝对转移和相 对转移;如果转向地址间接放在其他地方(如寄存器中或内存单元中), 则这样的转移称为间接转移。
26
3.2 8086寻址方式
1.段内直接寻址 采用段内直接寻址方式,在汇编指令中直接给出转移的目标地
13
3.直接寻址
3.2 8086寻址方式
MOV AX, [2000H] MOV BX, NUM MOV VAR, AL MOV DATA, SP
; 将数据段中2000H单元内容送至AX中 ; 把数据段存储单元NUM中的字内容送至BX ; 把AL的字节内容送至数据段存储单元VAR中 ; 把SP的内容送至数据段存储单元DATA中
5
3.2 8086寻址方式
8086CPU的寻址方式有两类:数据寻址和转移地址寻址。 在讨论寻址方式之前,先简单介绍一条汇编语言中最常用 的指令:
MOV dst, src ; dst←(src)
其功能是将由“源操作数src”所指出的数据传送到由“目 的操作数dst”所指定的地方,其dst用于指定目的操作数的 寻址方式,src用于指定源操作数的寻址方式。
8086微处理器与存储器的编程结构教案
第3章 8086微处理器与存储器的编程结构1.教学目的:掌握INTEL80X86微处理器概况以及基于微处理器的计算机系统构成,为汇编语言编程奠定基础。
2.教学要求:①了解INTEL80X86微处理器概况②理解基于微处理器的计算机系统构成③熟练掌握汇编语言编程所需的CPU功能结构、微机存储器(MEM)组织和微机接口组织等基础知识3.教学重点:①微处理器的功能结构②微存储器组织4.掌握难点:①微处理器的寄存器组②存储器寻址5.教学进程安排:P20~406.教学方法:①一般叙述INTEL80X86微处理器概况以及基于微处理器的计算机系统构成②重点讲授微处理器的功能结构和微存储器组织7.教学内容摘要:3.1 80X86微处理器概述3.1.1 微处理器发展简介1.Intel 8086微处理器2.Intel 80386微处理器3.Intel 80486微处理器4.Intel 奔腾(Pentium)处理器5.Intel 奔腾Ⅱ处理器6.Intel 奔腾Ⅲ处理器7.Intel 奔腾Ⅳ处理器3.1.2 与微处理器相关的概念1. 芯片集成度2. 微处理器主频3. 系统总线, 系统总线一般分三类:(1)数据总线(DATA BUS,DB)(2)地址总线(ADDRESS BUS,AB)(3)控制总线(CONTROL BUS,CB)4. 程序存储及存储器组织5. 处理器运算速度3.2 基于微处理器的计算机系统构成微型计算机系统包括硬件和软件两部分。
3.2.1 硬件系统图3.1给出了微型计算机组成框图。
1.运算器2.控制器3.存储器,(1)“读操作”:是指CPU将存储器中存储的某一部分信息取出来进行处理的操作。
(2)“写操作”:是指CPU用新的信息刷新存储器原来存储的某一部分内容的操作。
(3)注意:存储器的读/写操作是以字节为单位按存储器存储单元地址进行的。
4.输入/输出设备图3.1 微型计算机硬件系统组成把运算器、控制器、主存储器和输入/输出接口称为组成计算机硬件系统的五大部件。
微机原理与接口技术-习题参考答案
第1章习题答案1.答:计算机硬件的基本组成部分有:运算器、控制器、存储器、输入设备和输出设备五大组成部分;运算器功能:完成各种算术运算或逻辑运算;控制器功能:发出各种控制信息,使计算机各部件协调工作;存储器功能:存储程序和数据;输入设备:将程序和数据输入的部件;输出设备:将结果数据输出的部件。
2.答:以微型计算机为核心,配以鼠标、键盘等外围设备、电源、接口电路,以及控制计算机工作的软件构成微型计算机系统。
3.答:主板与外部设备之间的数据传输必须通过系统总线,所以系统总线包含的信号线必须满足下列各种输入/输出操作的需要:①访问分布于主板之外的存储器;②访问I/O接口;③适应外部中断方式;④适应存储器直接与外部设备交换信息。
总线控制逻辑的任务就是产生和接受这些操作所需要的信号。
4.答:计算机有运算器、控制器、存储器、输入设备和输出设备五大部分组成,计算机内部采用二进制数据的格式表示数据和指令。
程序将事先保存在内存储器中,计算机在工作时,不需要操作人员干预,自动逐条取出指令并执行。
5.答:CPU首先执行主板上BIOS中的自检程序;执行引导装入程序,依次搜寻硬盘、光盘等;读出引导记录,装入引导程序;由引导程序将操作系统装入内存;执行操作系统。
6.答:BIOS是Basic Input Output System的缩写,指的是基本输入输出系统"。
它是一组固化到计算机ROM芯片上的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。
7.答:略。
2第3章习题答案1.(1)答:物理地址:物理地址(PA)是20位无符号二进制数,是CPU访问存储器的实际地址。
每个存储单元对应一个物理地址。
8086存储空间的物理地址范围是:00000H~FFFFFH。
逻辑地址:采用分段结构的存储器中,把通过段地址和偏移地址来表示的存储单元的地址称为逻辑地址,记为:段地址:偏移地址。
段地址:8086规定各逻辑段从节的整数边界开始,即段首地址二进制值的低4位是0000,把段首地址的高16位称为段基址或段地址。
微机原理与接口第3章2—8086微处理器总线周期及引脚资料
3.2.3 8086微处理器的总线时序 1. 总线时序
⑴ 指令周期
每条指令的执行由取指令、译码和执行 等操作组成,执行一条指令所需要的时间 称为指令周期(Instruction Cycle),不同 指令的指令周期是不等长的,一个指令周 期由一个或若干个总线周期组成。
1
第3章 80x86微处理器
– 4个时钟周期编号为T1、T2、T3和T4 – 总线周期中的时钟周期也被称作“T状态” – 时钟周期的时间长度就是时钟频率的倒数
• 当需要延长总线周期时插入等待状态Tw • CPU进行内部操作,没有对外操作时,其引脚就处
于空闲状态Ti
12
第3章 80x86微处理器
第3章:3.2 8088的总线时序(续3)
(c)
3
第3章 80x86微处理器
⑴ 总线读操作时序
当8086 CPU 进行存储器或I/O端口读操作 时,总线进入读周期。基本的读周期由4个时 钟周期组成:T1、T2、T3和T4。CPU在T3到T4之间 从总线上接收数据。当所选中的存储器和外设 的存取速度较慢时,则在T3和T4之间将插入1个 或几个等待周期TW。图3.3是8086最小方式下的 总线读操作时序图。下面对图中表示的读操作 时序进行说明。
⑵ 总线周期
8086CPU与外部交换信息总是通过总线进行的 。CPU的每一个这种信息输入、输出过程所需要 的时间称为总线周期(BusCycle),一般一个总线 周期由四个时钟周期组成。
⑶ 时钟周期
时钟脉冲的重复周期称为时钟周期 (Clock Cycle)。时钟周期是CPU的时间基准,由计算机 的主频决定。如8086的主频为5MHz,1个时钟周 期就是200ns。
11
微机原理第三章:8086微处理器结构
4.8086 和8088 二者的指令系统完全兼容
(1)有24 种寻址方式,具有乘、除法指令等。 (2)取指令和执行指令的操作并行运行,运行速度大大提高。
(3)具有最小模式和最大模式,应用领域宽广,适应性强。
(4)可方便地和数据处理器8087、I/O 处理器8089 或其它处理器 组成多处理机系统,提高数据处理能力和输人输出能力。
代码段寄存器 CS 标 志 寄 存 器
数据段寄存器 DS
堆栈段寄存器 SS
附加段寄存器 ES
由于8086/8088 CPU 可直接寻址的存储器空间是1M字节,直接寻址需要 20位地址码,而所有的内部寄存器都是16位的,用这些寄存器只能寻址 64K字节,为此需要采取分段技术来解决这个问题。
表3.1
通用寄存器的隐含使用
程序调试过程中。
3.1.2 8086/8088 的寄存器结构
四、指令指针寄存器 IP ★ 16 位的指令指针寄存器 IP 用来存放将要执行的下一条 指令在代码段中的偏移地址。 ★ 在程序运行过程中,BIU 可修改 IP 中的内容,使它始终 指向将要执行的下一条指令。 ★ 程序不能直接访问 IP,但可通过某些指令修改 IP 内容。 ★ 如遇到转移类指令,则将转移目标地址送人IP中,以实 现程序的转移。
★ 规则字的读/写操作可以一次完成。由于两个存储体上的地址
线 A19~A1 是连在一起的,只要使 A0=0,BHE=0,就可 以实现一次在两个存储体中对一个字的读/写操作。 ★ 读写的是从奇地址开始的字(高字节在偶体中,低字节在奇体 中),这种字的存放规则称为“非规则字”或“非对准字”。 ★ 非规则字的读/写,需要两次访问存储器才能完成。 第一次访问存储器读/写奇地址中的字节;
三、标志寄存器 FR
微机原理与接口技术_028086微处理器剖析
– 1.时钟发生器8284 – 8086典型配置中有一个时钟发生器8284A,它的功能为:产生 系统的时钟信号,对准备信号READY及复位信号RESET进行同 步。 – 2.地址锁存器8282/8283 – 8282是8位地址锁存器,三态传输。它有8个输入端DI0~DI7和8 个输出端DO0~DO7。
2018/10/11
15
2.2.2 存储器分段
• •
1.分段 8086程序把1MB的存储空间看成为一组存储段,各段的 功能由具体用途而定,分别为代码段、堆栈段、数据段 和附加段。一个存储段是存储器的一个逻辑单位,其长 度可达64K字节,每个段都由连续的存储单元构成,并 是存储器中独立的、可分别寻址的单位。
2018/10/11
7
2.1.2 8086的外部结构
• • 1.引脚结构 8086 CPU芯片都是双列直插式集成电路芯片,40条引 脚,其中20条地址线和16条数据线复用,另4条地址线 与状态信号线复用,再加上控制信号、电源、地线等, 芯片的引脚比较多。40个引脚中,32个引脚在两种不同 的工作模式下的名称和功能是相同的,还有8个引脚在 不同的工作模式下,具有不同的名称和功能。
2018/10/11
8
• 2.引脚功能 • 1)地址总线和数据总线(21条) • (1)AD15~AD0:分时复用的地址数据线,双向,输 入/输出,三态。 • ( 2 ) A19/S6 ~ A16/S3 :地址 / 状态复用引脚,输出, 三态。 • (3)/S7:高8位允许/状态复用引脚,输出,三态。
– 2)控制标志位
• DF(Direction Flag)方向标志位 • IF(Interrupt Flag)中断允许标志位 • TF(Trap Flag)陷井标志位
《微机原理与接口技术》徐惠民 微机原理与接口技术3章
数据传送指令
③ 两个段寄存器之间不能直接传送信息,也不允许 用立即寻址方式为段寄存器赋初值; (X) MOV DS, 100H; (X) MOV DS, ES;
④ 目的操作数,不能用立即寻址方式。
⑤ MOV指令不影响标志位
数据传送指令
2.堆栈指令
功能:从I/O端口输入数据至AL或AX.
输入指令允许把一个字节或一个字 由一个输入端口传送到AL或AX中。若端 口地址超过255时,则必须用DX保存端 口地址,这样用DX作端口寻址最多可寻 找64K个端口。
8086/8088通过 输入输出指令与 外设进行数据交 换;呈现给程序 员的外设是端口 (Port)即I/O地 址。
一般格式:
LES OPRD1,OPRD2
这条指令除将地址指针的段地址部分送入ES外,与 LDS类似。
例如: LES DI,[BX]
数据传送指令
6.标志寄存器传送(有四条标志传送指令)
⑴ LAHF (LOAD AH WITH FLAG) 将标志寄存器中的S、Z、A、P和C(即低8 位)传送至AH寄存器的指定位,空位没有定 义。
2、寄存器寻址
操作数就放在CPU的内部寄存器中,AX、BX、CX、DX、 DI、SI、SP和BP,不需要访问存储器。
例:INC CX MOV AX,BX 若执行前 AX =30A6H, BX =69EDH, CX =40D9H 则执行后 AX =69EDH, BX内容不变 CX =40DAH
3.1 8088/8086的寻址方式
– 操作数是指令执行的参与者,即各种操作的对象。 – 有些指令不需要操作数,通常的指令都有一个或两
个操作数,也有个别指令有3个甚至4个操作数。
(微型计算机原理与接口技术)第3章8086微处理器
控制单元
用于协同8086微处理器的各个 部分,寄存器和缓冲区。包括 时钟、复位电路、地址线缓冲 器等。
错误诊断和调试工具
包括单步运行、断点中断、CPU 卡和非居民调制等工具和设备, 可在调试过程中对程序进行检 测、查错和控制。
存储器管理
8086拥有1 MB存储空间,1 MB存储空间可按段组织为多个64 KB段。8086微处理器采用分段、 分页的管理方式进行存储管理。
输入输出
8086微处理器采用I/O端口的方式实现输入输出,其I/O端口地址分为地址端口、数据端口和 命令端口。
8086微处理器的运行模式和保护特权级
运行模式
指令执行过程包括取指、译码、执行和存储四个步骤。
2
虚拟8086模式
虚拟8086模式将8086CPU模拟在一个虚拟的8086组件上,以执行不受干扰的、实 模式下的8086软件。
8086微处理器的状态字和标志寄存器
状态字寄存器
状态字寄存器是8086微处理器内部的一个16位寄存器,用来存放由指令执行产生的数值和状 态信息。
8086的输入输出指令主要包括IN和OUT指令,用于实 现数据与I/O接口的交换。
指令扫描和解码
对8086进行指令扫描和解码,将所检测到的指令码、 操作码、源地址码和目的地址码等转为对应的操作。
8086微处理器的输入输出端口和控制单元、 错误诊断和调试工具
输入输出端口
主要有三种,即地址端口、数 据端口和命令端口,用于与外 围设备进行交互。
标志寄存器
标志寄存器是8086微处理器内部的一个16位寄存器,由包括进位、零、符号、调试状态、虚 拟8086等标志位组成。
8086微处理器的位处理和逻辑操作指令
位处理指令
微机原理与接口 第3章1—8086微处理器内部及寄存器结构
8088的内部结构 地址 加法
∑
20位
AH AL
器
BH BL
通用 寄存器
CH CL DH DL
SP BP SI DI
16位
CS
8位
DS
SS
输入/输出
ES
控制电路
IP
总
内部暂存器
线Hale Waihona Puke ALU执行部分 控制电路
12 34 8位
指令队列
标志寄存器
执行部件 (EU)
总线接口部件 (BIU)
第3章 80x86微处理器
作数所需的时间,使CPU的执行速度显著提高。为了满足微 型计算机对存储器系统高速度、大容量、低成本的要求,目前, 微型计算机系统采用如图3.1所示的三级存储器组织结构,即 由高速缓冲存储器Cache、主存和外存组成。
7
第3章 80x86微处理器
主存 ——当前正在执行的程序或要使用的数据必须从外存调入
CPU
EU
BIU
内部DB
外部DB
17
第3章 80x86微处理器 3.2.1 8086/8088内部结构
从功能上讲,8086CPU内部结构可分为两部分:
1、总线接口单元BIU(Bus Interface Unit)——负责完 成CPU与存储器或I/O设备之间的数据传送。
2、执行单元EU(Execution Unit)——不与系统外部直 接相连,它的功能只是负责执行指令。
教学目的:使学生掌握80X86微处理器的基本使用 教学重点:8086微处理器的组成及其寄存器结构; 8086
微处理器的存储器和I/O组织
教学难点:8086微处理器的存储器和I/O组织
1
第3章 80x86微处理器
8086,8088存储器和IO组织
(2) 保护断点和现场。此为堆栈的主要功能。
第十三页,共二十六页。
第3章 80x86微处理器
进栈和出栈操作过程 在执行进栈和出栈操作时,段地址由堆栈(duīzhàn)段寄存器SS提供,段 内偏移地址由堆栈(duīzhàn)指针寄存器SP提供,SP始终指向栈顶,当堆栈空 时,SP指向栈底。如图3.12所示,设在存储器中开辟了100H个存储单元的 堆栈段,当前(SS)=2000H,堆栈空时(SP)=0100H,即此时SP指向栈底(如图
第十一页,共二十六页。
第3章 80x86微处理器
…
逻 辑 地 址物 理 地 址
1000: 000010000H 66H
1000: 000110001H 8FH
1000: 000210002H 7CH
代 码 段 (≤64 KB)
存
…
…
储
2A0F: 00002A0F0H 90H
器
2A0F: 00012A0F1H 65H
第五页,共二十六页。
第3章 80x86微处理器
2.存储器的段结构 8086/8088 CPU中有关可用来存放地址的寄存器如IP、SP等都是16位
的,故只能直接寻址64 KB。为了对1 M个存储单元进行管理,8086/8088 采用了段结构的存储器管理方法。
8086/8088将整个存储器分为许多逻辑段,每个逻辑段的容量小于或
库。利用A0和BHE这两个控制信号,既可实现对两个库进行读/写(即 16位数据),也可单独对其中一个库进行读/写(8位数据),如表3.9所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PUSH AX
AX BB 12 AA 34
栈顶
34 12 AA BB BX … 12 34
栈底
POP BX POP AX
14
第3章 80x86微处理器
3.3.2 8086/8088 I/O组织 8086/ I/O组织
8086/ 8088系统和外部设备之间是通过 I 8086 / 8088 系统和外部设备之间是通过I / O 接口电路来联系的。每个I 接口电路来联系的。每个I/O接口都有一个或几 个端口。在微机系统中每个端口分配一个地址号, 个端口。在微机系统中每个端口分配一个地址号, 称为端口地址 。 一个端口通常为 I/O接口电路内 称为 端口地址。 一个端口通常为I/O 接口电路内 部的一个寄存器或一组寄存器。 部的一个寄存器或一组寄存器。 8086/8088CPU用地址总线的低16位作为对8 8086/8088CPU用地址总线的低16位作为对8位 I/O端口的寻址线,所以8086/8088系统可访问 端口的寻址线,所以8086/8088系统可访问 的 8 位 I / O 端口有 65536(64K)个 。 两个编号相邻 端口有65536(64K) 个 的8位端口可以组成一个16位的端口。 位端口可以组成一个16位的端口。
第3章 80x86微处理器
一个存储单元中存放的 信息称为该存储单元的内容。 如00001H单元的内容为 00001H单元的内容为 9FH,记为:(00001H)=9FH。 9FH,记为:(00001H)=9FH。 如从地址0011FH开始的 如从地址0011FH开始的 两个连续单元中存放一个字 型数据,则该数据为DF46H, 型数据,则该数据为DF46H, 记为:(0011FH)=DF46H。 记为:(0011FH)=DF46H。
4
第3章 80x86微处理器
8086 CPU
被读字节 忽略字节
××
偶地址 奇地址
8086 CPU
忽略字节 被读字节
××
偶地址 奇地址
(a)
(b) 忽略字节 被读字节 被读字节 忽略字节 (d) 偶地址 奇地址 偶地址 奇地址
8086 CPU
被读字
×× ××
偶地址 奇地址
8086 CPU
×× ××
(c)
78H 9FH …
存储单元地址 00000H 00001H … 0011FH 00120H 00121H … E8009H E800AH E800BH E800CH E800DH … FFFFFH
2
46H DFH 6CH … 98H 65H 5EH A6H 66H … 6FH
图3.10 数据在存储器中的存放
低位(偶地址)库 512 K×8 D7∼ D 0
图3.13 8086存储器高低位库的连接
3
第3章 80x86微处理器
地址总线A 地址总线A19∼A1可同时对高、低位库的存储 单元寻址,A BHE用于对库的选择。 单元寻址,A0和BHE用于对库的选择。 当A0=0时,选择偶数地址的低位库; 当BHE=0时,选择奇数地址的高位库; BHE= 当两者均为0 当两者均为0时,则同时选中高低位库。 需注意的是,对于规则字(从偶数地址开 始存放的字)的读/写操作只需一个总线周期, 而非规则字(从奇数地址开始存放的字)的读 /写操作需两个总线周期。
8
第3章 80x86微处理器
物理地址和逻辑地 址的关系为: 物理地址=段地址 ×10H+偏移地址 10H
19
15
0
段内偏移地址 43 段寄存器 0
0000
在程序设计中,段地 段地址左移4位 址是由段寄存器(如 ∑ CS 、 DS 、 SS 或 ES ) 提 19 0 供 , 偏移地址通常是由 20位物理地址 地 址 寄 存 器 ( 如 IP 、 BX 、 BP 、 SP 、 SI 或 DI 图3.7 物理地址的形成 等 ) 及立即 数等提供。 数等提供 。
6
第3章 80x86微处理器
M
00000H 64KB 10000H 64KB 20000H 64KB 30000H 64KB 40000H B段 A段
紧密相连 部分重叠 完全重叠
1FF00H C段 D段 64KB 2FEFFH
断开排列
E段
7
第3章 80x86微处理器
3. 逻辑地址和物理地址 ⑴ 逻辑地址:由段地址 ( 逻辑段起始地址 逻辑地址:由段地址( 的高16 位 和偏移地址( 16位 的高 16位 ) 和偏移地址 ( 16 位 ) 表示的存储单 元的地址称为逻辑地址, 元的地址称为逻辑地址,记为: 段地址∶ 段地址∶偏移地址 ⑵ 物理地址: 由 CPU 内部总线接口单元BIU 物理地址:由 CPU内部总线接口单元 BIU 中的地址加法器根据逻辑地址产生的20 位存储 中的地址加法器根据逻辑地址产生的 20位存储 单元地址称为物理地址。如图3 所示。 单元地址称为物理地址。如图3.7所示。
第3章 80x86微处理器
3.3 8086/8088存储器和 组织 存储器和I/O组织 存储器和
3.3.1
8086/8088存储器组织 8086/8088存储器组织
1. 存储器组织 8086/8088微处理器有20条地址线, 8086/8088微处理器有20条地址线,可以配置 1MB的内存储器。存储空间都按8位(即字节)进行 MB的内存储器。存储空间都按8 即字节) 组织,每个存储单元存储一个字节数据, 组织,每个存储单元存储一个字节数据,若存放 “字”数据(16位),则存放在相邻两个存储单元 数据(16位 中,高字节存放在高地址单元,低字节存放在低 高字节存放在高地址单元, 地址单元。 地址单元。每个存储单元都有一个20位的地址, 这1 M个存储单元对应的地址为00000H∼FFFFFH, 1 如图3.10所示。
13
第3章 80x86微处理器
若已知当前SS = 1050H SP= 0008H AX= 若已知当前 SS= 1050H , SP = 0008H , AX = 1234H 1234H , 则 8086 系统中堆栈的入栈和出栈操作如 8086系统中堆栈的入栈和出栈操作如 下图所示。 下图所示。
段基址(SS) 10500H 10501H 10502H 10503H 10504H 10505H 10506H 10507H 10508H 10509H 1050AH
9
逻辑段的分配
第3章 80x86微处理器
物理地址和逻辑地址的转换
• 将逻辑地址中的段地址左移4位,加上偏移地址 就得到20位物理地址 • 一个物理地址可以有多个逻辑地址
1460:100、1380: 逻辑地址 1460:100、1380:F00 14700H 14700H 物理地址 14700H 14700H
段基址: 偏移地址 1123H 0001H 11232H
1123H×16+15H=11245H
15H
1124H×16+05H=11245H
000EH 000FH 0010H 0011H 0012H 0013H 0014H 0015H … FFFEH FFFFH 1122EH 1122FH
12
… 段基址: 1124H 05H 1123EH 1123FH 11240H 11241H 11242H 11243H 11244H 11245H
第3章 80x86微处理器
4.堆栈操作 8086/8088系统中的堆栈使用段定义语句 8086/8088系统中的堆栈使用段定义语句 在存储器中定义的一个堆栈段, 在存储器中定义的一个堆栈段 , 和其它逻辑 段一样, 它可以在1 字节的存储空间中浮动 , 段一样 , 它可以在 1M 字节的存储空间中浮动, 其容量可达64KB, 这是一个具有 “ 先进后出 ” 其容量可达 64KB , 这是一个具有“ 先进后出” 特性的存储区域,且属于向下生长的堆栈。 特性的存储区域,且属于向下生长的堆栈。 堆栈由SS 和 SP来寻址 。 SS给出堆栈段的 堆栈由 SS和 SP 来寻址。 SS 给出堆栈段的 段地址, SP给出当前栈顶 ( 偏移地址 ) 段地址 , 而 SP 给出当前栈顶( 偏移地址) , 即指出从段地址到栈顶的偏移量。 即指出从段地址到栈顶的偏移量。
图3.14 从8086存储器的偶数和奇数地址读字节和字 (a) 读偶地址单元中的字节;(b) 读奇地址单元中的字节; (c) 读偶地址单元中的字; (d) 读奇地址单元中的字
5
第3章 80x86微处理器
2. 存储器分段 8086/ 8088CPU 中有关可用来存放地址的寄 8086 / 8088CPU中有关可用来存放地址的寄 存器如IP、SP、SI、DI、BP等都是16位的, 存器如IP、SP、SI、DI、BP等都是16位的,故只 能直接寻址64KB。为了对1 个存储单元进行管理, 能直接寻址64KB。为了对1M个存储单元进行管理, 8086/8088采用了段结构的存储器管理方法。 8086/8088采用了段结构的存储器管理方法。 8086/8088将整个存储器分为许多逻辑段, 8086/8088将整个存储器分为许多逻辑段, 但只有4种类型:代码段、数据段、 但只有4种类型:代码段、数据段、堆栈段和附 加段。每个逻辑段的容量小于或等于64KB, 加段。每个逻辑段的容量小于或等于64KB,允许 它们在整个存储空间中浮动。 它们在整个存储空间中浮动。各个逻辑段之间可 以紧密相连,也可以互相重叠( 以紧密相连,也可以互相重叠(局部重叠和完全 重叠) 还可以相互隔开。 重叠),还可以相互隔开。
第3章 作业 章
第84页 2、3、4、5、6、7、8、9题
17
16
第3章 80x86微处理器
8086CPU 对 8086CPU对 I / O 设备的读写与对存储器的读 写操作类似。 CPU与偶地址的I 写操作类似。当CPU与偶地址的I/O设备实现16 设备实现16 位数据的存取操作时, 位数据的存取操作时,可在一个总线周期内完成; 当CPU与奇地址的I/O设备实现16位数据的存取 CPU与奇地址的I 设备实现16位数据的存取 操作时,要占用两个总线周期才能完成。 操作时,要占用两个总线周期才能完成。