复习提纲.docx

上传人:b****3 文档编号:27170732 上传时间:2023-06-27 格式:DOCX 页数:18 大小:380.62KB
下载 相关 举报
复习提纲.docx_第1页
第1页 / 共18页
复习提纲.docx_第2页
第2页 / 共18页
复习提纲.docx_第3页
第3页 / 共18页
复习提纲.docx_第4页
第4页 / 共18页
复习提纲.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

复习提纲.docx

《复习提纲.docx》由会员分享,可在线阅读,更多相关《复习提纲.docx(18页珍藏版)》请在冰豆网上搜索。

复习提纲.docx

复习提纲

第一章

1、二进制——十进制之间的转换

1101.01=1*23+1*22+0*21+1*20+0*2-1+1*2-2

8.125=1000.001(8除2取余等于1000,0.125乘2取整等于001)

2、二进制——十六进制之间的转换

1010.0101=A.5

整数部分每4位写成一位16进制数,不足4位则在左侧补0。

小数部分每4位写成一位16进制数,不足4位在右侧补0

补充:

八进制(o)

3、逻辑电路四种符号记住

&(与),≧1(或),=1(异或),1(非)

X(与),+(或),

(异或),反

4、两进两出半加器,三进两出全加器,两数相与得进位,两数异或得其和

5、原码、反码与补码

原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

反码表示法规定:

正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

补码表示法规定:

正数的补码与其原码相同;负数的补码是在其反码的末位加1。

举例:

原码:

1的原码(8位):

00000001

   反码、补码跟原码一样。

-1的原码(8位):

10000001

    反码       :

11111110

    补码       :

11111111

0有+0和-0之分

+0的原码(8位):

00000000   

    反码、补码同。

-0的原码(8位):

10000000

    反码     :

11111111

    补码     :

 00000000

6、布尔代数的运算规律:

恒等式、交换律,结合律,分配率,摩根定理。

第二章

1、ALU,算术逻辑单元,负责二进制的四则运算以及逻辑运算

2、触发器

RS——两端输入完成置位复位,也可S和CLK配合置位,R和CLK配合复位

D——D高则置位,D低则复位

JK——JK的取值不同可出现四种状态:

自锁,复位,置位,翻转

3、寄存器

可控缓冲寄存器(D触发器):

L门高电平使数据装入,低则自锁原来的数据。

移位寄存器(D触发器):

输入是1,左移则是在CLK前沿时0000—0001—0011—0111—1111

输入是1,右移则是在CLK前沿时0000—1000—1100—1110—1111

计数器(JK触发器):

4位计数器可从0到15计数,在CLK后沿时0000—0001—0010—0011

4、三态输出器:

E门,E=1,B=A,即A的值传给B,E=0,AB之间高阻

5、存储器

分为ROM和RAM,一个16*8的存储器表示有16个存储单元,每个单元有8位数据,16个存储单元需要4跟地址线译码选择。

8086存储器分为奇地址存储体和偶地址存储体。

偶地址存放数据低8位,奇地址存放数据高8位。

奇偶地址存储体由8086输出的控制信号A0和BHE选择。

A0=0即选通低8位。

BHE=1选通高8位。

课本37页例2.2

第四章

1、微处理器由算术逻辑部件ALU、控制部件、寄存器和片内总线等构成。

第一代微处理器是1971年Intel的4004;第二代是1974年的8080;70年代后期开始使用VLSI,8086属于第三代;第四代是1985年的80386。

2、8086/8088CPU具有20根地址线,16根数据线(8088是8位数据线),其结构见书73页。

(1)4个通用寄存器:

AX,BX,CX,DX。

一般用来存储数据。

此外,还有额外功能,如

AX常作为累加器

BX常用作基址寻址器,存放段内偏移地址

CX常用作计数器,常常将循环次数用它来存放

DX常用来存放输入输出的端口地址,用于IO端口简介寻址

(2)4个专用寄存器:

SP,BP,SI,DI

SP存放堆栈指针(堆栈地址上低下高,SP指向栈顶,参考书116),BP是基址寻址器,SI、DI是变址寻址器。

BP、SI、DI也可存放数据用

(3)4个段地址寄存器:

代码段CS,数据段DS,堆栈段SS,附加段ES

