青岛理工大学本校微型计算机原理往年试题
2013-11-29
展开全部
你是杨淑艳教的吗?
更多追问追答
追问
不是,是一个姓张的女老师,你有没有往年的试题啊,或者你们老师给你们划重点了?
追答
张什么。是不是短头发。中分那个?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一章 绪论
第一节 微型计算机发展概况
1、1946年第一台电子计算机ENIAC在美国研制成功
2、计算机大发展经历了从电子管计算机、晶体管计算机、集成电路计算机、大规模集成电路计算机几代
3、1974年,在美国第一台微型计算机Altair诞生了,从而开创了微型计算机的新时代。
4、摩尔定律:集成电路内芯片的晶体管数目,每隔18个月--24个月,其集成度翻一番
第二节 微型计算机系统
1、冯诺依曼型计算机包括:运算器、控制器、存储器、输入设备、输出设备
2、基本工作原理:存储器存储程序控制
3、微型计算机包括 微处理器 功能:①从存储器中取指令,指令译码②简单的算术逻辑运算
③在处理器和存储器或I/O之间传送数据④程序流向控制
存储器 分为:随机存储器RAM和只读存储器ROM 功能:存放程序和数据 到匹配
图1.3 输入/输出接口电路 功能:将外部设备与CPU相连接,使之在信息的格式、电平、速度等方面得
系统总线 分为:地址总线(单向)、数据总线(双向)、控制总线(双向)
功能:在CPU与存储器、I/O间传送地址、数据、控制信息的公共通道
4、微型计算机系统包括:微型计算机、输入输出设备、系统软件 部总线
5、微处理器包括:算术逻辑部件ALU、累加器和寄存器组、指令指针寄存器、段寄存器、时序和控制逻辑部件、内
6、存储器 内部存储器 RAM DRAM、SRAM 断电后内容丢失
ROM PROM、EPROM、EEPROM 断电后内容不丢失
图1.5 外部存储器
7、总线包括:内部总线、元件级总线、系统总线、外部总线 元件级总线包括:地址总线、数据总线、控制总线
第三节 计算机数据格式
1、二进制——后缀B 八进制——后缀Q或O 十进制——后缀D或省略 十六进制——后缀H
2、其它数制转换成十进制 课本15页 例1.1 1.2 1.3
3、十进制转换成其它进制 课本16页 例1.4 1.5
整数部分:除以基数直到商为零 取余 逆排 小数部分:乘以基数直到小数部分为零 取整 顺排
4、原码
反码 正数的反码与原码相同
负数的反码:原码的符号位不变,数字位取反
补码 正数的补码与原码相同
负数的补码:原码的符号位不变,数字位取反,最低位加1
反码 正数的真值与原码的真值相同
负数的真值:将反码连同符号位求反,求得值前加一负号
补码 正数的真值与原码的真值相同
负数的真值:将补码连同符号位求反加1,求得值前加一负号
5、最高位表示符号位:1表示负数 0表示正数
6、正数的符号扩展应在前面补0;负数的符号扩展应在前面补1
7、BCD码:将十进制数的每一位以二进制数编码方式表示
8、BCD码 压缩BCD码 以每字节2个数字的形式存储(4位表示一个数字)
非压缩BCD码 以每字节1个数字的形式存储(8位表示一个数字)
第二章 8086系统结构
1、16位微处理器基本结构特点:
①引脚功能复用②单总线、累加器结构③可控三态电路④总线分时复用
2、Intel8086 CPU是16位的 双列直插式 有16根数据线 20根地址线 直接寻址空间 即1MB
第一节 8086 CPU结构
1、8位机串行执行 16位机并行执行
2、8086CPU 总线接口部件BIU 功能:地址形成、取指令、指令排队、读写操作数、总线控制
指令执行部件EU 功能:指令译码、执行指令
当指令队列有2个或2个以上的字节空余时,BIU自动将指令取到指令队列中
3、过程:①取指令②译码③计算有效地址④取操作数⑤执行⑥存储运算结果
4、寄存器结构
(1)寄存器的存取速度比存储器快得多,寄存器可以用来存放运算过程中所需要的操作数地址、操作数和中间结果
(2)寄存器包括:通用寄存器、指针和变址寄存器、段寄存器、指令指针和标志位寄存器
(3)通用寄存器 EU中有4个16位通用寄存器:AX累加器 8个8位寄存器:AL AH
BX基址寄存器 只能存放8位数据 BL BH
存放16位数据或地址 CX计数寄存器 不能存放地址 CL CH
DX数据寄存器 DL DH
(4)指针和变址寄存器:BP基址指针寄存器 BP和SP与SS连用 SS16+BP(SP)
SP堆栈指针寄存器
SI源变址寄存器 SI和DI与DS连用 DS16+SI(DI)
DI目的变址寄存器
(5)段寄存器:CS代码段寄存器IP 存放可执行的指令代码
DS数据段寄存器SI、BX 存放操作的数据
SS堆栈段寄存器SP、BP 开辟为程序执行中所要用的堆栈区
ES附加段寄存器DI 存放操作的数据
(6)指令指针寄存器:IP 用来存放将要执行的下一条指令在现行代码段中的偏移地址
8086程序不能直接访问IP,但可以通过某些指令修改IP的内容
(7)标志寄存器:Flags 用来存放运算结果的特征 状态标志:CF、PF、AF、ZF、SF、OF
控制标志:TF、IF、DF
CF:进位标志位 最高位有进位或借位 CF=1
PF:奇偶校验标志位 低8位中有偶数个1时 PF=1 有奇数个1时PF=0
AF:辅助进位标志位 低4位向高4位有进位或借位时 AF=1
ZF:全零标志位 结果为0,ZF=1 否则ZF=0
SF:符号标志位 结果最高位为1 SF=1 否则SF=0
IF:中断标志位 IF=1时允许CPU响应可屏蔽中断;IF=0时,即使外部设备有中断请求,CPU也不响应
第二节 8086CPU的引脚及其功能
1、8086/8088CPU在最小模式中引脚定义
—:16条地址/数据总线 三态双向 分时复用 在总线周期的状态传送地址,—状态传送数据
/—/:地址/状态线 三态 输出 分时复用 在总线周期的状态作地址线—与—
一起构成20位物理地址,—状态作状态线用
BHE/S7:高8位数据总线允许/状态信号 三态 输出 BHE低电平有效
在状态BHE=0 高8位数据有效 (BHE=1,高8位数据无效)
RD:读选通信号 三态 输出 低电平有效 允许CPU读存储器或I/O端口
WR:写选通信号 三态 输出 低电平有效 允许CPU写存储器或I/O端口
M/IO:存储器或I/O端口控制信号 三态 输出 M/IO信号为高电平,表示CPU正在访问存储器
M/IO信号为低电平,表示CPU正在访问I/O端口
ALE:地址锁存允许信号 输出 高电平有效 用作地址锁存器8282/8283的锁存控制信号
状态ALE有效,表示地址/数据总线上传送的是地址信息 ALE信号不能浮空 高电平—地址 低电平—数据
RESET:复位信号 输入 高电平有效 CPU接到复位信号后,停止现行操作,并初始化段寄存器DS、SS、ES、标志寄存器Flags、指令指针IP和指令队列,将它们全置为00H,而使CS=FFFFH。RESET信号至少保持4个时钟周期以上的高电平。CPU执行重启过程,8086/8088将从地址FFFF0H开始执行指令
INTR:可屏蔽中断请求信号 输入 电平触发(或边沿触发) 高电平有效 CPU在每条指令周期的最后一个时钟周期检测此信号,一旦检测到此信号有效,且中断允许标志位IF=1,CPU在当前指令执行完后,转入中断响应周期。
STI指令使中断允许标志位IF置1,用CLI指令使IF置0
INTA:中断响应信号 输出 低电平有效 在中断响应总线周期,8086/8088CPU连续发出两个INTA负脉冲,第一个负脉冲通知外设接口已响应它的中断请求,第二个负脉冲信号通知外设将中断类型号输出到数据总线
NMI:不可屏蔽中断请求信号 输入 边沿触发 正跳变有效 此中断请求不受中断允许标志位IF的影响,也不能用软件进行屏蔽 自动引起类型2中断
2、8088与8086CPU的不同之处:
(1)8088指令队列长度是4个字节,只要出现一个空闲字节,BIU就会自动访问存储器
8086要在指令队列中至少出现2个空闲字节时,才预取后续指令
(2)
(3)
(4)
(5)
第三节 8086存储器组织
一、存储器地址的分段
1、在存储器中是以字节为单位存储信息的,每个存储单元有唯一的地址来确定
①每段容量不超过64KB ②段和段之间可以是连续的,也可以是分开的或重叠的 ③允许各个逻辑段在整个存储空间中浮动,段起始地址必须能被16整除才行 ④存储单元的实际地址都是由段地址和段内偏移地址两部分组成
2、物理地址的形成
逻辑地址:由段基址和偏移地址组成,都是无符号的16位二进制数,程序设计时采用逻辑地址
物理地址=段基址16+偏移地址
二、8086存储器的分体结构
1、8086系统中,1MB的存储空间分成两个存储体:偶地址存储体和奇地址存储体 各为512KB
2、一个字在存储器中按相邻两个字节存放,存入时以低位字节在低地址,高位字节在高地址的次序存放
3、一个字可以从偶地址开始存放,也可以从奇地址开始存放,但是8086CPU访问存储器时,都是以字为单位进行的,并从偶地址开始
4、当CPU读/写一个字时,如果字单元地址从偶地址开始,那么只需要访问一次存储器
如果字单元地址从奇地址开始,那么CPU需要访问两次存储器
编程时注意从存储器偶地址开始存放字数据
三、堆栈的概念
1、堆栈:在存储器中开辟一个区域,用来存放需要暂时保存的数据
2、段基址由堆栈寄存器SS指定,栈顶由堆栈指针SP指定
SP指向的可以是当前栈顶单元,也可以是栈顶上的一个“空”单元,一般采用SP指向当前栈顶单元
堆栈的地址增长方式一般是向上增长,栈底设在存储器的高地址区,堆栈地址由高向低增长
3、堆栈的工作方式是“先进后出”,用入栈指令PUSH和出栈指令POP可将数据压入堆栈或从堆栈中弹出数据
栈顶指针SP的变化由CPU自动管理,堆栈以字为单位进行操作
当执行PUSH指令时,CPU自动修改指针SP-2SP,使SP指向新栈顶,然后将低位数据压入(SP)单元,高位数据压入(SP+1)单元
当执行POP指令时,CPU先将当前栈顶SP(低位数据)和SP+1(高位数据)中的内容弹出,然后再自动修改指针,使SP+2SP,SP指向新栈顶
注意:(1)先进入的内容后弹出 (2)PUSH和POP的指令要成对
四、8086系统配置
1、在最小模式系统中,除了8086CPU、存储器及I/O接口芯片外,还要加入
1片8284A作为时钟发生器
3片8282/8283或74LS373作为地址锁存器
2片8286/8287或74LS245作为双向数据总线收发器
2、8286CPU的操作是在时钟脉冲CLK的统一控制下进行的
3、指令周期:执行一条指令所需要的时间 包含几个总线周期
4、总线周期:BIU完成一次访问存储器或I/O端口操作所需要的时间
5、时钟周期:CPU的时钟频率的倒数,也称T状态
6、每个总线周期至少包含4个T状态,在总线周期的状态传送地址,—状态传送数据
7、复位信号RESET至少维持4个时钟周期的高电平
第三章 8086的寻址方式和指令系统
第一节 8086的寻址方式
1、计算机的指令通常包含操作码和操作数两部分 前者指出操作的性质 后者指出操作的对象
2、指令有单操作数、双操作数、无操作数之分
双操作数指令,要用逗号将两个操作数分开,逗号右边的操作数是源操作数,左边的为目的操作数
操作数可以包含在寄存器、存储器或I/O端口地址中,也可以是立即数
操作数在寄存器中的指令执行速度最快,因为他们可以在CPU内部立即执行
立即数寻址指令可直接从指令队列中取数,所以它们的执行速度也较快
操作数在存储器中的指令执行速度较慢,因为它要通过总线与CPU之间交换数据
3、七种寻址方式
(1)立即寻址方式: 操作数是立即数 用来给寄存器赋初值
例:MOV AL,26H ①立即数可以送到寄存器中,也可以送到一个存储单元中或两个连续的存储单元中去
MOV CX,2A50H ②在所有指令中立即数只能作源操作数,不能作目的操作数
③以A—F打头的数字出现在指令中,前面一定要加一个“0”,以免与其它符号混淆
(2)寄存器寻址方式: 操作数包含在寄存器中 寄存器之间传送数据
例:MOV DX,AX 源操作数的长度必须与目的操作数一致,否则会出错
MOV CL,AH
(3)直接寻址方式: 操作数放在存储器中 实现对存储单元的读/写操作
例:MOV AX,[2000H] ①把操作数的偏移地址称为有效地址EA
MOV AX,ES:[500H] ②当采用直接寻址指令时,如果指令中没有用前缀指明操作数存放在哪一段,则
“:”称为修改属性运算符 默认为使用的段寄存器为数据段寄存器DS 16DS+EA
③指令中有效地址必须加一个方括号,以便与立即数相区别
④如果要对代码段、堆栈段或附加段寄存器所指出的存储区进行直接寻址,应在
指令中指定段超越前缀 ⑤符号地址:课本60页
(4)寄存器间接寻址方式:操作数放在存储器中,寄存器中的值不是操作数本身,而是操作数的有效地址
例:MOV BX,[SI] ①寄存器名称外面必须加方括号,以与寄存器寻址方式相区别
②指令中使用的寄存器有基址寄存器BX、BP及变址寄存器SI、DI
③BX、SI、DI默认操作数放在数据段DS;BP默认操作数放在堆栈段SS
④指令中可以指定段超越前缀来从默认段以外的段中取数据
(5)寄存器相对寻址方式:操作数放在存储器中
例:MOV BX,COUNT[SI] ①有效地址是一个基址或变址寄存器的内容与指令中指定的8位或16位位移量之和
MOV BX,[COUNT+SI] ②BX、SI、DIDS BPSS ③允许使用段超越前缀
(6)基址变址寻址方式:操作数放在存储器中
例:MOV AX,[BX][SI] ①有效地址是一个基址寄存器(BX或BP)和一个变址寄存器(SI或DI)的内容
之和,两个寄存器均由指令指定
MOV AX,[BX+SI] ②寄存器SI和DI不能同时出现在[ ]中,BX和BP也不能同时出现在[ ]中
③BXDS 16DS+BX+SI 16DS+BX+DI BPSS 16SS+BP+SI 16SS+BP+DI
(7)相对基址变址寻址方式:操作数放在存储器中
例:MOV AX,MASK[BX][SI] ①有效地址是一个基址寄存器和一个变址寄存器的内容再加上指令中指定的8位
或16位位移量之和 ②BXDS BPSS
4、I/O端口寻址:8086有直接端口和间接端口两种寻址方式
直接端口寻址:端口地址由指令直接提供,它是一个8位立即数 00—FFH =256个端口 ( IN AL,63H )
间接端口寻址:端口号由寄存器DX提供 0000—FFFFH =64K ( MOV DX,213H IN AL,DX)
目的操作数可以用除立即寻址方式以外的所有寻址方式指定
第三节 8086的指令系统
1、8086的指令系统包括:数据传送指令、算术运算指令、逻辑运算和移位指令、字符串处理指令、控制转移指令、处理器控制指令
2、MOV传送指令: MOV 目的,源 将源操作数传送到目的操作数
①IP寄存器不能用作源操作数或目的操作数
②目的操作数也不允许用立即数和CS寄存器
③除了源操作数为立即数的情况外,两个操作数中必有一个是寄存器,但不能都是段寄存器
④MOV指令不能在两个存储单元之间直接传送数据,也不能在两个段寄存器之间直接传送数据
课本72页 程序段
MOV DX,OFFSET ARRAY OFFSET为属性操作符,表示应把跟在后面的符号地址的值(而不是内容)作为操作数
3、PUSH进栈指令:PUSH 源 将源操作数推入堆栈
源操作数可以是16位通用寄存器、段寄存器或存储器中的数据字,但不能是立即数
4、POP出栈指令:POP 目的 把当前SP所指向的栈顶部的一个字送到指定的目的操作数中
目的操作数可以是16位通用寄存器、段寄存器或存储单元,但CS不能作目的操作数
5、IN输入指令:课本76页 例3.32
6、OUT输出指令:课本76页 例3.34
7、中断指令:
①中断:计算机在执行正常的程序的过程中,由于某些事件发生,需要暂时中止当前程序的运行,转到中断服务程序去为临时发生的事件服务,中断服务程序执行完毕后,又返回正常程序继续运行
②中断源:引起中断的原因 蔽
③中断 外部中断 不可屏蔽中断 NMI引入 采用边沿触发,上升沿之后维持两个时钟周期的高电平有效 不能用软件屏
可屏蔽中断 INTR引入 IF置1,允许响应中断 IF置0,不予响应 采用电平触发,高电平
有效,INTR的高电平必须维持到CPU响应中断才结束,可以通过软件设置来屏蔽
内部中断 INT n n为中断类型号
④响应中断的过程:A、将断点和标志寄存器的值入栈保护
B、找到中断服务程序的入口地址
C、执行中断服务程序
D、执行中断返回指令IRET,从堆栈中恢复中断前CPU的状态和断点
⑤中断向量:中断服务程序的入口地址
8086可处理256种中断,每类中断有一个入口地址,需用4个字节存储CS和IP,高2字节存放中断服务程序入口地址的段地址CS,低2字节存放相应于该地址段的偏移量IP。256类中断的入口地址要占用1K字节,存储这些地址的连续空间称为中断向量表。将中断指令中给的类型号乘以4,才能得到规定类型的中断向量。
类型0:除法错中断 类型1:单步中断 类型2:不可屏蔽中断 类型3:断点中断 类型4:溢出中断
⑥由外部设备引起的中断请求要得到响应的两个条件:①外设中断请求是否被屏蔽
②CPU是否允许响应中断
⑦内部中断(软件中断)有三种情况引起:A、由中断指令INT引起的中断
B、由CPU的某些运算错误引起的中断 除法错中断 溢出中断
C、由调试程序debug设置的中断 单步中断 断点中断
第一节 微型计算机发展概况
1、1946年第一台电子计算机ENIAC在美国研制成功
2、计算机大发展经历了从电子管计算机、晶体管计算机、集成电路计算机、大规模集成电路计算机几代
3、1974年,在美国第一台微型计算机Altair诞生了,从而开创了微型计算机的新时代。
4、摩尔定律:集成电路内芯片的晶体管数目,每隔18个月--24个月,其集成度翻一番
第二节 微型计算机系统
1、冯诺依曼型计算机包括:运算器、控制器、存储器、输入设备、输出设备
2、基本工作原理:存储器存储程序控制
3、微型计算机包括 微处理器 功能:①从存储器中取指令,指令译码②简单的算术逻辑运算
③在处理器和存储器或I/O之间传送数据④程序流向控制
存储器 分为:随机存储器RAM和只读存储器ROM 功能:存放程序和数据 到匹配
图1.3 输入/输出接口电路 功能:将外部设备与CPU相连接,使之在信息的格式、电平、速度等方面得
系统总线 分为:地址总线(单向)、数据总线(双向)、控制总线(双向)
功能:在CPU与存储器、I/O间传送地址、数据、控制信息的公共通道
4、微型计算机系统包括:微型计算机、输入输出设备、系统软件 部总线
5、微处理器包括:算术逻辑部件ALU、累加器和寄存器组、指令指针寄存器、段寄存器、时序和控制逻辑部件、内
6、存储器 内部存储器 RAM DRAM、SRAM 断电后内容丢失
ROM PROM、EPROM、EEPROM 断电后内容不丢失
图1.5 外部存储器
7、总线包括:内部总线、元件级总线、系统总线、外部总线 元件级总线包括:地址总线、数据总线、控制总线
第三节 计算机数据格式
1、二进制——后缀B 八进制——后缀Q或O 十进制——后缀D或省略 十六进制——后缀H
2、其它数制转换成十进制 课本15页 例1.1 1.2 1.3
3、十进制转换成其它进制 课本16页 例1.4 1.5
整数部分:除以基数直到商为零 取余 逆排 小数部分:乘以基数直到小数部分为零 取整 顺排
4、原码
反码 正数的反码与原码相同
负数的反码:原码的符号位不变,数字位取反
补码 正数的补码与原码相同
负数的补码:原码的符号位不变,数字位取反,最低位加1
反码 正数的真值与原码的真值相同
负数的真值:将反码连同符号位求反,求得值前加一负号
补码 正数的真值与原码的真值相同
负数的真值:将补码连同符号位求反加1,求得值前加一负号
5、最高位表示符号位:1表示负数 0表示正数
6、正数的符号扩展应在前面补0;负数的符号扩展应在前面补1
7、BCD码:将十进制数的每一位以二进制数编码方式表示
8、BCD码 压缩BCD码 以每字节2个数字的形式存储(4位表示一个数字)
非压缩BCD码 以每字节1个数字的形式存储(8位表示一个数字)
第二章 8086系统结构
1、16位微处理器基本结构特点:
①引脚功能复用②单总线、累加器结构③可控三态电路④总线分时复用
2、Intel8086 CPU是16位的 双列直插式 有16根数据线 20根地址线 直接寻址空间 即1MB
第一节 8086 CPU结构
1、8位机串行执行 16位机并行执行
2、8086CPU 总线接口部件BIU 功能:地址形成、取指令、指令排队、读写操作数、总线控制
指令执行部件EU 功能:指令译码、执行指令
当指令队列有2个或2个以上的字节空余时,BIU自动将指令取到指令队列中
3、过程:①取指令②译码③计算有效地址④取操作数⑤执行⑥存储运算结果
4、寄存器结构
(1)寄存器的存取速度比存储器快得多,寄存器可以用来存放运算过程中所需要的操作数地址、操作数和中间结果
(2)寄存器包括:通用寄存器、指针和变址寄存器、段寄存器、指令指针和标志位寄存器
(3)通用寄存器 EU中有4个16位通用寄存器:AX累加器 8个8位寄存器:AL AH
BX基址寄存器 只能存放8位数据 BL BH
存放16位数据或地址 CX计数寄存器 不能存放地址 CL CH
DX数据寄存器 DL DH
(4)指针和变址寄存器:BP基址指针寄存器 BP和SP与SS连用 SS16+BP(SP)
SP堆栈指针寄存器
SI源变址寄存器 SI和DI与DS连用 DS16+SI(DI)
DI目的变址寄存器
(5)段寄存器:CS代码段寄存器IP 存放可执行的指令代码
DS数据段寄存器SI、BX 存放操作的数据
SS堆栈段寄存器SP、BP 开辟为程序执行中所要用的堆栈区
ES附加段寄存器DI 存放操作的数据
(6)指令指针寄存器:IP 用来存放将要执行的下一条指令在现行代码段中的偏移地址
8086程序不能直接访问IP,但可以通过某些指令修改IP的内容
(7)标志寄存器:Flags 用来存放运算结果的特征 状态标志:CF、PF、AF、ZF、SF、OF
控制标志:TF、IF、DF
CF:进位标志位 最高位有进位或借位 CF=1
PF:奇偶校验标志位 低8位中有偶数个1时 PF=1 有奇数个1时PF=0
AF:辅助进位标志位 低4位向高4位有进位或借位时 AF=1
ZF:全零标志位 结果为0,ZF=1 否则ZF=0
SF:符号标志位 结果最高位为1 SF=1 否则SF=0
IF:中断标志位 IF=1时允许CPU响应可屏蔽中断;IF=0时,即使外部设备有中断请求,CPU也不响应
第二节 8086CPU的引脚及其功能
1、8086/8088CPU在最小模式中引脚定义
—:16条地址/数据总线 三态双向 分时复用 在总线周期的状态传送地址,—状态传送数据
/—/:地址/状态线 三态 输出 分时复用 在总线周期的状态作地址线—与—
一起构成20位物理地址,—状态作状态线用
BHE/S7:高8位数据总线允许/状态信号 三态 输出 BHE低电平有效
在状态BHE=0 高8位数据有效 (BHE=1,高8位数据无效)
RD:读选通信号 三态 输出 低电平有效 允许CPU读存储器或I/O端口
WR:写选通信号 三态 输出 低电平有效 允许CPU写存储器或I/O端口
M/IO:存储器或I/O端口控制信号 三态 输出 M/IO信号为高电平,表示CPU正在访问存储器
M/IO信号为低电平,表示CPU正在访问I/O端口
ALE:地址锁存允许信号 输出 高电平有效 用作地址锁存器8282/8283的锁存控制信号
状态ALE有效,表示地址/数据总线上传送的是地址信息 ALE信号不能浮空 高电平—地址 低电平—数据
RESET:复位信号 输入 高电平有效 CPU接到复位信号后,停止现行操作,并初始化段寄存器DS、SS、ES、标志寄存器Flags、指令指针IP和指令队列,将它们全置为00H,而使CS=FFFFH。RESET信号至少保持4个时钟周期以上的高电平。CPU执行重启过程,8086/8088将从地址FFFF0H开始执行指令
INTR:可屏蔽中断请求信号 输入 电平触发(或边沿触发) 高电平有效 CPU在每条指令周期的最后一个时钟周期检测此信号,一旦检测到此信号有效,且中断允许标志位IF=1,CPU在当前指令执行完后,转入中断响应周期。
STI指令使中断允许标志位IF置1,用CLI指令使IF置0
INTA:中断响应信号 输出 低电平有效 在中断响应总线周期,8086/8088CPU连续发出两个INTA负脉冲,第一个负脉冲通知外设接口已响应它的中断请求,第二个负脉冲信号通知外设将中断类型号输出到数据总线
NMI:不可屏蔽中断请求信号 输入 边沿触发 正跳变有效 此中断请求不受中断允许标志位IF的影响,也不能用软件进行屏蔽 自动引起类型2中断
2、8088与8086CPU的不同之处:
(1)8088指令队列长度是4个字节,只要出现一个空闲字节,BIU就会自动访问存储器
8086要在指令队列中至少出现2个空闲字节时,才预取后续指令
(2)
(3)
(4)
(5)
第三节 8086存储器组织
一、存储器地址的分段
1、在存储器中是以字节为单位存储信息的,每个存储单元有唯一的地址来确定
①每段容量不超过64KB ②段和段之间可以是连续的,也可以是分开的或重叠的 ③允许各个逻辑段在整个存储空间中浮动,段起始地址必须能被16整除才行 ④存储单元的实际地址都是由段地址和段内偏移地址两部分组成
2、物理地址的形成
逻辑地址:由段基址和偏移地址组成,都是无符号的16位二进制数,程序设计时采用逻辑地址
物理地址=段基址16+偏移地址
二、8086存储器的分体结构
1、8086系统中,1MB的存储空间分成两个存储体:偶地址存储体和奇地址存储体 各为512KB
2、一个字在存储器中按相邻两个字节存放,存入时以低位字节在低地址,高位字节在高地址的次序存放
3、一个字可以从偶地址开始存放,也可以从奇地址开始存放,但是8086CPU访问存储器时,都是以字为单位进行的,并从偶地址开始
4、当CPU读/写一个字时,如果字单元地址从偶地址开始,那么只需要访问一次存储器
如果字单元地址从奇地址开始,那么CPU需要访问两次存储器
编程时注意从存储器偶地址开始存放字数据
三、堆栈的概念
1、堆栈:在存储器中开辟一个区域,用来存放需要暂时保存的数据
2、段基址由堆栈寄存器SS指定,栈顶由堆栈指针SP指定
SP指向的可以是当前栈顶单元,也可以是栈顶上的一个“空”单元,一般采用SP指向当前栈顶单元
堆栈的地址增长方式一般是向上增长,栈底设在存储器的高地址区,堆栈地址由高向低增长
3、堆栈的工作方式是“先进后出”,用入栈指令PUSH和出栈指令POP可将数据压入堆栈或从堆栈中弹出数据
栈顶指针SP的变化由CPU自动管理,堆栈以字为单位进行操作
当执行PUSH指令时,CPU自动修改指针SP-2SP,使SP指向新栈顶,然后将低位数据压入(SP)单元,高位数据压入(SP+1)单元
当执行POP指令时,CPU先将当前栈顶SP(低位数据)和SP+1(高位数据)中的内容弹出,然后再自动修改指针,使SP+2SP,SP指向新栈顶
注意:(1)先进入的内容后弹出 (2)PUSH和POP的指令要成对
四、8086系统配置
1、在最小模式系统中,除了8086CPU、存储器及I/O接口芯片外,还要加入
1片8284A作为时钟发生器
3片8282/8283或74LS373作为地址锁存器
2片8286/8287或74LS245作为双向数据总线收发器
2、8286CPU的操作是在时钟脉冲CLK的统一控制下进行的
3、指令周期:执行一条指令所需要的时间 包含几个总线周期
4、总线周期:BIU完成一次访问存储器或I/O端口操作所需要的时间
5、时钟周期:CPU的时钟频率的倒数,也称T状态
6、每个总线周期至少包含4个T状态,在总线周期的状态传送地址,—状态传送数据
7、复位信号RESET至少维持4个时钟周期的高电平
第三章 8086的寻址方式和指令系统
第一节 8086的寻址方式
1、计算机的指令通常包含操作码和操作数两部分 前者指出操作的性质 后者指出操作的对象
2、指令有单操作数、双操作数、无操作数之分
双操作数指令,要用逗号将两个操作数分开,逗号右边的操作数是源操作数,左边的为目的操作数
操作数可以包含在寄存器、存储器或I/O端口地址中,也可以是立即数
操作数在寄存器中的指令执行速度最快,因为他们可以在CPU内部立即执行
立即数寻址指令可直接从指令队列中取数,所以它们的执行速度也较快
操作数在存储器中的指令执行速度较慢,因为它要通过总线与CPU之间交换数据
3、七种寻址方式
(1)立即寻址方式: 操作数是立即数 用来给寄存器赋初值
例:MOV AL,26H ①立即数可以送到寄存器中,也可以送到一个存储单元中或两个连续的存储单元中去
MOV CX,2A50H ②在所有指令中立即数只能作源操作数,不能作目的操作数
③以A—F打头的数字出现在指令中,前面一定要加一个“0”,以免与其它符号混淆
(2)寄存器寻址方式: 操作数包含在寄存器中 寄存器之间传送数据
例:MOV DX,AX 源操作数的长度必须与目的操作数一致,否则会出错
MOV CL,AH
(3)直接寻址方式: 操作数放在存储器中 实现对存储单元的读/写操作
例:MOV AX,[2000H] ①把操作数的偏移地址称为有效地址EA
MOV AX,ES:[500H] ②当采用直接寻址指令时,如果指令中没有用前缀指明操作数存放在哪一段,则
“:”称为修改属性运算符 默认为使用的段寄存器为数据段寄存器DS 16DS+EA
③指令中有效地址必须加一个方括号,以便与立即数相区别
④如果要对代码段、堆栈段或附加段寄存器所指出的存储区进行直接寻址,应在
指令中指定段超越前缀 ⑤符号地址:课本60页
(4)寄存器间接寻址方式:操作数放在存储器中,寄存器中的值不是操作数本身,而是操作数的有效地址
例:MOV BX,[SI] ①寄存器名称外面必须加方括号,以与寄存器寻址方式相区别
②指令中使用的寄存器有基址寄存器BX、BP及变址寄存器SI、DI
③BX、SI、DI默认操作数放在数据段DS;BP默认操作数放在堆栈段SS
④指令中可以指定段超越前缀来从默认段以外的段中取数据
(5)寄存器相对寻址方式:操作数放在存储器中
例:MOV BX,COUNT[SI] ①有效地址是一个基址或变址寄存器的内容与指令中指定的8位或16位位移量之和
MOV BX,[COUNT+SI] ②BX、SI、DIDS BPSS ③允许使用段超越前缀
(6)基址变址寻址方式:操作数放在存储器中
例:MOV AX,[BX][SI] ①有效地址是一个基址寄存器(BX或BP)和一个变址寄存器(SI或DI)的内容
之和,两个寄存器均由指令指定
MOV AX,[BX+SI] ②寄存器SI和DI不能同时出现在[ ]中,BX和BP也不能同时出现在[ ]中
③BXDS 16DS+BX+SI 16DS+BX+DI BPSS 16SS+BP+SI 16SS+BP+DI
(7)相对基址变址寻址方式:操作数放在存储器中
例:MOV AX,MASK[BX][SI] ①有效地址是一个基址寄存器和一个变址寄存器的内容再加上指令中指定的8位
或16位位移量之和 ②BXDS BPSS
4、I/O端口寻址:8086有直接端口和间接端口两种寻址方式
直接端口寻址:端口地址由指令直接提供,它是一个8位立即数 00—FFH =256个端口 ( IN AL,63H )
间接端口寻址:端口号由寄存器DX提供 0000—FFFFH =64K ( MOV DX,213H IN AL,DX)
目的操作数可以用除立即寻址方式以外的所有寻址方式指定
第三节 8086的指令系统
1、8086的指令系统包括:数据传送指令、算术运算指令、逻辑运算和移位指令、字符串处理指令、控制转移指令、处理器控制指令
2、MOV传送指令: MOV 目的,源 将源操作数传送到目的操作数
①IP寄存器不能用作源操作数或目的操作数
②目的操作数也不允许用立即数和CS寄存器
③除了源操作数为立即数的情况外,两个操作数中必有一个是寄存器,但不能都是段寄存器
④MOV指令不能在两个存储单元之间直接传送数据,也不能在两个段寄存器之间直接传送数据
课本72页 程序段
MOV DX,OFFSET ARRAY OFFSET为属性操作符,表示应把跟在后面的符号地址的值(而不是内容)作为操作数
3、PUSH进栈指令:PUSH 源 将源操作数推入堆栈
源操作数可以是16位通用寄存器、段寄存器或存储器中的数据字,但不能是立即数
4、POP出栈指令:POP 目的 把当前SP所指向的栈顶部的一个字送到指定的目的操作数中
目的操作数可以是16位通用寄存器、段寄存器或存储单元,但CS不能作目的操作数
5、IN输入指令:课本76页 例3.32
6、OUT输出指令:课本76页 例3.34
7、中断指令:
①中断:计算机在执行正常的程序的过程中,由于某些事件发生,需要暂时中止当前程序的运行,转到中断服务程序去为临时发生的事件服务,中断服务程序执行完毕后,又返回正常程序继续运行
②中断源:引起中断的原因 蔽
③中断 外部中断 不可屏蔽中断 NMI引入 采用边沿触发,上升沿之后维持两个时钟周期的高电平有效 不能用软件屏
可屏蔽中断 INTR引入 IF置1,允许响应中断 IF置0,不予响应 采用电平触发,高电平
有效,INTR的高电平必须维持到CPU响应中断才结束,可以通过软件设置来屏蔽
内部中断 INT n n为中断类型号
④响应中断的过程:A、将断点和标志寄存器的值入栈保护
B、找到中断服务程序的入口地址
C、执行中断服务程序
D、执行中断返回指令IRET,从堆栈中恢复中断前CPU的状态和断点
⑤中断向量:中断服务程序的入口地址
8086可处理256种中断,每类中断有一个入口地址,需用4个字节存储CS和IP,高2字节存放中断服务程序入口地址的段地址CS,低2字节存放相应于该地址段的偏移量IP。256类中断的入口地址要占用1K字节,存储这些地址的连续空间称为中断向量表。将中断指令中给的类型号乘以4,才能得到规定类型的中断向量。
类型0:除法错中断 类型1:单步中断 类型2:不可屏蔽中断 类型3:断点中断 类型4:溢出中断
⑥由外部设备引起的中断请求要得到响应的两个条件:①外设中断请求是否被屏蔽
②CPU是否允许响应中断
⑦内部中断(软件中断)有三种情况引起:A、由中断指令INT引起的中断
B、由CPU的某些运算错误引起的中断 除法错中断 溢出中断
C、由调试程序debug设置的中断 单步中断 断点中断
追问
兄弟,你好,我想要青岛理工大学往年的微型计算机原理及运用的试题,不是知识点,你有没有往年的试题,有的话,帮忙发一份啊!谢谢啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询