微机原理及应用核心笔记.docx

上传人:b****6 文档编号:6056242 上传时间:2023-01-03 格式:DOCX 页数:255 大小:323.19KB
下载 相关 举报
微机原理及应用核心笔记.docx_第1页
第1页 / 共255页
微机原理及应用核心笔记.docx_第2页
第2页 / 共255页
微机原理及应用核心笔记.docx_第3页
第3页 / 共255页
微机原理及应用核心笔记.docx_第4页
第4页 / 共255页
微机原理及应用核心笔记.docx_第5页
第5页 / 共255页
点击查看更多>>
下载资源
资源描述

微机原理及应用核心笔记.docx

《微机原理及应用核心笔记.docx》由会员分享,可在线阅读,更多相关《微机原理及应用核心笔记.docx(255页珍藏版)》请在冰豆网上搜索。

微机原理及应用核心笔记.docx

微机原理及应用核心笔记

第1章、微型计算机基础知识

§1.1微机的一般概念和基本组成

(一)冯.诺依曼结构计算机

从第一代电子计算机开始到现代计算机,其制造技术发生了极大的变化,但我们目前使用的各类计算机大都沿用了冯.诺依曼结构。

概括起来冯.诺依曼结构有如下要点:

1、采用二进制形式表示数据和指令;

2、将程序(包括数据和指令序列)事先存储到主计算机内,即:

程序顺序存储方式;

论文:

程序控制、存储程序

3、计算机系统由运算器、控制器、存储器、输入和输出装置等组成。

(二)微型机的基本组成

微型计算机系统由计算机硬件系统和软件系统组成。

(微机系统、微机、CPU)P3

微型计算机系统的硬件由微型计算机(主机)和外围(输入、输出)设备组成。

主机由:

CPU(中央处理器:

算术、逻辑运算部件;累加器、寄存器;控制部件;内部总线);主存储器(ROM、RAM);输入、输出接口;系统总线组成。

微型计算机系统的软件由系统软件、工具软件和应用软件组成。

CPU是计算机的心脏。

是一片超大规模集成电路芯片,它的功能直接决定了计算机的性能好坏。

CPU的主要功能:

●可进行算术、逻辑运算;

●临时保存数据;

●能对指令进行译码,并执行规定的动作;

●能与内存或外设交换数据;

●能提供整个系统需要的定时和控制;

●可以响应其它设备的中断请求

CPU的主要参数有:

(1)主频

(2)一次能处理的数据位数。

它由CPU的数据线条数决定。

(3)能带多少存储器和I/O口。

它由CPU的地址线条数决定。

如:

  Pentium80586CPU为32位CPU,主频可为60MHZ,可带4GB存储器。

PentiumpⅡCPU为32位CPU,主频可为130MHZ。

PC/XT机,CPU是Inter8086,16位,主频8MHZ,可1MB存储器。

存储器用来存储程序和数据。

存储器分内存和外存。

(1)内存

CPU用地址线直接访问的存储器称内存,内存又分RAM和ROM。

ROM是只读存储器,其中存放的程序和数据是计算机生产厂用特殊方式写入的,计算机不加电时也不丢失。

RAM叫可读可写存储器,RAM中一般存放用户开发的程序和数据,只要一掉电,RAM中的数据全部丢失。

人们常说的计算机容量,就是指内存。

(2)外存

外存是CPU用输入输出方式存取的存储器。

一般指软盘和硬盘。

它的特点是容量大,速度慢,价格低。

目前软盘的容量一般为1.4MB(兆字节),硬盘一般达到10GB(10千MB)。

总线是连接多个装置或功能部件的一组公共信息通道。

微机中一般有三种总线:

地址总线 其条数,决定了系统能配带多少存储器;每一个存储单元都有一个确定的地址,该地址就是通过地址线描述的。

数据总线 其条数,决定了机器的字长;

控制总线

如:

8086CPU有20条地址线,16条数据线。

直接寻址1M字节存储器,一次能处理16位二进制数据。