(4)标志位FR(共16位:

6个状态位,3个控制位,7位未用)

(5)指令指针寄存器IP:

用于寻址当前需要取出的指令字节,程序员不能对它直接操作

(6)标志寄存器FR的9位标志位:

●CF(进位标志)算术操作最高位是否有进位或借位。

有=1,无=0

●ZF(零标志)操作结果是否为0。

是=1;否=0

●OF(溢出标志)此次运算是否发生了溢出。

是=1;否=0。

还可根据如下法则判断:

加法:

两个操作数符号相同,结果符号不同时,OF=1;

减法:

两个操作数符号相反,结果符号与减数相同,OF=1.

●IF(中断标志)是否接受可屏蔽中断请求。

是=1;否=0

●PF(奇偶标志)数据最低8位中1的个数为偶数=1;数据最低8位中1的个数为奇数=0

●AF(辅助进位标志)D3→D4位产生了进位或借位=1;D3→D4位无进位或借=0

●SF(符号标志)结果最高位为1=1;结果最高位为0=0

●DF和TF

3、存储器结构

8086/8CPU有20根地址线,但是内部所有寄存器均为16位,那么如何产生20位的物理地址,把存储空间分为若干个逻辑段,每个段最多64K字节。

然后每段的首地址用16位表示(段基址,存于段地址寄存器CS,DS,SS,ES中),然后段内的相对地址用16位的通用寄存器来存放(偏移量,存于IP或SP中)。

这样,段基址左移4位再加上偏移量就形成了20位的物理地址

CS=2000H,IP=2200H。

物理地址=CS左移四位+IP=20000+2200=22200H

物理地址与逻辑地址:

4、物理地址是实际地址,具有20位的地址值,一个物理地址可以唯一标识1M存储空间的一个字节的地址。

逻辑地址是由段基址和偏移地址组成的,程序以逻辑地址编址。

物理地址=段基址X16+偏移地址

5、8086的工作周期

一个总线周期分为四个时钟周期,每个时钟周期分别称为T1,T2,T3,T4。

如果读写数据未完成,会在T3后插入Tw状态,如果周期空闲,则维持T1状态

6、8086有40个引脚,通过这40个引脚向地址、数据、控制总线发出地址信息,数据信息以及控制信息,从而实现微机系统的读写等操作。

其中reset引脚是复位信号,该信号出现后,CPU便结束当前操作,并把标志寄存器、DS、ES、SS、IP、以及指令队列清零,把CS置位FFFFH,当复位信号变为低电平时,CPU从FFFF0处开始执行程序。

Ready引脚接收内存或IO送来的信号,CPU在T3状态对Ready信号采样,低电平则说明内存或外设没有准备好,需要插入Tw,高电平则进入T4。

7、CPU的工作模式

最小组态模式——当CPU引脚MN/MX界高电平时,此时构成小规模应用系统,CPU提供所有总线信号

最大组态模式——当CPU引脚MN/MX界低电平时,此时构成大规模应用系统,CPU和8288总线控制器、8289总线仲裁器共同管理总线信号

8、8086做小工作模式的典型配置,见书85页。

8284提供时钟脉冲,8282提供地址锁存(因为地址数据线是分时复用的,所以用它来区分),8286是CPU与数据总线之间的缓冲器,提供双向的数据缓冲驱动功能

8284时钟发生器为CPU提供基准的时钟脉冲CLK以及RESET、READY信号。

8282具有8位输入输出端。

所以可采用3个8282来与CPU的A0~A19连接,以便锁存驱动地址信息,CPU的ALE接8282的STB引脚,ALE高电平地址信号直通,低电平锁存地址,BHE有效表示数据线高八位可用。

8286具有8位双向输入输出端,T引脚控制方向,与CPU的DT/R连结。

高电平自CPU输出,低电平CPU接收数据,OE控制输出,与DEN连结。

有效允许输出,反之不允许。

8286的A0~A7与CPU的AD0~AD15连结(两个8286),传送数据时,8282把AD0~AD15上的地址信号锁存起来,8286开始传送数据

9、8086的功能

(1)系统的复位和启动

8086要求复位信号至少有4个时钟周期的高电平,如果是初次加电启动则要求大于50us的高电平。

