微型计算机原理与接口技术(2)

合集下载

微机原理与接口技术第二版答案

微机原理与接口技术第二版答案

微机原理与接⼝技术第⼆版答案2.2 8086微处理器由哪⼏部分组成?各部分的功能是什么?【解】:按功能可分为两部分:总线接⼝单元BIU(Bus Interface Unit)和执⾏单元EU (Execution Unit)。

总线接⼝单元BIU是8086 CPU在存储器和I/O设备之间的接⼝部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。

所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个⽬标设计的。

它提供了16位双向数据总线、20位地址总线和若⼲条控制总线。

其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。

CPU 执⾏指令时,总线接⼝单元要配合执⾏单元,从指定的内存单元或I/O端⼝中取出数据传送给执⾏单元,或者把执⾏单元的处理结果传送到指定的内存单元或I/O端⼝中。

执⾏单元EU中包含1个16位的运算器ALU、8个16位的寄存器、1个16位标志寄存器FR、1个运算暂存器和执⾏单元的控制电路。

这个单元进⾏所有指令的解释和执⾏,同时管理上述有关的寄存器。

EU对指令的执⾏是从取指令操作码开始的,它从总线接⼝单元的指令队列缓冲器中每次取⼀个字节。

如果指令队列缓冲器中是空的,那么EU就要等待BIU通过外部总线从存储器中取得指令并送到EU,通过译码电路分析,发出相应控制命令,控制ALU数据总线中数据的流向。

2.3 简述8086 CPU的寄存器组织。

【解】:(1)通⽤寄存器:通⽤寄存器⼜称数据寄存器,既可作为16位数据寄存器使⽤,也可作为两个8位数据寄存器使⽤。

当⽤作16位时,称为AX、BX、CX、DX。

当⽤作8位时,AH、BH、CH、DH存放⾼字节,AL、BL、CL、DL存放低字节,并且可独⽴寻址。

这样,4个16位寄存器就可当作8个8位寄存器来使⽤。

(2)段寄存器:段寄存器共有4个CS、DS、SS、ES。

代码段寄存器CS表⽰当前使⽤的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供;堆栈段寄存器SS指定当前堆栈的起始地址;数据段寄存器DS指⽰当前程序使⽤的数据所存放段的起始地址;附加段寄存器ES则指出当前程序使⽤附加段地址的起始位置,该段⼀般⽤来存放原始数据或运算结果。

微机原理和接口技术第一、二章作业和答案

微机原理和接口技术第一、二章作业和答案

8. 两个不压缩BCD码分别存放在3000H和 3001H单元的低4位,高4位均为0。将两个不 压缩的BCD码组合成为一个压缩的BCD码, 前者放在低4位,后者放在高4位,存放在 3002H单元。例如初值为: (3000H)=07H, (3001H)=05H, 要求结果为(3002H)=57H 9. 将4000H和4001H单元的两个ASCII码分别转 换为相应的十六进制数,然后共同存放在 4002H单元,前者放在低4位,后者放在高4 位。例如初值为: (4000H)=42H=‘B’, (4001H)=36H=‘6’, 要求结果为(4002H)=6BH
10. 微机某内存单元的内容为C5H,若它表示的是一个 无符号数,该数对应的十进制数是多少?若它表示 的是一个带符号数,该数对应的十进制数是多少?
3
11. 将下列十进制数分别转化为二进制数(保留4位小 数)、十六进制数(保留4位小数)和压缩BCD数
(1)125.74 1)101011.101 3)1001.11001 1)5A.26 3)6AB.24 (2)513.85 2)110110.1101 4)100111.0101 2)143.B5 4)E2F3.2C (3)742.24
24
3-3、试编写求两个无符号双字长数之和的程序。两数 分别放在MEM1和MEM2单元中,和放在SUM单元 中 3-4、假设数据项定义如下: DATA1 DB ‘HELLO! GOOD MORNING!’ DATA2 DB 20 DUP(?) 用串操作指令编写程序段,使其分别完成以下功能: (1)从左到右将DATA1的字符串传送到DATA2中 (2)传送完后,比较DATA1和DATA2中的内容是否 相同 (3)把DATA1中的第3和第4个字节装入AX (4)把AX的内容存入DATA2+5开始的字节单元中。 25