§1.2计算机中的数和码

(一)计算机中常用的编码

1、BCD码

BCD码是一种用二进制表示的十进制数。

从四位二进制数表示的数:

0000--1111中选出0000--1001分别表示十进制中的0--9这十个数码,它们就是BCD码。

2、ASCII码

计算机中的一些符号,如:

大小写英文字母,各种专用符号:

+、-、*、/、(、)、[、],汉字,图形符号等等都叫非数值数据。

在计算机中非数值数据也要用二进制表示。

如人们敲键盘输入计算机中的信息就是二进制数。

所有外不设备输入计算机的都是用二进制数。

为了使不同生产厂商生产的外部设备如键盘、显示器等能通用,同时人们输入的程序和数据能共享,大家都能看懂,对输入计算机的非数值信息必须采用大家都共识,共同规定的方案去编码。

ASCII码

现在用得最广泛的西文编码方案是ASCII码,即美国标准信息交换码。

在这种编码方案中,用八位二进制数来表示一个ASCII码,其中最高位为0,余下的七位代表128个不同的字符,其中95个(编码值大于31的)编码代表键盘能敲入并且能显示的,打印机也能打印的95个字符。

如大小写各26个字母,0—9这十个数字符,通用的运算符和标点符号+,-,*。

/,>,<,(,),[,],:

,;,?

等等。

余下的33个(编码值为0---31和127)作为控制码。

3、汉字编码

汉字在计算机中也用二进制数表示。

不过汉字的编码不能与ASCII码相同,为此汉字在计算机内,目前用两个八位二进制数表示,且每个二进制数的最高位必须是1,余下的七位对应的十进制数值必须大于32。

这种编码可以经过国标码(我国于1980年制定的信息用汉字编码字符集.基本集:

GB2312—80)得到或从区位码得到。

(二)计算机中数的表示

1.计算机中的进位计数制

(1)进位计数制的表示法

日常生活中用十进制计数,除了符号位用+、-号外,只用0、1、2、------9这十个符号。

要表示大于十的数,还必须规定数字排列规则,如345中的3处于百位,它代表3百,可用3*102来表示,其中102代表百位数的位权。

4处于十位,它代表4个十,可用4*101来表示,其中101代表十位数的位权,5处于个位,可用5*100,其中100代表个位数的位权。

于是345可写成:

(345)10=3*102+4*101+5*100 

=∑ai*Ri

 其中:

ai为0或1,R为基数,对十进制数R=10 

 对于任意数制,一般情况下有:

对于二进制数,它只有两个符号:

0和1。

当某一位的值增加到2时,向高一位进1,本位变0。

即,运算法则是:

逢二进一。

各位位权是:

1、2、4、8、16、32、64、128---等。

二进制数由排列起来的0和1组成。

如二进制数:

(1010)2=1*23+0*22+1*21+0*22=(10)10

对八进制数,有八个符号:

0--7;

 运算法则是:

逢八进一;

 位权分别是:

1、8、64、512等。

如八进制数:

(1625)8=1*83+6*82+2*81+5*80=(907)10

对十六进制数,有16个符号:

0--9、A、B、C、D、E和F;

运算法则是:

逢16进一;

位权分别是:

1、16、256、4096等。

如十六进制数:

(1A2F)16=1*163+10*162+2*161+15=(6703)10

(2)进位计数制的转换

十进制转换成R进制

法则:

整数部分:

除R取余

小数部分:

乘R取整

二进制转换成十进制

法则:

若要将二进制数转换成十进制数,只要将那些不为0的数位的位权相加即可。

 (10110011)2=27+25+24+21+20=128+32+16+2+1

=(179)10

由此可知:

若要将R进制数转换成十进制数,只要将那些不为0的数位ai乘其该位位权ai,再累加求和即可。

例:

2a8H=2*256+10*16+8=512+160+8=680D

二进制转换成八进制

法则:

从小数点开始,三位变一位

二进制转换成十六进制