复位或启动后,系统从FFFF0处开始执行程序。

(2)总线读,见书96至99

(3)总线写,见书96至99

(4)中断操作

8086可以处理256种中断,可以分类如下:

 

●硬件中断是由外部的硬件产生的;软件中断是程序中的某条指令对标志寄存器的某个标志设置而产生的。

●非屏蔽中断通过CPU的NMI引脚接入,不受IF标志屏蔽;可屏蔽中断从CPU的INTR脚接入,只有IF=1时,可屏蔽中断才可以进入。

●中断向量是中断处理子程序的入口地址,每个类型的中断对应一个中断向量。

内存中的0000~03FF区域设置了一个中断向量表,前5个是专用中断向量,比如类型2是非屏蔽中断,类型0是除数为0中断。

●可屏蔽中断请求的响应过程

当CPU的INTR引脚收到一个中断请求信号,并且IF标志为1,则CPU会在当前指令执行完毕,开始响应外部的中断请求,具体如下:

(1)8086在连续的两个总线周期中发出INTA中断请求响应信号

(2)在第二个INTA信号期间,中断源经过数据总线向8086发出一字节的中断类型码,8086收到后放入暂存器

(3)8086保护现场:

标志寄存器入栈,清除IF、TF标志位,将断点保护到堆栈中,即CS,IP值入栈。

(4)8086将中断类型码乘4后得到中断向量表的入口地址,从此地址开始的4个单元中读出中断服务程序的入口地址(即IP,CS的值)

(5)8086从此地址取指令执行,使控制转向中断处理过程。

注:

在第四步中,比如中断类型是17H,则其乘以4以后得到005CH,因此005C、005D、005E、005F四个单元中存放的数据就是中断服务子程序的入口地址,比如分别存放的是90H、78H、45H、23H,那么7890是偏移地址放入IP内,2345是段基址,放入CS内。

然后程序从此地址开始执行中断服务子程序。

●中断处理子程序的结构模式:

见书105页。

●软件中断:

用一条指令使CPU进入中断处理子程序,不管IF的取值即可执行(但仍受TF(单步中断标志)的影响)。

软件中断执行过程中,如遇非屏蔽中断,则执行完当前指令后响应;如遇可屏蔽中断,则是IF标志而定。

(5)总线保持

一般情况下所有总线都由CPU来控制,但是也可以由其他芯片控制。

当有其他芯片要求控制总线时,先向CPU提出请求(HOLD信号),CPU会在每个时钟周期的上升沿对HOLD引脚监测,当发现由请求且CPU同意让出总线时,便在T4或者空闲的T1状态发出HELD信号通知芯片接管总线。

此时,CPU一些引脚处于高阻悬空状态,总线与CPU无联系。

芯片可以接管并使用总线,如DMA控制器可以申请对总线的控制。

8、8086的最大工作模式需要总线控制器8288和总线仲裁器8289配合。

总线控制器8288:

与CPU合作来控制总线。

从8284接受CLK提供时钟脉冲,从CPU接收S0~S2状态,并译码。

从而产生各种控制信号。

如读写存储器、IO等信号,输出ALE控制8282,输出DEN控制8286,INTA与DMA控制器8259相连,接受中断信号

总线仲裁器8289:

与8288、CPU一起和其他主控者构成多主控的微机系统

第五章

1、CPU的寻址方式:

指令里需要操作的数据来自什么地方

立即数寻址:

操作数是一个立即数。

MOVAL80H

寄存器寻址:

操作数在寄存器内。

INCCX

直接寻址:

操作数在内存中,需注意内存的地址是由段基址和段内偏移(有效地址)组成的。

若没有指定,默认段地址存放在DS中,而有效地址则在指令中给出。

如:

MOVAX[1070],如DS=2000H,则2000H是段基址,1070则是有效地址。

因此需要到内存的21070以及21071取出数据存入AX中。

寄存器间接寻址:

操作数在内存中,默认段基址在DS中,有效地址由寄存器指出。

寄存器可以是BX(数据段基址寻址)、BP(堆栈段基址寻址)、SI(变址寻址)、DI(变址寻址)。

需要注意的是如果有效地址在BP中,则段基址在SS中。

基址+变址的寻址:

EA=[BX]或[BP]+[SI]或[DI]

2、传送类指令

MOV:

寄存器之间,寄存器和内存之间的数据传送;立即数送到寄存器或内存

PUSH、POP:

PUSH是把字压入栈,POP是把字弹出栈;注意栈的地址是上小下大。

XCHG:

交换寄存器之间、寄存器内存之间的字节或字(会影响标志位)。

LEA:

将某个内存地址的有效地址(段内偏移量)送入寄存器,源操作数必须是一个内存地址,目的操作数必须是一个16位的寄存器。

注意:

MOVAX[1070H]和LEAAX[1070H]的区别

MOV是把1070,1071两个地址所存放的内容送入AX,LEA是把1070这个地址送入AX

LDS和LES

IN、OUT:

累加器AX或AL与IO端口之间的数据传送,IN是从IO读入,OUT输出

3、数据操作类指令:

均会影响标志位

ADD:

不带进位加法,执行两个字或字节的相加操作。

ADC:

和ADC一样,只是需要把CF的值也加在和中

INC:

将操作数内容加1,用于循环程序中修改指针和循环次数

SUB:

不带进位减法,执行两个字或字节的相减操作。

SBB:

和SUB一样,只是还需要把CF的值减掉

DEC:

将操作数的值减1

NEG:

取补码,实际是用0减去操作数。

CMP:

执行两数相减,但不送回结果,只影响标志位

逻辑运算:

NOT、AND、OR、XOR:

AND对一个数据指定位清0,如ANDAL,0FH。

对AL的高四位清0

OR对一些制定位置1,如ORAL,02。

对AL的D1位置1

XOR用于对某个寄存器清0,如XORAX,AX。

则AX清0

TEST用于检测指定位是否为0,如TESTAL01,就是判断AL的D0位的取值。

如果ZF=1,说明D0=0;ZF=0,说明D0=1。

逻辑移位:

SHL、SHR和算数移位:

SAL、SAR

SHL和SAL:

功能一样,每向左移位一次,最低位补0,最高位进入CF。

SHR和SAR:

SHR向右移位一次,最高位补0;SAR则是最高位保持不变。

4、串操作指令:

MOVS

CMPS

SCAS

LODS

STOS

重复前缀REP,表示无条件重复字符串指令,直到满足CX寄存器中指定的次数

5、控制类指令:

JMP无条件转移、RET过程返回、JE等于则转移、JZ结果为0则转移、JNE、JNZ、LOOP循环

进位标志:

CLC、STC。

方向标志:

CLD、STD。

中断标志:

CLI、STI

6、标示符的命名规则

第六章

1、分支程序,见书141,例子6.3

2、循环程序,见书144,例子6.5

3、子程序

子程序调用与返回由CALL和RET指令实现。

子程序调用过程如下:

保护现场——参数传递——恢复现场,详见书147

第七章

 

第八章

1、计算机IO接口与外设交换的信号有数字量、模拟量、开关量、脉冲量

2、IO控制方式,四种,程序控制方式(分为无条件传送和条件传送),中断控制方式,DMA方式,IO处理机方式。

能够简述四种方式的流程,以防简答题

3、课本200页并口的输入输出过程,以防简答题

4、8255的结构:

ABC三个口与外设连接,均可作为数据的IO端口,C口还可以作为状态或控制信息端口。

读写控制部件的A1A0和CPU的A1A0相连,负责端口选择,分别选择ABC三个端口以及控制字寄存器端口。

5、8255有三种工作方式:

方式0——基本IO方式,方式1——选通IO方式,方式2——双向传送方式。

A三种均可,B工作在0,1,C只可工作在0,且C口通常被分为高4位和低4位两部分,可分别进行IO。

6、8255工作前需要先初始化,规定好ABC三个口的工作方式以及是输出还是输入。

此外,还可单独对C进行置位复位。

记住控制字每位的含义。

7、ABC均工作在方式0:

A,B,C高4位,C低4位均可输入或输出,这样共可出现16种方式,课本204页表格。

8、AB工作在方式1,C作为状态/控制信号。

B口无论是输出还是输入,均用PC012;A口输入用PC345,输出用PC367。

