考试时间:6月18日(星期二)下午2:30~4:30 考试地点另行通知题型示例:一、填空题(20分,每空1分)I/O端口编址方式有统一编址和独立编址两种,8086/8086系统中I/O端口采用独立编址方式。
二、选择题(10分)8086/8086CPU可寻址访问的最大I/O空间为 D 。
A、1KBB、64KBC、640KBD、1MB考察知识点:1.存储器操作数寻址方式的分类。
1、直接寻址方式2、寄存器间接寻址方式3、寄存器相对寻址方式4、基址变址寻址方式5、相对基址变址寻址方2.微处理器的定义。
微处理器是微型计算机的运算及控制部件,也称中央处理单元(CPU)。
它本身不构成独立的工作系统,因而它也不能独立的执行程序。
通常,微处理器由算术逻辑部件(ALU),控制部件,寄存器组和片内总线等几部分组成。
3.冯 诺依曼存储程序工作原理。
存储程序和程序控制4.微机的总线结构的好处,使用特点。
包括总线定义,分类。
总线是数据在计算机内从其一个部件传输到另一个部件的内部通道;微型计算机的总线包括地址总线、数据总线和控制总线三类,总线结构的特点是结构简单、可靠性高、易于设计生产和维护,更主要的是便于扩充。
总线结构对计算机的功能及其数据传播速度具有决定性的意义。
5.8086微处理器的内部结构,EU、BIU的定义和作用,流水线。
执行部件EU功能:负责指令的执行。
(1)从指令队列中取出指令。
(2)对指令进行译码,发出相应的控制信号。
(3)接收由总线接口送来的数据或发送数据至接口。
(4)利用内部寄存器和ALU进行数据处理。
总线接口部件BIU功能:负责CPU与存储器、I/O端口之间的数据传送。
(1)取指令送到指令队列。
(2)CPU执行指令时,到指定的位置取数据,并将其送至指令要求的位置单元中。
总线接口部件和执行部件不是同步工作的,它们按照以下的流水线技术原则管理:(1)每当8086的指令队列中有2个空字节,总线接口部件就会自动取指令至队列中。
(2)执行部件从总线接口的指令队列前部取出指令代码,执行该指令。
(3)当队列已满,执行部件又不使用总线时,总线接口部件进入空闲状态。
(4)执行转移指令、调用指令、返回指令时,先清空队列内容,再将要执行的指令放入队列中。
6.8086总线周期的构成,每一个T状态的主要工作。
基本的存储器读、写总线周期构成。
常用控制信号。
总线操作:CPU通过总线完成与存储器、I/O端口之间的操作。
总线周期:执行一个总线操作所需要的时间。
一个基本的总线周期通常包含 4 个 T 状态,按时间的先后顺序分别称为T1、T2、T3、T4。
等待时钟周期Tw,在总线周期的T3和T4之间插入,此时总线处于等待状态;空闲时钟周期Ti,在两个总线周期之间插入,此时总线处于空闲状态。
指令周期:执行一条指令所需要的时间,是取指令、执行指令、取操作数、存放结果所需时间的总和。
用所需的时钟周期数表示。
执行指令的过程中,需要从存储器或 I/O 端口读取或存放数据,所以一个指令周期通常包含若干个总线周期。
例:执行ADD [BX], AX 包含:1) 取指令存储器读周期2) 取 DS:BX 内存单元操作数存储器读周期3) 存放结果到 DS:BX 内存单元存储器写周期7.存储器地址的译码问题。
分为单译码和双译码8. 8086的寻址方式。
物理地址和逻辑地址。
两者之间转换。
8086系统存储器采用分段管理方式。
(要求很熟练)物理地址: 20 位逻辑地址: 段基址 (段寄存器的内容)16位偏移地址(字节距离)16位段 基 址 16 位 0 0 0 0+ 偏 移 地 址 16 位物 理 地 址 20 位习题:已知CS=1055H ,DS=250AH ,ES=2EF0H ,SS=8FF0H ,各段的容量均为64K ,DS 段有一操作数,其偏移地址=0204H ,1)画出各段在内存中的分布;2)在图中指出各段首地址;3)求操作数的物理地址。
解:各段分布及段首址见右图所示。
操作数的物理地址为:250AH ×16 + 0204H = 252A4H9. 常用指令的判断正误。
指令执行结果的判断。
10.8086微处理器的内部构成。
8086的寄存器结构,标志位的含义及应用。
8086复位时各寄存器的初始状态。
CF(Carrv Flag):进位标志位。
最高位有进位或借位时,CF =1。
PF(Parity Flag):奇偶校验标志位00000H 10550H 250A0H 2EF00H 8FF00HSS CS DS ESFFFFFH运算结果低8位中有偶数个“1”时,PF =1;有奇数个“1”时,PF =0。
AF(Auxiliary Flag):辅助进位标志位。
低字节的低4位向高4位进 位或借位时,AF =1。
(BCD 数运算)ZF(Zero Flag):全零标志位。
运算结果为0时,ZF =1,否则ZF =0。
SF(Sign Flag):符号标志位。
运算结果为正时,SF =1,否则SF =0。
OF(Overflow Flag):溢出标志位。
运算过程中产生溢出时,OF =1 。
对带符号数,字节运算结果的范围为-128~+127,字运算结果的范围 为-32768~+32767,超过此范围为溢出。
TF(Trap Flag):单步标志位。
TF =1时,则每执行完一条指令,就自 动产生一次内部中断,使用户能逐条跟踪程序进行调试。
IF (Interrupt Flag):中断标志位IF =1时,允许CPU 响应可屏蔽中断;IF =0时,即使外部设备有中断申请,CPU 也不响应。
DF(Direction Flag):方向标志位。
控制串操作中地址指针变化方向, DF =0,地址指针自动增量,即由低地址向高地址进行串操作;DF =1,地址指针自动减量,即由高地址向低地址进行串操作。
6 0 O D I T S Z A P C11.微处理器的指令系统。
要熟悉常用的伪指令(比如如何分配存储单元)内部寄存器 状 态标志寄存器 IP CS DS 0000H 0000H FFFFH0000H和硬指令的功能。
涉及的题目包括选择题、填空题、简答题(读简单程序,说明其功能)和编程题。
伪指令语句:在汇编期间进行处理,主要完成变量定义,存储器分配,指示程序开始和结束,段定义,段分配等类型:数据定义语句:DB:定义变量的类型为字节(BYTE),给变量分配字节或字节串。
DB伪指令定义符后面的操作数每个占有1个字节。
DW:定义变量的类型为字(WORD)。
DW伪指令定义符后面的操作数每个占有1个字,即2个字节。
在内存中存放时,低字节在低地址,高字节在高地址。
DD:定义变量的类型为双字(DWORD)。
DD后面的操作数每个占有2个字,即4个字节。
标号赋值语句:EQU:【功能】给变量、标号、常数、指令、表达式等定义一个符号名,一经定义在同一个程序模块中不能重新定义。
=:【功能】等号语句“=”与EQU语句具有相同功能,区别仅在于EQU 左边的标号不允许重新定义,用“=”定义的语句允许重复定义。
LABEL:【功能】定义标号或变量的类型。
段定义语句:SEGMENT…ENDS:【功能】定义一个逻辑段。
段分配语句:ASSUME:【功能】明确段和段寄存器的关系。
ASSUME CS:code, DS:data, ES:data语句中的code和data为段名。
这个语句说明:CS将指向名字为code的代码段DS和ES将指向名字为data的数据段过程定义语句:PROC…ENDP:【功能】定义一个过程,主程序可以调用它。
程序开始结束语句:ORG:【功能】给汇编程序设置位置指针,指定下面语句的起始偏移地址。
END:【功能】标记汇编源程序结束。
NAME:【功能】为源程序目标模块赋名字。
12.8259A中IRR、IMR和ISR三个寄存器的含义。
中断请求寄存器IRR:这是一个8位寄存器,用来存放由外部输入的中断请求信号IR7~IR0。
当某一个IRi端呈现高电平时,该寄存器的相应位置“1”,显然最多允许8个中断请求信号同时进入,这时,IRR寄存器将被置成全“1”。
中断屏蔽寄存器IMR:这是一个8位寄存器,用来存放对各级中断请求的屏蔽信息,当该寄存器中某一位置“1”时,表示禁止这一级中断请求进入系统,通过IMR寄存器可实现对各级中断的有选择的屏蔽。
中断服务寄存器ISR:这是一个8位寄存器,用来记录正在处理中的中断请求,当任何一级中断被响应,CPU正在执行它的中断服务程序时,ISR 寄存器中相应位置“1”,一直保持到该级中断处理过程结束为止。
多重中断情况下,ISR寄存器中可有多位被同时置“1”。
13.中断向量表。
掌握中断向量表的构成,计算中断类型号,中断服务程序入口地址。
中断的工作过程。
中断向量表又称中断服务程序入口地址表。
8086/8088系统允许处理256种类型的中断,对应类型号为0~FFH。
在存储器的00000H~003FFH,占1K字节空间,用作存放中断向量。
每个类型号对应的中断向量占4个字节,高2个字节存放中断入口地址的段地址,低2个字节存放段内偏移地址。
可屏蔽中断处理的过程一般分成几步:中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场;中断返回。
14.对寄存器进行数据的读和写数据时,硬件电路通常有L门和E门,了解其含义和作用。
三态门(E门)和装入门(L门)一样,都可加到任何寄存器(包括计数器和累加器)电路上去。
这样的寄存器就称为三态寄存器。
L门专管对寄存器的装入数据的控制,而E门专管由寄存器输出数据的控制。
15.循环结构、顺序结构和分支结构编写小程序。
比如大小写转换;从一组数中找到最大和最小的数;实现循环累加;求一个数的绝对值;查表法求一个十六进制数的ASCII码;统计一组数中满足一定条件的数的个数,等等。
采用查表法,实现一位16进制数转换为ASCII码显示:;数据段ASCII db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h;对应0 ~ 9的ASCII码db 41h,42h,43h,44h,45h,46h;对应A ~ F的ASCII码hex db 04h,0bh;假设两个16进制数;代码段mov bx,offset ASCII;BX指向ASCII码表mov al, hex;AL取得一位16进制数;恰好就是ASCII码表中的位移and al, 0fh;只有低4位是有效的,高4位清0xlat ;换码:AL←DS:[BX+AL]mov dl,al ;欲显示的ASCII码送DLmov ah,2 ;2号DOS功能调用int 21h ;显示一个ASCII码字符mov al,hex+1 ;转换并显示下一个数据and al,0fhxlatmov dl,almov ah,2int 21h设数组array由一些字量构成,其中第一个元素是数组元素个数。