《微机原理与接口技术》习题解答2(最新整理)

《微机原理与接口技术》习题解答2(最新整理)

习题22.1 8086CPU具有20 条地址线,可直接寻址1MB 容量的内存空间,在访问I/O 端口时,使用地址线16条,最多可寻址64K 个I/O端口。

2.2 8086CPU的内部结构有何特点?由哪两部分组成?它们的主要功能是什么?【解答】8086微处理器是典型的16位微处理器,HMOS工艺制造,集成了2.9万只晶体管,使用单一的+5V电源,有16根数据线和20根地址线;通过其16位的内部数据通路与设置指令预取队列的流水线结构结合起来而获得较高的性能。

8086微处理器内部安排了两个逻辑单元,即执行部件EU和总线接口部件BIU。

EU主要负责指令译码、执行和数据运算,包括计算有效地址;BIU主要完成计算物理地址、从内存中取指令、实现指令规定的读/写存储器或外部设备等信息传输类操作。

2.3 8086CPU中的指令队列的作用是预取指令,其长度是6 字节。

2.4 8086CPU内部寄存器有哪几种?各自的特点和作用是什么?【解答】CPU有14个内部寄存器,可分为3大类:通用寄存器、控制寄存器和段寄存器。

通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。

控制寄存器包括指令指针寄存器IP和标志寄存器FLAG:IP用来指示当前指令在代码段的偏移位置;FLAG用于反映指令执行结果或控制指令执行的形式。

为了实现寻址1MB存储器空间,8086CPU将1MB的存储空间分成若干个逻辑段进行管理,4个16位的段寄存器来存放每一个逻辑段的段起始地址。

2.5 8086的标志寄存器分为6 个状态标志位和3 个控制标志位,它们各自的含义和作用是什么?【解答】标志寄存器各标志位的含义和作用如下表:表2-1 标志寄存器FLAG中标志位的含义和作用标志位含义作用CF进位标志CF=1,指令执行结果在最高位上产生一个进位或借位;CF=0,则无进位或借位产生PF奇偶标志PF=1,结果低8位含偶数个1;PF=0,表示结果低8位含奇数个1AF辅助进位标志AF=1,运算结果的低4位产生了一个进位或借位;AF=0,则无此进位或借位ZF零标志ZF=1,运算结果为零;ZF=0,则运算结果不为零SF符号标志SF=1,运算结果为负数;SF=0,则结果为正数OF溢出标志OF=1,带符号数在进行运算时产生了溢出;OF=0,则无溢出TF陷阱标志TF=1,8086CPU处于单步工作方式;TF=0,8086CPU正常执行程序IF中断允许标志IF=1,允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;IF=0,则禁止接受可屏蔽中断请求DF方向标志DF=1,字符串操作指令按递减的顺序对字符串进行处理;DF=0,字符串操作指令按递增的顺序进行处理2.6 已知堆栈段寄存器(SS)=2400H,堆栈指针(SP)=1200H,计算该堆栈栈顶的实际地址,并画出堆栈示意图。

微型计算机原理与接口技术第二章课后答案

微型计算机原理与接口技术第二章课后答案

第二章 1. 8086CPU内部由哪两部分组成?它们的主要功能是什么?答:8086CPU 内部由执行单元 EU 和总线接口单元 BIU 组成。

主要功能为:执行单元 EU 负责执行指令。

它由算术逻辑单元(ALU)、通用寄存器组、16 位标志寄存器(FLAGS)、EU 控制电路等组成。

EU 在工作时直接从指令流队列中取指令代码,对其译码后产生完成指令所需要的控制信息。

