微机原理复习总结.docx
- 文档编号:11661739
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:19
- 大小:34.39KB
微机原理复习总结.docx
《微机原理复习总结.docx》由会员分享,可在线阅读,更多相关《微机原理复习总结.docx(19页珍藏版)》请在冰豆网上搜索。
微机原理复习总结
微机原理复习总结
第二章
★正数的反码与原码相同;
★负数的反码,是原码的符号位不变,其它各位求反。
x0≤x≤2n-1–1
[x]反=
2n–1-|x|-(2n-1–1)≤x≤0
3.补码
x0≤x<2n-1–1
[x]补=
2n+x-2n-1≤x<0
★正数的补码与原码相同
★负数的补码是:
原码的符号位不变,其余各位求反加1。
补码简单求法
(1)符号位不变,数值部分从低位开始向高位逐位行进,在遇到第一个1以前,包括第一个1按原码照写;第一个1以后,逐位取反。
例:
[x]原=10011010
↓↓↓↓↓↓↓↓
[x]补=11100110
↑↑↑
不变求反不变
[-128]补=[-127-1]补=[-127]补+[-1]补=10000000
3.补码运算溢出判别
运算结果,超出了计算机所能表示的数的范围称为溢出。
例:
73+72=145>127
[x]补=01001001(+73)
+[y]补=01001000(+72)
10010001
补码运算发生溢出情况:
1.同号数相加,可能溢出;
2.异号数相减,可能溢出。
2.1.1计算机硬件基本结构
由运算器、控制器、存储器、输入设备和输出设备等五个基本部分组成。
微型计算机的分类
按用途分:
•通用微型计算机
•嵌入式计算机
按微型计算机的组成和规模分:
•多板机
•单板机
•单片机
•微机的系统总线按功能分成三组:
•数据总线DB:
地址总线AB:
控制总线CB:
8086是Intel系列的16位微处理器,有16根数据线和20根地址线。
因为可用20位地址,所以可寻址的地址空间达220即1M字节单元。
总线接口部件(BIU):
段寄存器、指令指针寄存器(IP)、地址加法器、内部暂存器、指令队列及I/O控制逻辑等部分组成。
执行部件EU:
负责指令的执行,包括通用寄存器、专用寄存器、标志寄存器及ALU等部分组成。
CS:
16位代码段寄存器DS:
16位数据段寄存器SS:
16位堆栈段寄存器
ES:
16位附加段寄存器
AX:
累加器BX:
基址(Base)寄存器CX:
计数(Count)寄存器
DX:
数据(Data)寄存器
SP:
堆栈指针寄存器BP:
基址指针寄存器
SI:
源变址寄存器DI:
目的变址寄存器
Flag:
状态标志寄存器IP:
指令指针寄存器
假设CS=8211H,IP=1234H,则该指令单元的20位物理地址为:
PA=8311H×10H+1234H=83110H+1234H=84344H
物理地址=段基址×10H+偏移地址
CS×16+IP
SS×16+SP(BP)
DS(ES)×16+SI(DI)
1.指令
指令是计算机能够识别和执行的指挥计算机进行操作的命令。
计算机是通过执行指令序列来解决问题的。
指令系统是指微处理器能执行的各种指令的集合。
不同的微处理器有不同的指令系统。
计算机指令码由操作码字段和操作数字段两部分组成。
操作码字段指出所要执行的操作,而操作数字段指出指令操作过程中需要的操作数。
2.操作数
操作数是指令的操作对象。
8086/8088指令系统中的操作数分为两类:
数据操作数、转移地址操作数。
(1)数据操作数
按存储位置,数据操作数分为:
立即数、寄存器操作数、内存操作数、I/O操作数。
1)立即数:
指令中直接给出操作数本身。
2)寄存器操作数:
即操作对象是寄存器中的内容。
例上述指令中AL为寄存器操作数。
3)内存操作数:
也称为存储器操作数,操作对象是内存中的数。
4)I/O操作数:
指令中要操作的数据来自或送到I/O端口。
(2)转移地址操作数
这类操作数出现在程序跳转或程序调用指令中,指出程序要转移的目的地址。
它也可以分为:
立即数、寄存器操作数、存储器操作数,即要转移的目标地址包含在指令中或存放在寄存器、内存储器中
1立即寻址
MOVAX,1234H;AX←1234H
2寄存器寻址
MOVDX,AX;DX←AX
注意:
(1)当指令中的源操作数和目标操作数均为寄存器时,必须采用同样长度的寄存器;
(2)两个操作数不能同时为段寄存器;
(3)目标操作数不能是代码段寄存器(CS)。
除以上两种寻址方式外,下面5种寻址方式的操作数均在存储器中,统称为内存寻址方式。
当采用内存操作数时,必须注意双操作数指令中的两个操作数不能同时为内存操作数。
3直接寻址
(1)MOVAX,[2000H];AX←(DS:
2000H)
(2)MOV[1200],BL;(DS:
1200H)←BL
(3)MOVES:
[0100],AL;(ES:
0100H)←AL
说明:
DS:
2000表示内存单元地址;
(DS:
2000)表示地址是DS:
2000的内存单元内容。
4寄存器间接寻址
8086/8088中可用于间接寻址的寄存器有基址寄存器BX、BP和变址寄存器SI、DI。
为区别于寄存器寻址,寄存器名要用“[]”括起。
例:
MOVAX,[SI];AX←(DS:
SI+1,DS:
SI)
有效地址EA计算方法如下:
物理地址PA计算方法如下:
物理地址=DS×10H+SI或DI或BX
或
物理地址=SS×10H+BP
注意:
不同的寄存器所隐含对应的段不同。
采用SI、DI、BX寄存器,数据存于数据段中;采用BP寄存器,数据存于堆栈段中。
5寄存器相对寻址
操作数的有效地址:
EA1=SI/DI/BX+8位disp/16位disp(disp代表偏移量)
或EA2=BP+8位disp/16位disp
操作数的物理地址:
PA1=DS×10H+EA1
或PA2=SS×10H+EA2
(1)偏移量是有符号数,8位偏移量的取值范围为:
00~FFH(即+127~-128);16位偏移量的取值范围为:
0000~FFFFH(即+32765~-32768)。
(2)IBMPC汇编允许用三种形式表示相对寻址,它们的效果是一样的,如:
MOVAX,[BX]+6;标准格式
MOVAX,6[BX];先写偏移值
MOVAX,[BX+6];偏移值写在括号内
6基址变址寻址
操作数的有效地址为:
EA1=BX+SI/DI
或EA2=BP+SI/DI
当基址寄存器选用BX时,数据隐含存于数据段中;当基址寄存器选用BP时,数据隐含存于堆栈段中,即操作数的物理地址为:
PA1=DS×10H+EA1
或PA2=SS×10H+EA2
7相对基址变址寻址
操作数的有效地址为:
EA1=BX+SI/DI+8位/16位disp
或EA2=BP+SI/DI+8位/16位disp
当基址寄存器选用BX时,数据隐含存于数据段中;当基址寄存器选用BP时,数据隐含存于堆栈段中,即操作数的物理地址为:
PA1=DS×10H+EA1
或PA2=SS×10H+EA2
8086/8088指令系统按其功能可分6类:
1.数据传送指令
2.算术运算指令
3.逻辑指令
4.串操作指令
5.控制转移指令
6.处理机控制指令
①MOV指令传送数据的位数由寄存器或立即数决定,dst和src数据位数必须相同。下面的一些用法是错误的:
MOVES,AL;
MOVCL,4321H。
②MOV指令中的dst和src两操作数中必有一个是寄存器,不允许用MOV实现两存储单元间的传送。若需要时,可借助一个通用寄存器为桥梁,即:
MOVAL,[SI];通过AL实现(SI)和(DI)所指的两存储单元间的数据传送
MOV[DI],AL。
③不能用CS和IP作目的操作数;
④不允许在段寄存器之间直接传送数据;
⑤不允许用立即数作目的操作数;
⑥不能向段寄存器送立即数,要对段寄存器初始化赋值,必须通过CPU的通用寄存器。
例如:
MOVAX,DATA;将数据段地址DATA通过AX装入DS中
MOVDS,AX。
例:
以下指令均为合法的传送指令,括号中为目标操作数与源操作数的寻址方式。
1)MOVAL,5;(寄存器,立即数)
2)MOVAX,BX;(寄存器,寄存器)
3)MOVDS,AX;(段寄存器,寄存器)
4)MOVAX,DS;(寄存器,段寄存器)
5)MOVES:
VAR,12;(存储器,立即数)
6)MOVWORDPTR[BX],12;(存储器,立即数)
其中:
VAR为符号地址;WORDPTR指明存储器的属性是字属性。
)进栈指令PUSH
格式:
PUSHsrc
src可以是:
r16、seg、m16
功能:
堆栈指针减2,并将寄存器、段寄存器或存储器中的一个字数据压入堆栈。
即:
①SP←SP-2
②(SP+1,SP)←(src)
执行过程可描述为:
先减后压
)出栈指令POP
格式:
POPdest
dest可以是:
r16(除CS外)、seg、m16
功能:
将栈顶元素弹出送至某一寄存器、段寄存器(除CS外)或存储器,堆栈指针加2。
即:
①(dest)←(SP+1,SP)
②SP←SP+2
执行过程可描述为:
先弹后加
由于XCHG指令不允许同时对两个存储单元进行操作,因而必须借助于一个通用寄存器。
①先把一个存储单元中的数据传送到通用寄存器;②再将通用寄存器中的内容与另一个存储单元内容进行交换;③把通用寄存器中的内容回传给第一个存储单元。
换码指令XLAT
格式:
XLAT
源操作数、目标操作数均隐含。
功能:
把数据段中偏移地址为BX+AL的内存单元的内容传送到AL中,即:
AL←(BX+AL)。
1)对外设端口操作时,当端口地址在0~255范围内,寻址方式可选用直接寻址,也可选用间接寻址;当端口地址大于255时,只能选用间接寻址,并且地址寄存器只能用DX。
(2)数据寄存器只能用AL(字节操作)或AX(字操作)。
当使用AX时,对IN指令来说:
是将port或DX所指向的端口数据读入AL,将port+1或DX+1所指向的端口数据读入AH;对OUT指令来说:
是将AL寄存器内容送port或DX所指向的端口,将AH寄存器内容送port+1或DX+1所指向的端口。
数据传送指令除SAHF、POPF指令对标志位有影响外,其余指令对标志位无影响。
串操作指令共有5条,串传送指令MOVS、串装入指令LODS、串送存指令STOS、串比较指令CMPS、串扫描指令SCAS。
控制转移指令包括:
转移指令、循环控制指令、过程调用指令和中断指令等4类。
(1)中断调用指令INTn
格式:
INTn
功能:
产生一个类型为n的软中断
操作:
①标志寄存器入栈;
②断点地址入栈,先CS入栈,后IP入栈;
③从中断向量表中获取中断服务程序入口地址,即:
IP←(0000:
4n+1,0000:
4n)
CS←(0000:
4n+3,0000:
4n+2)
(2)溢出中断指令INTO
格式:
INTO
功能:
检测OF标志位,当OF=1时,产生中断类型为4的中断;当OF=0时,不起作用。
操作:
①标志寄存器入栈;
②断点地址入栈,先CS入栈,后IP入栈;
③从中断向量表中获取中断服务程序入口地址,即:
IP←(0000:
0011H,0000:
0010H)
CS←(0000:
0013H,0000:
0012H)
)中断返回指令IRET
格式:
IRET
功能:
从中断服务程序返回断点处,继续执行原程序。
IRET指令是中断服务程序执行的最后一条指令。
操作:
①断点出栈,先IP出栈,后CS出栈;
②标志寄存器出栈;
第五章
⑴AD15~AD0(双向,三态)
为低16位地址/数据的复用引脚线。
⑵A19/S6~A16/S3(输出、三态)
⑶/S7(输出,三态)为高8位数据总线允许/状态复用引脚。
⑷(输出,三态)
读信号,当其有效时(低电平)表示正在对存储器或I/O端口进行读操作,若M/为低电平,表示读取I/O端口的数据;若M/为高电平,表示读取存储器的数据。
⑸READY(输入)
为准备就绪信号。
⑹(输入)为测试信号,低电平有效。
⑺INTR(输入)
可屏蔽中断请求信号,高电平有效。
⑼RESET(输入)
复位信号,高电平有效。
⑽CLK(输入)
时钟信号,它为CPU和总线控制电路提供基准时钟。
⑾电源和地
VCC为电源引线,单一的+5V电源。
引脚1和20为两条GND线,要求均要接地。
⑿MN/(输入)
为最小/最大模式信号。
第六章
1.RAM
特点:
RAM的读写次数无限。
如果断开RAM的电源,其内容将全部丢失。
RAM的分类:
静态RAM(SRAM,StaticRAM)
动态RAM(DRAM,DynamicRAM)
2.ROM
掩膜ROM:
掩膜ROM简称ROM,是由芯片制造的最后一道掩模工艺来控制写入信息。
PROM(ProgrammableROM):
可由用户一次性写入的ROM,如型熔丝PROM。
EPROM(ErasableProgrammableROM):
可擦除的可编程只读存储器。
如紫外线擦除型的可编程只读存储器。
E2PROM(ElectricallyErasableProgrammableROM):
也称为EEPROM,是可以电擦除的可编程只读存储器。
闪速存储器(FlashMemory):
闪速存储器是新型非易失性存储器,在系统电可重写。
【例6.3】某8086系统(最大组态)的存储器系统如图所示:
RAM0和RAM1组成的存储器的地址范围为80000H~8FFFFH,RAM0是偶存储体,RAM1是奇存储体。
ROM0和ROM1组成的存储器的地址范围为F0000H~FFFFFH,ROM0是偶存储体,ROM1是奇存储体。
第七章
1:
(1)输入输出口的传送方式:
I/O端口与内存统一编址
I/O端口独立编址
(2)CPU与外设之间的传送方式
特点:
以CPU为中心,由输入/输出程序实现数据传输。
两种方式:
无条件传输
条件传输(查询方式)
无条件传输方式:
一般用于能够确信外设已经准备就绪的场合。
如读取开关的状态,LED的显示等。
条件传输方式:
CPU不断读取并测试外设的状态,如果外设处于“准备好”状态(输入设备)或“空闲”状态(输出设备),则输入或输出数据。
对于条件传输来说,一个条件传输数据的过程一般由三个环节组成:
(1)CPU从接口中读取状态字;
(2)CPU检测状态字的相应位是否满足“就绪”条件,如果不满足,则转⑴;
(3)如状态位表明外设已处于“就绪”状态,则传输数据。
2:
直接存储器存取(DMA)
DMA方式是指不经过CPU的干预,直接在外设和内存之间进行数据传输的方式。
1次DMA传输需要执行1个DMA周期(相当于1个总线读或写周期)。
实现DMA方式,需要专门的接口器件来控制外设接口和内存之间的数据传输,它被称为DMA控制器(DMAC)。
采用DMA方式进行数据传输时,使用系统的数据总线、地址总线和控制总线。
3:
DMA操作的基本方法有三种:
(1)CPU停机方式。
指在DMA传送时,CPU停止工作,不再使用总线。
该方式比较容易实现,但由于CPU停机,可能影响到某些实时性很强的操作,如中断响应等。
(2)周期挪用方式。
利用窃取CPU不进行总线操作的周期,来进行DMA传送。
这一方式不影响CPU的操作,但需要复杂的时序电路,而且数据传送过程是不连续的和不规则的。
(3)周期扩展方式。
该方式需要专门时钟电路的支持,当传送发生时,该时钟电路向CPU发送展宽的时钟信号,CPU在加宽时钟周期内操作不往下进行;另一方面,仍向DMAC发送正常的时钟信号,DMAC利用这段时间进DMA传送。
第八章
1:
中断源可分为两大类:
外部中断(硬件中断)
内部中断(软件中断)
常见的中断源有:
⑴外部设备的请求,如CRT终端、键盘、打印机等;
⑵由硬件故障引起的,如电源掉电,硬件损坏等;
⑶实时时钟,如定时器芯片等;
⑷由软件引起的,如程序错、运算错、为调试程序而设置的断点等。
2:
中断系统的功能:
⑴能实现中断响应、中断服务及中断返回。
⑵能实现中断优先权排队
⑶能实现中断嵌套:
3:
中断处理过程
(1).中断请求
(2).中断判优
(30.中断响应
通常中断响应的操作过程应包括(由硬件实现):
•保留断点地址
•关闭中断允许(关中断)
•转入中断服务程序
(4).中断处理(由中断服务程序完成)
开中断*(弱允许中断嵌套)
保护现场
完成中断服务
恢复现场
(5).中断返回
6:
可屏蔽中断INTR
受CPU中断允许标志位IF的控制,即IF=1时,CPU才能响应INTR引脚上的中断请求。
当可屏蔽中断被响应,CPU需执行7个总线周期,才转入中断服务程序。
即:
(1)在第一个总线周期内通知外部中断系统CPU已响应;
(2)在第二个总线周期,从中断源读取中断类型号;
(3)执行一个总线写周期,将标志寄存器内容压栈,同时使IF为0,TF为0;
(4)执行一个总线写周期,把CS内容压栈;
(5)执行一个总线写周期,把当前IP内容压栈;;
(6)执行一个总线读周期,从中断向量表中读取中断服务程序的偏移地址并送IP;
(7)执行一个总线读周期,从中断向量表中读取中断服务程序的段地址并送CS。
7:
非屏蔽中断NMI信号连到CPU的NMI引脚,它不受CPU中断允许标志位IF的控制
8:
内部中断(软件中断)
除法错中断:
执行除法指令时,若除数为0或商超过寄存器所能表达的范围,则CPU立即产生一个中断类型号为0的中断。
溢出中断:
如果上一条指令使溢出标志位OF为1,则执行INTO指令产生中断,溢出中断的中断类型号为4。
INTn指令中断:
在执行中断指令INTn时产生的一个中断类型号为n的内部中断。
单步中断:
当单步标志(陷阱标志)TF置“1”时,80x86处于单步工作方式。
在单步工作时,每执行完一条指令,CPU自动产生中断类型号为1的中断。
断点中断:
断点中断是80x86提供的一种调试程序的手段。
用于设置程序中的断点,中断类型号为3。
9:
中断优先级(由高到低):
除法错、溢出、INTn指令、断点中断
非屏蔽中断
可屏蔽中断INTR
单步中断
10:
中断向量:
把各个中断服务子程序的入口都称为一个中断向量;
中断向量表:
将这些中断向量按一定的规律排列成一个表,就是所谓的中断向量表,当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。
向量表地址:
中断向量在中断向量表中的位置。
8086中断系统中的中断向量表是位于0段的0~3FFFH的存贮区内,每个中断向量占四个单元,其中前两个单元存放中断处理子程序的入口地址的偏移量(IP),低位在前,高位在后;后两个单元存放中断处理子程序入口地址的段地址(CS),也是低位在前,高位在后,整个中断向量的排列是按中断类型号进行的。
CPU响应中断后,将中断类型号×4,在中断向量表中“查表”得到中断服务程序入口地址,分别送CS和IP,从而转入中断服务程序。
例给定(SP)=0100H,(SS)=0300H,(FLAGS)=0240H,存储单元的内容为(00020H)=0040H,(00022H)=0100H,在段地址为0900H及偏移地址为00A0H的单元中有一条双字节中断指令INT8,试问执行INT8指令后,SP,SS,IP,CS的内容是什么?
栈顶的三个字是什么?
11:
设置中断向量的方法:
将中断服务程序的入口地址直接写入中断向量表中的相应单元:
MOVAX,0000H
MOVDS,AX
MOVSI,中断类型号*4
MOVAX,中断服务程序偏移地址
MOV[SI],AX
MOVAX,中断服务程序段地址
MOV[SI+2],AX
二是利用DOS功能调用完成中断向量的设置:
中断向量设置(DOS功能调用INT21H)
功能号:
AH=25H
入口参数:
AL=中断类型号,
DS:
DX=中断向量(段地址:
偏移地址)
获取中断向量(DOS功能调用INT21H)
功能号:
AH=35H
入口参数:
AL=中断类型号
出口参数:
ES:
BX=中断向量(段地址:
偏移地址)
12:
8259A的功能
⑴具有8级优先权控制,通过级联可扩展至64级。
⑵每一级均可通过编程实现屏蔽或开放。
⑶能向CPU提供相应的中断类型号。
⑷可通过编程选择不同的工作方式。
13:
重要的寄存器
中断请求寄存器(IRR):
用于寄存外部设备提出的中断请求,当IR0~IR7中任何一个变为高电平,IRR中的相应位置“1”。
中断服务寄存器(ISR):
用于寄存所有正在被服务的中断请求,8259A在接收到第一个信号后,使当前被响应的中断请求所对应的ISR置“1”,而相应的IRR复位。
在中断嵌套时,ISR中有多个位为“1”。
中断屏蔽寄存器(IMR):
用于寄存要屏蔽的中断。
某位为“1”,表示屏蔽相应中断请求,为“0”,表示开放相应中断请求。
14:
需要说明的引脚:
A0:
地址线,输入,在使用中8259A占用相邻两个端口地址,A0与配合,A0=1选中奇地址端口,A0=0选中偶地址端口。
在80X86的PC系列机中,主片8259A的端口地址为20H和21H。
CAS2~CAS0:
级联信号线,对主片8259A,它为输出;对从片8259A,它为输入。
主、从片8259A的CAS2~CAS0对应相连,主片8259A在第一个响应周期内通过CAS2~CAS0送出识别码,而和此识别码相符的从片8259A在接收到第二个信号后,将中断类型码发送到数据总线上。
INT:
中断请求信号,输出。
与CPU的INTR引脚连接。
:
中断响应信号,输入。
与CPU的引脚连接。
15:
8259A的工作方式
中断嵌套方式
(1)全嵌套方式。
全嵌套方式是8259A最常用的一种工作方式,中断优先级别固定,IR0最高,IR7最低。
当IRi中断请求响应时,相应的ISRi位置1,在中断服务过程中禁止同级和优先级低于本级的中断请求。
(2)特殊全嵌套方式。
特殊全嵌套方式与全嵌套方式基本相同,只是在特殊全嵌套方式下,可响应同级的中断请求。
特殊全嵌套方式一般用于8259A的级联情况。
循环优先方式
(1)优先级自动循环方式。
初始时,优先次序为IR0→IR7,IR0最高
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 复习 总结