法则:

从小数点开始,四位变一位

八进制转换成二进制

 法则:

一位变三位

十六进制转换成二进制

法则:

一位变四位

例:

(10110011.0010101)2=263.124O =B3.2AH

(3)二进制运算法则

 二进制的运算法则是:

逢二进一  

0+0=01+0=10+1=11+1=10

0*0=01*0=00*1=01*1=1

例:

 01010101+00111011=10010000

01010101

+00111011 

10010000

练习:

加、减、乘、除

2.带符号数的表示

(1)机器数

 数,除了有多少外,还有+、-符号。

因此,在计算机中要表示一个完整的数,其符号也得用二进制数来表示,机器中这样的数叫机器数。

 一般机器数的最高位用来表示数的符号:

1表示负数,0表示正数。

机器数中余下的二进制位叫数值位。

  如:

01010001

符号位数值位

机器数所代表的有符号数的大小,就是该机器数的真值。

用机器数来表示一个数,可采用不同的码制(即:

“数值位”表示1、2、3……等等的编码方式叫码制),一个数(一个真值)若用不同码制来表示,其机器数是不相同的。

反过来说:

一个机器数,可能代表多个真值。

常用的码制有:

原码、反码、补码等。

(2)原码

若数值位直接以无符号二进制数的方式编码,这样的机器数的表示法叫原码。

(3)反码

规定:

正数的反码与其原码相同,负数的反码是其对应的原码按位取反所得。

如:

(00000101)原对应的反码也是(00000101)反

(10000101)原对应的反码是(11111010)反

(00000101)原和(00000101)反对应的真值都是+5

(10000101)原对应的真值是-5

(11111010)反对应的真值也是-5

而(10000101)反对应的真值是-234

可见:

一个数(如:

-5)用原码和反码表示时,其机器数是不同的。

因此,问:

机器数:

10000101的真值是多少?

是不确切的。

(4)补码