数据在 ALU 中进行运算,运算结果的特征保留在标志寄存器 FLAGS 中。

总线接口单元 BIU 负责 CPU 与存储器和 I /O 接口之间的信息传送。

它由段寄存器、指令指针寄存器、指令队列、地址加法器以及总线控制逻辑组成。

2. 8086CPU 中有哪些寄存器?各有什么用途?答:8086CPU 内部包含4组16位寄存器,分别是通用寄存器组、指针和变址寄存器、段寄存器、指令指针和标志位寄存器。

(1)通用寄存器组 包含4个16位通用寄存器 AX 、BX 、CX 、DX ,用以存放普通数据或地址,也有其特殊用途。

如AX (AL )用于输入输出指令、乘除法指令,BX 在间接寻址中作基址寄存器,CX 在串操作和循环指令中作计数器,DX 用于乘除法指令等。

(2)指针和变址寄存器 BP 、SP 、SI 和DI ,在间接寻址中用于存放基址和偏移地址。

(3)段寄存器 CS 、DS 、SS 、ES 存放代码段、数据段、堆栈段和附加段的段地址。

(4)指令指针寄存器IP 用来存放将要执行的下一条指令在现行代码段中的偏移地址。

(5)标志寄存器Flags 用来存放运算结果的特征。

3. 8086CPU 和8088CPU 的主要区别是什么?答:8088CPU 的内部结构及外部引脚功能与8086CPU 大部分相同,二者的主要不同之处如下:(1)8088指令队列长度是4个字节,8086是6个字节。

(2)8088的BIU 内数据总线宽度是8位,而EU 内数据总线宽度是16位,这样对16位数的存储器读/写操作需要两个读/写周期才能完成。

微型计算机原理与接口技术第版冯博琴吴宁主编

微型计算机原理与接口技术第版冯博琴吴宁主编
13
1.1.1. 微型计算机的发展
电子计算机的发展方向: 第五代:“非冯.诺依曼”计算机时代 第六代:神经网络计算机时代 光计算机时代 生物计算机时代
14
1.1.1. 微型计算机的发展
微型计算机诞生于20世纪70年代 微型计算机特点:体积小、重量轻、功耗低、 可靠性高、价格便宜、使用方便、软件丰富 微型计算机的核心是微处理器(CPU) 每出现一个新的微处理器,就会产生新一代的 微型计算机
并要求将它送入累加器A中,所以数据寄存器 DR通过内部总线将01H送入累加器A中。
39

PC 01H
1 AR 01H
控制信号
ALU
A
B
01H
7
操作控制器
ID IR
00
3
01
02
4
03
读命令 04
B0H 01H 04H 02H
F4H
DR 01H 56
(执行第一条指令操作示意图)
1.1.3微机系统的构成
中,经过译码CPU“识别”出这个操作码为 “MOV A,01H”指令,于是控制器发出执行这 条指令的各种控制命令。
36
2
PC 00H
1 AR 00H
3
00 01
02
4
03
读命令 04
控制信号
ALU
A
B
操作控制器
ID IR B0H
B0H 01H 04H 02H
F4H
DR
7
B0H
56
(取第一条指令操作示意图)37
虽然ENIAC体积庞大,耗电惊人,运算速 度不过几千次(现在的超级计算机的速度最快 每秒运算达万亿次!),但它比当时已有的计 算装置要快1000倍,而且还有按事先编好的程 序自动执行算术运算、逻辑运算和存储数据的 功能。但是ENIAC宣告了一个新时代的开始。

微机原理和接口技术第一、二章作业和答案

微机原理和接口技术第一、二章作业和答案