9、A工作在方式2,PC34567作为状态控制信号,此时的A口既可以输入又可以输出,见图210页8-18。

同时,B口可以工作在方式0或1,如果工作在方式0,C口的PC012可以工作在方式0,如果工作在方式1,C口的PC012作为B的状态控制信号。

10、串行通信的三种方式:

单工、半双工、全双工

11、串行通信分为异步通信和同步通信

●异步通信时字符由以下4部分组成

起始位(1位,低电平);

数据位(5~8位);

奇偶校验位(1位);

停止位(1、1.5或2位,高电平)

●同步通信字符格式:

面向字符的数据格式:

单同步(SYNC….CRC)、双同步(SYNCSYNC……CRC)、外同步(……CRC)

面向比特的数据格式:

7EH,不能出现6个

12、记住8251的几个引脚:

发送端:

TxRDY、TxD、TxEMPTY、TxC

接收端:

RxRDY、RxD、SYNDET、RxC

13、8251的初始化

方式选择控制字:

操作命令控制字:

状态控制字:

14、8255的题型分析

(1)给出端口地址和ABC口的工作方式,要求初始化。

例子:

8255A口A地址为200H,要使口A工作在方式0输出,口B工作在方式1输入,PC7—PC4为输入,PC3—PC0为输出,请编写初始化程序段

(2)给出一定条件,要求把8255连入CPU系统中。

例子:

8255端口范围是C8~CBH,CPU的A15~A10未用。

给出一个8255图和一个38译码器图,要求把8255连入CPU系统

(3)给出线路图,要求写出8255的端口地址并初始化。

例子:

并行接口芯片8255A与打印机的连线如图,当A15~A2=00000000110000时,CS有效,问口A的工作方式应为?

口C的工作方式应为?

I/O传送的控制方式为?

8255口C的地址为?

15、8253典型题分析

8253的最大计数值十六进制表示是FFFF,十进制表示是9999

注意:

8253是先减一再查看计数,如果查看计数发现时0,则停止。

所以如果计数初值如果是最大值,那么开始计数时计算器里放的值是0,减一后才变为FFFF或者9999。

如果开始就是FFFF或9999,那么到0停止,将会使计数值少1.

注意:

FFFFH的十进制形式是多少?

65535,所以最大计数值十六进制表示是65536,十进制是10000.

(1)对8253进行初始化编程

给定一些条件,要求对8253进行初始化。

初始化8253有如下两个问题需要考虑:

●采用哪种工作方式——6种方式的特点要分清

●计数初值是多少——十进制还是二进制,占用几个字节

这两项定了即可得出控制字,有控制字了就可以初始化了。

分为如下两步:

①写入控制字,控制字寄存器地址。

规定计数器的工作方式。

②写入计数值。

●若规定只写低8位,则写入的为计数值的低8位,高8位自动置0;

●若规定只写高8位,则写入的为计数值的高8位,低8位自动置0;

●若是16位计数值,则分两次写入,先写入低8位,再写入高8位。

(2)读取计数器值

每个计数器都有计数值,CPU可用输入指令读取。

CPU读到的是执行输入指令瞬间计数器的现行值。

但8253的计数器是16位的,所以要分两次读至CPU,因此,若不设法锁存,则在输入过程中,计数值可能已经变化了。

要锁存有两种办法:

(1)利用GATE信号使计数过程暂停。

(2)向8253输送一个控制字,令8253计数器中的锁存器锁存。

8253的每一个计数器都有一个输出锁存器(16位),平时,它的值随通道计数器的值变化,当向通道写入锁存的控制字时,它把计数器的现行值锁存(计数器中继续计数)。

于是CPU读取的就是锁存器中的值。

例题:

通过PC机系统总线在外部扩展一个8253,利用其通道0记录外部事件的发生次数,每输入一个高脉冲表示事件发生1次。

当事件发生100次后就向CPU提出中断请求(边沿触发),假设8253片选信号的I/O地址范围为200H~203H,如下图。

初始化8253,读取计数值

根据要求,可以选择方式0来实现,计数初值N=100。

8253

MOVDX,203H

MOVAL,00H

OUTDX,AL

MOVDX,200H

INAL,DX

MOVCL,AL

译码

电路

A3~A9

A1

A0

外部事件产生

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1