(补码为其反码加1。

(正数的补码与其原码相同,负数的补码为其反码加1。

 如:

(0)补=00000000B;

(127)补=01111111B;

(-1)补=11111111B;

(-127)补=10000001;

(-128)补=10000000

(5)移码

将补码的符号取反就是移码。

带符号数的表示及意义(位数固定如4位,8位):

(1)表示方法

(2)进位与溢出

(3)如何判断进位与溢出

3.定点数和浮点数

(1)定点数

机器数中若将小数点的位置固定在数值位的最左边或最右边,而采用默认的方式,小数点不占数位,即机器数中不出现小数点,这就是定点数。

小数点放在数值位的最左边叫纯小数或定点小数;小数点放在数值位的最右边叫纯整数或定点整数。

(2)浮点数

对于小数点位置不固定的数,机器中用浮点数来表示,其形式为:

Pf

P

Sf

S

阶符

 阶码 

尾符

尾数

第2章Intel8086微处理器

§2.18086的编程结构

(一).8086编程结构

8086CPU从编程功能上看可以分成两部分:

总线接口BIU和执行单元EU。

两部分功能

(二)总线接口部件

功能:

负责与CPU外部传送数据(ROM,RAM,IO)

4个段寄存器:

CS(代码)、DS(数据)、ES(扩展)、SS(堆栈)

指令指针寄存器IP

20位加法器

指令队列缓冲器

8086CPU外部有20条地址线,但内部只有16条线,所有寄存器均是16位的,它无法直接处理20位的地址的。

因此,8086的设计者是这样来设计的:

按64K字节为一段,将1M内存分成很多段。

若CPU要对访问一个存储器,将一个存储器的物理地址(20位二进制数地址)分成两部分:

16位二进制位的段地址和16位二进制位的段内偏移地址。

一般将段地址放入段寄存器,段内偏移地址放入BP、BX、SI或DI之中。

且有:

物理地址=段地址*16+段内偏移地址

例:

P12.3

(三)执行部件

4个通用寄存器:

AX、BX、CX、DX

4个专用寄存器:

堆栈指针寄存器SP、基数指针寄存器BP、源变址寄存器SI、目标变址寄存器DI

标志寄存器PSW(F)

所有寄存器均是16位的。

其中4个通用寄存器均可分成两个8位寄存器:

AH和AL、BH和BL、CH和CL、DH和DL

ALU

8086标志寄存器

标志寄存器中有9位作为CPU执行指令后的各种状态。

这9位标志位可分成两类:

状态标志和控制标志。

(1)进位标志CF

(2)奇偶标志位PF

(3)半进位标志AF

(4)零标志ZF

(5)符号标志SF

(6)溢出标志OF

(7)跟踪标志TF

(8)方向标志DF

(9)中断标志IF

注意:

1、传统总线的产生

2、接口芯片引脚功能

3、接口芯片与总线的连接

提问:

8086CPU从编程功能上看可以分成哪两部分,两部分功能?

有哪些寄存器?

如何得到外部20位地址?

有哪两类标志位?

讲解:

执行指令的管理:

指令队列(P10-P11)

时钟周期和总线周期:

时钟周期:

时钟频率的倒数

总线周期:

执行一次取指操作或传送数据操作的时间

T1往总线发地址

T2总线低16位高阻,高4位输出状态

T3总线低16位为数据

TW

T4结束

§2.28086的引脚及工作模式

一、8086工作模式

8086最小模式和最大模式

系统中只有一个8086CPU再无其它控制总线的芯片,这就是最小模式。

系统中有多于一个8086CPU,或有其它控制总线的芯片,这就是最大模式。

二、8086引脚

按信息定义分五大类:

#1每个引脚只传送一个信息;如:

AD0--AD15

#2每个引脚高低电平代表不同的信号,如:

TO/M

#3在两种模式下有不同的定义,如:

WR/LOCK,小模式是写信号,大模式下是总线锁定信号。

#4一个引脚分时使用,如:

AD0--AD15,T1状态下传送地址,T3状态转送数据。

#5输出、输入分别传送不同的信息,如:

RQ/GT0,输入时传送总线请求,输出时转送总线请求允许。

按功能分类:

1、基本工作保证:

电源:

VCC、GND、GND,

时钟:

CLK(p16),

复位:

RESET(p16)初始地址FFFF0H

2、地址数据总线:

AD0-AD15、A16-A19

ALE

BHE/SS0(P15表2.2)

3、控制线:

读写控制:

/RD,/WR,M/IO,

READY,DT/R,DEN

中断控制:

INTR,INTA,NMI

总线控制:

MN/MX,HODA,HODR

指令等待(WAIT)控制:

TEST

三、基本接线:

1、基本工作保证:

加8284(P21知道图)

2、最小模式读写操作(P21表)(会设计图)

3、最大模式典型配置说明(P23倒3段)(知道两个图)

四、PC系统板总线

PC系统板总线共62条,全部引到系统板8个扩展槽上。

62条线分成五类:

地址线20根、数据线8根、控制线21根、状态线2根和时钟、电源线8根。

五、总线操作与8086的时序

1、理解最小模式下读写操作图

8086总线周期

8086CPU中的各部件,不管取指令或执行指令阶段,都是在一个时钟定时器的参与下,严格地、有条不紊的按预先设计的顺序进行。

即CPU设计者是按照预先设计的时序要求,来考虑各部件的整体配合、协调工作。

要了解和利用计算机进行控制,都必须要掌握CPU的时序要求。

8086CPU时序中,最重要的是8086总线执行部件BIU从内存或外部设备中取指令或数据的时序。

CPU从内存或外部设备中取指令或数据叫CPU访问(或叫CPU读)存储器或外设。

在这段时间内,CPU要占用总线(数据线、地址线和控制线)。

CPU从内存或外设中读一个字节的数据所用的时间叫一个总线周期。

8086的一个最基本的总线周期包含四个时钟周期(如CPU主频传0MHZ,1个时钟周期为100ns)。

4个时钟周期又叫4个T状态:

T1、T2、T3和T4状态。

CPU在4个T状态中必须完成给定的工作。

(1)在T1状态,CPU往地址线上发送地址;

(2)在T2状态,总线的低16位成高阻状态,高4位传送本总线周期的状态信息(使用那个段寄存器等);

(3)T3状态,总线低16位传送数据,高4位继续传送本总线周期的状态信息;

(4)T4状态,总先周期结束。

(5)如果存储器或外设的存取速度满,CPU在T3结束后要插入一个或多个TW等待周期。

CPU8086对总线的访问一般不是连续的。

两个总线周期之间的时间CPU不访问总线,而进入“空闲周期”。

  8086读(写)时序:

2、中断

中断分类

中断向量:

p35表

硬件中断及响应过程

硬件中断产生条件:

内部,外部

可屏蔽中断响应过程:

1、执行完当前指令,2、发INTA两个负脉冲,3、收到中断号暂存

4、PSW入栈,请中断允许标志,保护断点

5、进入中断程序

软件中断及响应过程(类似子程序)

用软件提供中断类型码

3、IO及RAM组织

地址的产生

片选与端口地址

复习:

§1.1微机的一般概念和基本组成硬件系统和软件系统

§1.2计算机中的数和码

§2.18086的编程结构

§2.28086的引脚及工作模式

§2.38086的时序、复位操作(p26)及中断

§2.4IO及RAM组织

习题:

2.3、2.7、2.8、2.10(小模式)、2.11(后问)、2.14、2.23、2.27

思考题:

1.1、1.6、2.2、2.4、2.5、2.6、2.30、2.38

二、8086指令系统

START:

MOVCX,1230H

MOVAX,[1230H]

LOOP:

SUBAX,CX

JZEXT

INCBX

JMPLOOP

EXT:

HLT

指令格式

标号:

关键字(指令助记符)操作数;注释

标号:

字符(字母数字@—?

)例

关键字(指令助记符)P468--P47975个

注释

计算机中指令也必须用二进制数来表示。

8086CPU设计者用1--6个字节二进制数来代表不同的指令。

每一条指令均包含四部分内容:

(1)作什么事;

(2)到何处取操作数;

(3)结果放在何处;

(4)下一条指令放在何处。

其中“1”称为操作码,“2”--“4”叫操作数。

所谓寻址方式,就是指操作数放在何处,采用何种方式寻找操作数。

上述“2”和“3”是操作数的寻址;“4”是指令的寻址。

在一条指令中,“指令的寻址”部分采用两种方式来表示:

#1一般指令中,如传送指令、算术运算指令、逻辑指令等,采用缺省方式,即指令中不包含“下一条指令”的地址,而用顺序存放的方式,紧接着本指令存放地址的后面就是“下一条”指令的存放地址。

#2在转移指令、调子程序指令等指令中包含“下一条指令”的地址。

主机中操作数只能放在CPU寄存器或存储器中。

存储器是分段的,操作数可能放在程序区也可能放在数据区。

1.8086寻址方式

1.什么是寻址方式

操作数和寻址方式(从硬件上解释操作数在指令、R、RAM、IO什么地方)

1、根据关键字规定操作数0-2个

如2个中间用逗号,且两个操作数或位长相同,(类型匹配)

2、操作数可以是数字、寄存器内容或存储单元内容

表示方法:

数字立即在指令中写出数字

寄存器内容在指令中写出寄存器名称

存储单元内容用括号括出存储单元有效地址

段地址可注明,否则BP为SS段,其余为DS段

例:

1234H,[1234H],SI,[SI],[BP],ES:

[1234H],ES:

[BP]

3、寻址方法:

(1)操作数是数字,指令中立即写出数字------------立即数寻址

MOVAX,1234H解释此句意义

立即寻址

操作数放在程序区,就在当前指令操作码的后一个字节中。

如:

汇编指令:

MOVAX,1234H

对应的机器指令是:

B8H34H12H

该指令的功能是:

 将源操作数:

1234H传送到AX寄存器。

对源操作数而言,它就放在指令码B8的后面,这就是立即寻址。

(2)操作数是寄存器内容,指令中写出寄存器的符号---------寄存器寻址

MOVAX,BX

寄存器寻址

操作数放在CPU中的寄存器中。

如:

汇编指令:

MOVAX,BX

对应的机器指令是:

8BHC3H

指令功能是:

将BX中的数传送到AX寄存器。

源操作数是放在BX寄存器中,所以叫寄存器寻址。

指令的机器码中并不包含要传送的操作数。

只有BX的代码011B(C3H=11000011B)

(3)操作数是存储单元内容,用括号括出存储单元有效地址-----直接寻址

MOVAX,[1234H]

MOVAX,ES:

[1234H]

直接寻址

指令中直接包含有操作数存放的16位偏移地址。

该地址是数据区中的某一地址。

如:

汇编指令:

MOVAX,[2000H]

对应的机器指令是:

8BH06H00H20H

指令功能是:

将BX中的数传送到AX寄存器。

机器指令中的00H20H,就是源操作数的存放地址。

(低地址在前)

(4)操作数是存储单元内容,用括号括出寄存器或其表达式,寄存器或其表达式的值为存储单元有效地址-------------间接寻址

MOVAH,[BX]

MOVAX,ES:

[SI]

MOVAL,[BX+SI+5]===5[BX+SI]===5[BX][SI]

间接寻址所用寄存器为BX、BP称基址寻址,所用寄存器为SI、DI称

变址寻址,两者的组合称基址+变址,均可带位移量

寄存器间接寻址

操作数存放在以寄存器中的内容为偏移地址的存储器中。

寄存器只能是BX或BP或SI或DI之一。

若是BP,则对应的存储器是在堆栈段,段地址在SS中;其它则对应的存储器是在数据段,段地址在DS中。

如:

汇编指令:

MOVAX,[BX]

对应的机器指令是:

8BH07H

指令功能是:

将存储器[BX]中的数传送到AX寄存器。

机器指令中的(07H=00000111B)包含的111B,就是源操作数中寄存器BX的代码。

操作数中并不包含存储器地址,只包含寄存器的代码,所以叫寄存器间接寻址。

变址寻址

 变址寻址实际上是在寄存器间接寻址的基础上再加一个16位的偏移量。

如:

汇编指令:

MOVAX,[SI+0100H]

对应的机器指令是:

8BH54H00H01H

指令功能是:

将存储器[SI+100H]中的数传送到AX寄存器。

机器指令中的(54H=01010100B)包含的010B,就是源操作数中寄存器SI的代码,00H01H就是16位偏移地址。

操作数中并不包含存储器地址,只包含寄存器的代码和16位偏移地址,所以叫变址寻址。

基址加变址寻址

如果操作数是存放在以[基址寄存器BX或BP+变址寄存器SI或DI]的存储器中则叫基址加变址寻址。

如:

汇编指令:

MOVAX,[BX+SI]

指令功能是:

将存储器[BX+SI]中的数传送到AX寄存器。

指令中的操作数中并不包含存储器地址,只包含基址寄存器和变址寄存器的代码,所以叫基址加变址寻址。

操作数类型和类型匹配

(1)操作数类型(位长)BYTE,WORD,DD,

(2)操作数类型的确定

数字12H,0012H,00000012H无法确定

寄存器内容AX,AH,AL确定

存储单元内容[1234H]

可字节;L[1234H][1235H]H字;L[1234H][1235H][1236H][1237H]H双字无法定

(3)两个操作数类型匹配

两个操作数类型都确定,必须在指令中匹配

MOVAX,BX

MOVAH,BL

MOVAX,BL错

两个操作数仅一个类型确定,8086自动匹配

解释MOVAX,86H

MOVAH,86H

MOVAX,[1234H]

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

当前位置:首页 > 高等教育 > 教育学

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

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