3-5、执行下列指令后,AX寄存器中的内容是多 少? TABLE DW 10,20,30,40, 50 ENTRY DW 3 … MOV BX, OFFSET TABLE ADD BX, ENTRY MOV AX, [BX] 3-6、假设一个48位数存放在DX:AX:BX中,试 编写程序段,将该48位数乘以2。
20
10. 将BL寄存器中的无符号数乘以128,高位放 在BH寄存器,低位放在BL寄存器,要求执 行速度尽量快(移位和循环指令实现)。 11、一个4位十进制数以压缩BCD码形式存放在 偏移地址为DATA和DATA+1的内存单元中, DATA单元存放个位和十位,DATA+1单元 存放百位和千位。要求将其转换为相应的 ASCII码,存放到以BUFF为首地址的4个内 存单元。例如初值: (DATA)=47H, (DATA+1)=92H, 要求结果为: (BUFF)=‘7’, (BUFF+1)=‘4’, (BUFF+2)=‘2’, (BUFF+3)=‘9’ 12、将立即数100推入堆栈
26
3-7、编写程序段,把从BUFFER控制的100个字节的内 存区域初始化成55H、0AAH、55H、0AAH、 ……. 55H、0AAH。 3-8、请用子程序结构编写如下程序:从键盘输入一个 二位十进制数的月份数(01~12),然后显示出相 应的英文缩写名。(交软件) 3-9、请在屏幕上显示斐波那契数列的前20个值。斐波 那契数列的定义如下: (交软件) F(0)=0 F(1)=1 F(n)=F(n-1) +F(n-2), n≥2 27
12. 将下列二进制数分别转化为十进制数和十六进制数
13. 将下列十六进制数分别转化为二进制数和十进制数
14. 求A95BH与8CA2H之和;并写出运算后标志寄存 器中SF、ZF、CF、OF、PF、AF的值。

2011年全国微型计算机原理及接口技术模拟试卷(二)介绍

2011年全国微型计算机原理及接口技术模拟试卷(二)介绍
答案:A
5. DMA操作的基本方法之一,周期挪用法是() A. 利用CPU不访存的周期来实现DMA操作 B. DMA操作期间,CPU一定处于暂停状态 C. 要影响CPU的运行速度 D. DMA传送操作可以有规则地、连续地进行
答案:A
更多试卷请登陆九州考苑()
6. 哪些存储器在断电(或关机)后,仍保留原有信息() A. RAM,ROM B. SRAM,DRAM C. ROM,EPROM D. PROM,RAM
答案:C
7. 微机系统工作于DMA方式时,系统的地址信号是由()提供的 A. 微处理器 B. DMA控制器 C. 中断控制器 D. 总线控制器
答案:B
8. PC/XT系统板上ROM挂在()总线上。 A. 芯片总线 B. 系统总线 C. 系统扩充总线 D. 外总线
答案:C
9. RS-232C数据“1”及控制线的断开状态规定为() A. -3V~-5V B. -3V~-10V C. -3V~-12V D. -3V~-15V
答案:A^B^D^E^
5. 8251A中控制发送和接收字符的速度的时钟信号是() A. CPU的工作时钟 B. 接收器时钟RxC C. 发送器时钟TxC D. CLK输入 E. CS输入
答案:B^C^
三、判断改错题(本大题共5小题,每小题2分,共10分)判断下列各题正误,正者在括 号内打“√”,误者在括号内打“×”并说明理由。
答案:A
14. 输入控制发送器数据速率的时钟TXC频率可以是数据传送波特率的()倍。 A. 1、16、64 B. 1、32、64 C. 16、32、64 D. 16、64、128
答案:A
15. 微处理器内部的控制器是由()组成。 A. 寄存器阵列 B. 指令寄存器、指令译码器及定时控制电路 C. ALU与内存 D. ALU与寄存器

微机原理与接口技术完整版答案(第二版)

微机原理与接口技术完整版答案(第二版)

课后答案:2.1 将下列十进制数分别转换为二进制数、八进制数、十六进制数。

128D=10000000B=200O=80H1024D=10000000000B=2000O=400H0.47D=0.01111000B=0.36O=0.78H625D=1001110001B=1161O=271H67.544D=1000011.1000B=103.4264O=43.8BH2.2 将下列二进制数转换成十进制数。

10110.001B=22.125D11000.0101B =24.3125D2.3 将下列二进制数分别转换为八进制数、十六进制数。

1100010B=142O=62H101110.1001B=56.44O=2E.9H0.1011101B=0.564O=0.BAH2.4 写出下列用补码表示的二进制数的真值。

01110011 —→ 01110011 —→ +11500011101 —→ 00011101 —→ +2910010101 —→ 11101011 —→-10711111110 —→ 10000010 —→-210000001 —→ 11111111 —→-1272.6 写出下列十进制数的BCD码表示形式。

456=(0100 0101 0110)BCD789=(0111 1000 1001)BCD123=(0001 0010 0011)BCD3.1 8086CPU由几部分组成?它们的主要功能是什么?答:从功能上讲,8086分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。

BIU是CPU与外部存储器及I/O的接口,负责与存储器和I/0系统进行数据交换。

指令执行部件EU完成指令译码和执行指令的工作。

3.2 8086有多少根地址线?可直接寻址多大容量的内存空间?答:8086CPU有16根数据线和20根地址线,直接寻址空间为220,即为1M字节。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8086/8088CPU内部设置了4个16位段寄存器,它们分别是代码段寄存器 CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES,由它们给出 相应逻辑段的首地址,称为“段基址”。段基址与段内偏移地址组合形 成 20位物理地址,段内偏移地址可以存放在寄存器中,也可以存放在存储 器中 。 代码段内存放可执行的指令代码,数据段和附加段内存放操作的数据, 通常操作数在现行数据段中,而在串指令中,目的操作数指明必须在现 行附加段中。堆栈段开辟为程序执行中所要用的堆栈区,采用先进后出 的方式访问它。各个段寄存器指明了一个规定的现行段,各段寄存器不 可互换使用。程序较小时,代码段、数据段、堆栈段可放在一个段内, 即包含在64KB之内,而当程序或数据量较大时,超过了64KB,那么可以 定义多个代码段或数据段、堆栈段、附加段。现行段由段寄存器指明段 地址,使用中可以修改段寄存器内容,指向其它段。有时为了明确起见, 可在指令前加上段超越的前缀字节,以指定操作数所在段。 4.指令指针寄存器 8086/8088CPU中设置了一个16位指令指针寄存器IP,用来存放将要执行 的下一条指令在现行代码段中的偏移地址。程序运行中,它由BIU自动
2.2 8086CPU的引脚及其功能 8086/8088CPU根据它的基本性能,应包括20条地址线,16条数据线,加 上控制信号,电源和地线,芯片的引脚比较多。但由于制造工艺的限制, 8086/8088CPU芯片采用40条引脚的双列直插式封装,因此部分引脚采 用了分时复用的方式。 另外8086/8088CPU可以工作在两种工作模式(最小模式和最大模式), 最小模式用于单机系统。系统中所需要的控制信号全部由8086直接提供。 最大模式用于多处理机系统,系统中所需要的控制信号由总线控制器 8288提供。这样,24脚~31脚的8条引脚在两种工作模式中具有不同的 功能,下面简要地介绍8086/8088 CPU各引脚的功能。
第二章 8086系统结构
Inter 8086CPU是16位微处理器,它有16根数据线和20根地址 线,直接寻址空间为220,即1MB。8088CPU内部结构与8086基本相 同但对外数据总线只有8条,称为准16位微处理器。 2.1 8086CPU结构 微型计算机工作时,总是先从存储器中取指令,需要的话再取 操作数,然后执行指令,送结果。通常8位机是串行执行的,而16位 机可并行操作。8086 CPU由总线接口部件BIU和指令执行部件EU组成, BIU和EU的操作是并行的。总线接口部件BIU完成取指令,读操作数, 送结果,所有与外部的操作由其完成。而指令执行部件EU从BIU的指 令队列中取出指令,并且执行指令,不必访问存储器或I/O端口。若 需要访问存储器或I/O端口,也是由EU向BIU发出访问所需要的地址, 在BIU中形成物理地址,然后访问存储器或I/O端口,取得操作数送 到EU,或送结果到指定的内存单元或I/O端口。这种并行工作方式, 大大提高了系统工作效率。 图2-1给出了8086CPU的内部结构框图。
2.3 8086存储器组织 一、存储器地址的分段 1.存储器地址的分段 在存储器中是以字节为单位存储信息的,每个存储单元有唯一的地址来 确定。8086/8088系统有20根地址线可寻址1MB字节的存储空间,即对存 储器寻址要20位物理地址,而8086为16位机,CPU内部寄存器只有16位, 可寻址64KB。因此8086系统把整个存储空间分成许多逻辑段,每段容量 不超过64KB。8086系统对存储器的分段采用灵活的方法,允许各个逻辑 段在整个存储空间中浮动,这样在程序设计时可使程序保持相对的完整 性。段和段之间可以是连续的(整个存储空间分成16个逻辑段),也可以 是分开的或重叠的。如图2-7所示:
3.逻辑地址来源 逻辑地址来源如下表所示:
二、8086存储器的分体结构 8086系统中,1MB的存储空间分成两个存储体:偶地址存储体和奇地址 存 储体,各为512KB,示意图如图2-10所示:
存储器中存放的信息称为存储单元的内容,例如存储单元 00100H中的内容为34H,表示为(00100H)=34H。一个字在存 储器中按相邻两个字节存放,存入时以低位字在低地址,高 位字节在高地址的次序存放,字单元的地址以低位地址表示。 例:(00100H)=1234H,(00103H)=0152H在内存中放的位置 如右图示。从中可以看出,一个字可以从偶地址开始存放,也 可以从奇地址开始存放,但8086CPU访问存储器时,都是以字 为单位进行的,并从偶地址开始。若读/写一个字节,只启动 某个存储体,只有相应的8位数据在数据总线上有效,即启动 偶地址存储体,低8位数据线有效,或启动奇地址存储体,高8 位数据线有效,另外8位数据被忽略了。
BP和SP寄存器称为指针寄存器,与SS联用,为访问现行堆栈段提供方便。 通常BP寄存器在间接寻址中使用,操作数在堆栈段中,由SS段寄存器与 BP组合形成操作数地址。即BP中存放现行堆栈段中一个数据区的“基址” 的偏移量,所以称BP寄存器为基址指针。 SP寄存器在堆栈操作中使用,PUSH和POP指令是从SP寄存器得到现行堆 栈段的段内地址偏移量,所以称SP寄存器为堆栈指针,SP始终指向栈顶。 寄存器SI和DI称为变址寄存器,通常与DS一起使用,为访问现行数据段 提供段内地址偏移量。在串指令中,其中源操作数的偏移量存放在SI中, 目的操作敷的偏移量存放在DI中,SI与DI的作用不能互换,否则传送地 址相反。在串指令中,SI、DI均为隐含寻址,此时,SI和DS联用,DI和 ES联用。 3.段寄存器 8086/8088CPU可直接寻址1MB的存储器空间,直接寻址需要20位地址码, 而所有内部寄存器都是16位的,只能直接寻址64KB,因此采用分段技术 来解决。将1MB的存储空间分成若干逻辑段,每段最长64KB,这些逻辑 段在整个存储空间中可浮动。
一、8086CPU的内部结构 1.总线接口部件BIU 总线接口部件BIU是8086CPU与外部(存储器和I/O端口)的接口,它 提供了16位双向数据总线和20位地址总线,完成所有外部总线操作。 BIU具有下列功能:地址形成、取指令、指令排队,读/写操作数和 总线控制。它由下列各部分组成: (1)16位段地址寄存器: CS-代码段寄存器 DS-数据段寄存器 ES-附加段寄存器 SS-堆栈段寄存器 (2)16位指令指针寄存器IP:存放下一条要执行指令的偏移地址。 (3)20位物理地址加法器:将16位逻辑地址变换成存储器读/写所需要 的20位物理地址,实际上完成地址加法操作。 (4)6字节指令队列:预放6字节的指令代码。 (5)总线控制逻辑:发出总线控制信号。
任何一个存储单元的实际地址,都是由段地址及段内偏移地址两部分组 成,从图2-7可以看出,任何一个存储单元,可以在一个段中定义,也 可定义在两个重叠的逻辑段中,关键看段的首地址如何指定。IBM PC机 对段的首地址有限制.规定必须从每小段的首地址开始,每16字节为一 小段,所以段起始地址必须能被16整除才行。
将其修改,使IP始终指向下一条将要执行的指令的地址,因此它是用来 控制指令序列的执行流程的,是一个重要的寄存器。8086程序不能直接 访问IP,但可以通过某些指令修改IP的内容。例如,当遇到中断指令或 调用于程序指令时,8086自动调整IP的内容,将IP中下一条将要执行的 指令地址偏移量人栈保护,待中断程序执行完毕或子程序返回时,可将 保护的内容从堆栈中弹出到IP,使主程序继续运行。在跳转指令时,则 将新的跳转目标地址送入IP,改变它的内容,实现了程序的转移。 5.标志寄存器PSW 16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指 令的转移控制条件。其中7位没有用,9个标志位分成两类:一类为状态 标志,表示运算后结果的状态特征,它影响后面的操作。状态标志有6 个:CF、PF,AF、ZF、,CF和OF。另一类为控制标志,用来控制CPU操作, 控制标志有3个:TF、IF和DF。PSW寄存器的具体格式如下图所示:
2.物理地址形成 8086 系统将段地址放在段寄存器中,称为“段基址”。有 4 个段寄存器, 分别为代码段寄存器CS,数据段寄存器DS,附加段寄存器ES和堆栈段寄 存器SS。 段内“偏移地址”指出了从段地址开始的相对偏移位置。它可以放在指 令 指针寄存器IP中,或16位通用寄存器中。 逻辑地址:存储器的任一个逻辑地址由段基址和偏移地址组成,都是无 符号的16位二进制数,程序设计时采用逻辑地址。 物理地址:存储器的绝对地址,从00000~FFFFFH,是CPU访问存储器的 实际寻址地址,它由逻辑地址变换而来。物理地址计算如下所示: 物理地址=段基址×16+偏移地址 因为段基址指每段的起始地址,它必须是每小段的首地址,其低4位一 定为0,所以在实际工作时,是从段寄存器中取出段基址,将其左移4位, 再与16位偏移地址相加,就得到了物理地址,此地址在CPU的总线接口 部件BIU的地址加法器中形成。
一、8086/8088CPU在最小模式中引脚定义 二、8086/8088CPU在最大模式中引脚定义
三、8088与8086CPU的不同之处
8088CPU的内部结构及外部引脚功能与8086CPU大部分相同。主要不同之 处如下: 1.8088的指令队列长度是4个字节,指令队列中只要出现一个空闲字节 时,BIU就会自动访问存储器,取指令来补充指令队列。(8086要在指令 队列中至少出现2个空闲字节时,才预取后续指令)。 2.8088CPU中,BIU的总线控制电路与外部交换数据的总线宽度是8位, 总线控制电路与专用寄存器组之间的数据总线宽度也是8位,而EU的内 部总线是16位,这样,对16位数的存储器读/写操作要两个读/写周期才 可以完成。 3.8088外部数据总线只有8条,所以分时复用的地址/数据总线为AD7~ AD0;而AD15~AD8成为仅传递地址信息的A15~A8。 4.8088中,用 IO/M 信号代替 M/IO信号, IO/M 低电平时选通存储器, 高电平时选通I/O接口。 5.8088中,只能进行8位数据传输,BHE 信号不需要了,改为 SS 0,与 DT /R IO/M一起决定最小模式中的总线周期操作。 下表指出了具体的组合关系。
相关文档
最新文档