微机原理与汇编期末复习重点.docx
《微机原理与汇编期末复习重点.docx》由会员分享,可在线阅读,更多相关《微机原理与汇编期末复习重点.docx(17页珍藏版)》请在冰点文库上搜索。
微机原理与汇编期末复习重点
单选、填空(单选10个,20分;填空10个,20分)
1、8086通用寄存器?
P23
通用寄存器又称数据寄存器,主要用来保存算术或逻辑运算的操作数、中间运算结果。
当用作16位时,称为:
AX、BX、CX、DX;当用作8位时,AH、BH、CH、DH存放高字节,AL、BL、CL、DL存放低字节,并可独立寻址。
2、8086地址线、寻址范围?
P37
8086系统有20根地址线。
可供寻址范围0~220-1,其存储器的最大容量为1MB,对应的地址范围:
00000H~FFFFFH。
3、总线的分类?
P39
按总线内部信息传输的性质分类:
数据总线(DB)、地址总线(AB)、控制总线(CB)和电源总线(PB)。
按总线在系统结构中的层次位置分类:
片内总线、内部总线、外部总线
按总线的数据传输方式分类:
串行总线、并行总线
按总线的传输方向分类:
单向总线(地址总线)、双向总线(如数据总线)
4、寻址方式?
P67
8086系统中的操作数主要有3种:
立即数操作数,寄存器操作数和存储器操作数。
指令构成:
操作码+操作数。
立即寻址方式。
指令中包含操作数。
如:
MOVAX,12H
寄存器寻址方式。
操作数存在于指令规定的8位或16位寄存器中。
如:
MOVBX,AX
直接寻址方式。
是存储器直接寻址方式的简称,是一种针对内存的寻址方式。
指令代码中给出操作数的偏移地址,即有效地址(EA)。
默认情况下,操作数存放在数据段(DS)。
物理地址=16dx段地址(DS)+偏移地址(EA)。
如:
MOVAH,[3000H];将地址为DS:
3000H存储单元中的数复制到AX寄存器中。
当(DS)=5000H时,物理地址=16dx5000H+3000H=53000H,指令的执行结果(AX)=(53000H)(53001H)。
在汇编语言中,也可以用符号地址代替数值地址来表示有效地址。
如:
MOVAX,[A]
寄存器间接寻址方式。
对内存的寻址方式。
操作数的有效地址(EA)在指定的寄存器中,EA放在基址寄存器BX、BP或变址寄存器SI、DI中。
物理地址=16dx(DS)+(BX)/(DI)/(SI);
物理地址=16dx(SS)+(BP)。
如:
MOVAX,[BX];将地址为DS:
BX存储单元中的数复制到AX寄存器中。
变址寻址方式。
操作数的有效地址是变址寄存器(SI或DI)的内容与指令中指定的位移量的和。
即有效地址EA=[变址寄存器]+位移量。
物理地址=16dx(DS)+(SI)/(DI)+8位(16位)位移量
例如:
MOVAX,100H[SI];将地址为DS:
SI+100H存储单元中的数复制到AX
基址寻址方式。
操作数的有效地址是基址寄存器(BX或BP)的内容与指令中指定的位移量的和。
物理地址=16dx(DS)+(BX)/(BP)+8位(16位)位移量
例如:
MOVAX,10H[BX];将地址为DS:
BX+10H存储单元的数复制到AX寄存器
基址变址寻址方式。
有效地址EA=基址存储器+变址存储器,即两个寄存器中的内容之和为操作数的有效地址。
物理地址=16dx(DS)+(BX)+(SI)/(DI);例如:
MOVAX,[BX][SI]或MOVAX,[BX+SI]
物理地址=16dx(SS)+(BX)+(SI);物理地址=16dx(SS)+(BP)+(DI)
相对基址变址寻址方式。
操作数的有效地址是基址寄存器和变址寄存器以及8位(16位)的位移偏移量之和。
物理地址=16dx(DS)+(BX)+(SI)/(DI)+8位(16位)位移量
物理地址=16dx(SS)+(BP)+(SI)/(DI)+8位(16位)位移量
例如:
MOVAX,100H[BX+DI]或AX,[BX+DI+100H]
5、
(1)微操作、微指令?
P74
微指令:
数据传送类、算术运算类、逻辑运算类、移位类、串操作类、控制转移类和处理器控制类。
5、
(2)伪指令,伪操作P121
伪操作又称伪指令,它们不像指令那样在汇编时生成机器代码直接执行,而是在汇编程序对源程序汇编期间由汇编程序处理的操作。
例如:
完成处理器选择、定义程序模式、定义数据(如DBW10H)、分配存储区、定义段(ASSUMEDS:
DATA)以及定义过程等。
6、2114结构、基本容量、特征指标?
P160
Intel2114是一种1Kbx4的静态RAM存储器芯片。
芯片内部结构:
存储矩阵,共有4096个存储电路,排成64x64的矩阵形式;地址译码器,输入为10根线,采用二级译码方式,其中6根用于行译码,4根用于列译码;I/O控制电路,分为输入数据控制电路和列I/O电路,用于对信息的输入/输出进行缓冲和控制;片选及读/写控制电路,用于实现对芯片的选择及读/写控制。
外部结构:
A0-A9:
10个地址信号输入引脚。
WE:
读/写控制信号输入引脚。
I/O1--I/O4:
4个数据输入/输出信号引脚。
7、存储器片选信号的优缺点?
P183
(1)先选法。
优点:
线路简单,片选信号的产生不需要复杂的逻辑电路;
缺点:
把地址空间分成了相互隔离的区域,不能充分利用系统的存储空间。
故,这种方法适用于扩展容量较小的系统。
(2)部分译码法。
缺点:
存在地址重叠现象。
(3)全译码法。
优点:
可以使每片(或组)芯片的地址范围不仅是唯一确定的,而且是连续的,不会产生地址重叠现象。
缺点:
译码电路复杂,连线也比较多。
8、8259A(中断管理芯片)?
P221
8259A是可编程中断控制器芯片,用于管理和控制80x86的外部中断请求。
单片8259A可管理8级中断,若采用级联方式,可以用9片8259A构成两级中断机构,管理64级中断。
9、8255A?
P233
8255A是可编程并行接口(NMOS)芯片,又称可编程外围接口(ProgrammablePeripheralInterface,PPI),功能是,为86系列CPU与外部设备之间提供并行输入/输出通道。
有3个并行输入/输出端口:
端口A,端口B,端口C。
工作方式有3种:
方式0——基本输入/输出方式,方式1——选通输入/输出方式,方式2——双向传送方式(此方式A端口独有)。
10、DAC1210、ADC0809?
P264、P271、P272
DAC1210是一个12位的D/A转换器,24脚双列直插式封装,是电流型输出转换器,输入信号电平与TTL电平兼容。
DAC1210输入数据线的高8位DI11-DI4连到数据总线D7-D0,低4位DI3-DI0接到数据总线的D7-D4.
ADC0809是CMOS工艺制成的单片器件。
它有8个模拟量输入端(IN0-IN7),并且还设置1根地址锁存允许信号ALE。
ADC0809的分辨率为8位,有8路模拟信号进行转换。
11、加法带进位指令和减法带错位指令表示方法?
P85、P86
带进位的加法指令ADC:
指令格式,ADCOPRD1,OPRD2。
指令功能,将源操作数与目的操作数以及进位标志位CF的值相加,并将结果存放于目的操作数,即OPRD1+OPRD2+CF→OPRD1。
带错位减法指令SBB:
指令格式,SBBOPRD1,OPRD2。
指令功能,将目的操作数减去源操作数,在减去借位CF的值,结果存放于目的操作数。
即OPRD1-OPRD2-CF→OPRD1。
12、堆栈指针?
P78
栈指针SP始终指向堆栈的栈顶。
13、最常使用的软中断?
P214
软中断又称为内部中断。
最常使用的软中断,中断指令(如INTn)。
14、基址、变址寄存器?
P24
基址寄存器:
BX、BP。
变址寄存器:
SI、DI
15、8225的三种工作方式、特点?
8255A是可编程并行接口(NMOS)芯片,又称可编程外围接口(ProgrammablePeripheralInterface,PPI),功能是,为86系列CPU与外部设备之间提供并行输入/输出通道。
有3个并行输入/输出端口:
端口A,端口B,端口C。
工作方式有3种:
方式0——基本输入/输出方式,方式1——选通输入/输出方式,方式2——双向传送方式(此方式A端口独有)。
16、D/A,A/D的主要性能指标?
P261、P267
D/A(DigitaltoAnalog),将数字量转换成模拟量的过程。
数模转换。
通过数模转换器DAC完成这一转换。
A/D(AnalogtoDigital),将模拟量转换成数字量的过程。
模数转换。
通过模数转换器ADC完成之一转换。
衡量一个D/A转换器的性能指标:
分辨率,转换时间,精度(绝对精度、相对精度),线性误差和微分线性误差,电源敏感度,温度系数,输出电压一致性。
衡量一个A/D转换器的性能指标:
分辨率,精度(绝对精度、相对精度),速度。
17、衡量一个存储器的主要技术参数?
P157
(1)存储容量、
(2)存取速度、(3)可靠性、(4)功耗、(5)性能价格比。
18、机器数的特点是什么?
P9
机器数就是一个数在计算机中的表示形式,其特点是采用二进制记数制,数的符号用0、1表示,小数点则隐含表示而不占位。
19、汉字编码分为哪三种?
P11
汉字编码分为:
国标码、机内码和字形码。
20、指令的构成?
P66
每条符号指令都由操作码(地址码)和操作数两部分组成。
8086指令的一般格式如下:
操作码[操作数],[操作数]
21、有符号数和无符号数的溢出?
P85
有符号数的溢出:
OF=1,则溢出;无符号数的溢出:
CF=1,则溢出。
22、数据的传送方式?
P200
程序控制、中断和DMA(直接存储器存取)最常用,此外还包括通道和I/O处理机方式。
23、源程序的基本结构?
P134
程序基本结构形式有3种,顺序结构、分支结构、循环结构。
24、汇编中条件转移指令?
P104
结果为0(或相等)转移指令JZ(或JE)
结果不为0(或不相等)转移JNZ(或JNE)
低于(或不高于等于)转移指令JB(或JNAE,JC)
不低于(或高于等于)转移指令JNB(或JAE,JNC)
高于(或不低于等于)转移指令JA(或JNBE)
不高于(或不高于等于)转移指令JNA(或JBE)
小于(或不大于等于)转移指令JL(或JNGE)
不小于(或大于等于)转移指令JNL(或JGE)
大于(或小于等于)转移指令JG(或JNLE)
不大于(或小于等于)转移指令JNG(或JLE)
25、汇编中,哪些段寄存器是必须有的?
P24
代码段寄存器CS必须要有。
26、计算机的工作流程?
P18
取指令—>分析指令—>执行指令。
27、衡量总线的技术指标?
P41
总线时钟频率、总线宽度。
28、80386的组成部分?
P52
中央处理器部件(CPU)、存储管理器部件(MMU)和总线接口部件(BIU)。
29、物理地址与逻辑地址?
P38
逻辑地址:
由段地址和偏移量两部分组成。
物理地址:
存储单元的实际地址。
30、系统软件所提供的功能调用?
P130
一种称为DOS(DiskOperationSystem)功能调用(高级调用);
另一种称为BIOS(BasicInputandOutputSystem)功能调用(低级功能调用)
31、A/D的转化过程分哪四步?
P265
A/D转换包括采样、保持、量化和编码。
其他:
8086cpu分成两大独立功能部件,总线接口部件(BusInterfaceUnit,BIU)指令执行部件(ExecutionUnit,EU),8086的通用寄存器:
AX,BX,CX,DX,SP,BP,DI,SI。
其中BP,BX是基址寄存器,DI,SI是变址寄存器。
SP是堆栈寄存器,堆栈指针SP用以指出在堆栈段中当前栈顶的地址。
p23–p24
指令执行部件主要由算术逻辑运算单元(ALU),标志寄存器(FR),通用寄存器组和EU控制器组成。
主要功能是执行命令。
总线接口部件主要由地址加法器,专用寄存器组,指令队列缓冲器以及总线控制电路四个部件组成。
主要功能是负责完成CPU与存储器或I/O设备之间的数据传送。
BIU中的地址加法器将来自段寄存器的16位地址段首地址左移4位后与来自IP寄存器或EU提供的16位偏移地址相加,形成一个20位的实际地址(段首地址:
偏移地址为逻辑地址,实际地址为物理地址),对1MB的存储空间进行寻址。
8086系统的I/O组织:
8086系统和外部设备进行数据通信的连接电路叫做接口,这个接口就是I/O芯片上的一个或若干个端口。
每个端口都有独立的地址,分别对应芯片内部的一个寄存器或一组寄存器。
端口号取值范围:
0000H~FFFFH(64KB)。
p37
中断处理程序的入口地址又叫中断向量。
P214
简答题(5个,20分)
1、什么是存储器管理部件?
P53
答:
存储管理部件(MMU)是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器,物理存储器的控制线路,同时也负责将虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权。
2、MOV指令使用的主义方式(6点)?
P77
答:
1.两个操作数类型必须相同。
如movAH,BX应改为movAX,BX
2.不能用一条指令直接在两个存储器单元之间进行数据传递。
如mov[DI],[SI]应改为movAX,[SI]和mov[DI],AX
3.不能将立即数直接传送至段寄存器。
如movDS,1234H应改为movAX,1234H和movDS,AX
4.不能在段寄存器之间直接进行数据传递。
如movDS,SS应改为movAX,SS和movDS,AX
5.CPU在运行中,一般不直接修改CS和IP,即CS和IP不能作为目的操作数,但可以作为源操作数。
6.通常情况下,FLAGS整体不作为操作数(源或目的)。
3、DOS系统功能使用方法的步骤是什么?
P131
答:
AH←功能号
在其他寄存器中放入该功能所要求的入口参数
执行INT21H指令
④分析出口参数
4、TEST指令,功能的变化?
P95
答:
(1)指令格式:
TESTOPRD1,OPRD2
(2)指令功能:
对两个操作数指定的内容进行与操作,但不保留结果。
只是根据结果状态,对标志位进行置位。
由此可用TEST指令对指定的字节或字的对应位进行测试。
并根据测试结果进行不同的操作。
指令中用操作数2来指定测试的位。
(3)说明:
逻辑运算指令可以按位对字或字节执行逻辑运算。
NOT指令和其他4条指令中的DST不允许使用立即数。
其他4条指令除源操作数是立即数外,至少有1个操作数必须存放在寄存器中,另一个操作数则可以使用任意寻址方式。
NOT指令不影响标志位,其他4种指令将使CF和OF为0,AF位无定义,而SF,ZF,PF则根据运算结果设置。
5、什么是字扩展、位扩展和字位扩展?
P179、P180、P181
答:
(1)位扩展:
是指存储单元的字的个数保持不变,加大位长(即位数的扩充)。
(2)字扩展:
是指存储单元的位数保持不变,扩大字的数目。
(3)字位扩展:
同时扩展位数和字数,即在位方向上进行扩展,又在字方向上进行扩展。
6、什么是指令部件?
P22
答:
指令执行部件主要由算术逻辑运算单元(ALU)、标志寄存器(FR)、通用寄存器和EU控制器组成。
其主要功能是执行命令。
一般情况下指令顺序执行,EU可以不断地从BIU指令队列缓冲器中取得执行的指令,连续执行指令,而省去了访问存储器获取指令所需的时间。
7、BIU和EU?
P23
答:
总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列缓冲器以及总线控制电路四部分组成。
其主要功能是负责完成CPU与存储器I/O设备之间的数据传输。
指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器(FR)、通用寄存器和EU控制器组成。
其主要功能是执行命令。
8、寻址方式?
(重点,基址变址和相对基址变址)P67
答:
8086主要寻址方式有7种:
立即寻址方式,寄存器寻址方式,直接寻址方式,寄存器间接寻址方式,相对寄存器寻址方式,基址变址寻址方式和相对基址变址寻址方式。
基址变址寻址:
基址+变址,物理地址=16d×ds/ss+基址寄存器BX/BP+变址寄存器DI/SI
MOVAX,[BX][SI]或MOVAX,[BX+SI]
相对基址变址寻址方式:
基址+变址+位移量,物理地址=16d×ds/ss+BX/BP+DI/SI
MOVAX,100H[BX+DI]或MOVAX,[100H+BX+DI]
9、CMP和SUB异同?
P87,P86
答:
(1)相同点:
CMP和SUB都是双操作数指令,都是用目的操作数减去源操作数。
(2)不同点:
SUB指令,目的操作数减去源操作数,结果存放目的操作数。
而CMP指令,目的操作数减去源操作数,结果不保存,仅影响标志位。
10、什么是指令周期、总线周期、时钟周期,它们有什么关系?
P30
答:
指令周期:
一条指令从其代码被从内存单元中取到其所规定的操作执行完毕,所用的时间。
总线周期:
把CPU通过总线与内存或I/O端口之间,进行一个字节数据交换所进行的操作,所用的时间。
时钟周期:
时钟周期(又称为T状态)是微机系统工作中最小的时间单位。
它是基本定时脉冲的两个沿之间的时间间隔。
关系:
时钟周期是微机系统工作中最小的时间单位。
一个基本的总线周期由4个时钟周期组成。
指令周期的长度因指令的不同而不同。
11、虚拟缓存和高速缓存的异同?
P197
答:
(1)高速缓存器主要是为了提高存储速度,而虚拟存储器则主要为了扩展存储容量。
高速缓冲存储器采用与CPU速度匹配的快速存储元件弥补了主存和CPU之间的速度差距,而虚拟存储器则弥补了主存和辅存之间的容量差距,具有提供大容量和程序编址方便的优点。
(2)两个存储体系均以信息块作为存储层次之间基本信息的传送单位,但高速缓冲存储器每次传送的信息块是定长的,只有几十字节,而虚拟存储器信息块划分方案很多,有页、段等,长度均在几百至几百K字节左右。
(3)CPU访问快速高速缓冲存储器的速度比访问慢速主存快5-10倍。
虚拟存储器中主存的速度要比辅存缩短100-1000倍。
(4)主存-高速缓冲存储器存储体系中CPU与高速缓冲存储器和主存都建立了直接访问的通道。
一旦不命中时,CPU就直接访问主存并同时向高速缓冲存储器调度信息块,从而减少了CPU等待的时间。
而辅助存储器与CPU之间没有直接通路,一旦在主存不命中时,只能从辅存调块到主存。
因为辅存的速度相对CPU的差距太大,调度需要毫秒级时间,因此,CPU一般改换执行另一个程序,等到调度完成后才返回原程序继续工作。
(5)高速缓冲存储器存取信息的过程、地址变换和替换策略全部用硬件实现,对程序员是透明的。
而主存-辅存层次的虚拟存储器基本上就是由操作系统的存储管理软件并辅助一些硬件来进行信息块的划分和主存-辅存之间的调度,所以对设计存储管理软件的系统程序员来说,它是不透明的,而对广大用户,因为虚拟存储器提供了庞大的逻辑空间可以任意使用,所以对应用程序员是透明的。
12、DMA的传输步骤?
P211
答:
(1)当外设准备好可以进行DMA传送时,外设通过接口向DMA控制器发出DMA传送请求信号(DRQ)。
(2)DMA控制器收到请求后,向CPU发出总线请求信号(HOLD),申请占有总线。
(3)CPU在完成当前总线周期后会立即进行响应,CPU向DMA控制器发出总线响应信号(HLDA),然后CPU将数据引脚、地址引脚和相应的控制信号脚均置为高阻断状态,由此放弃对总线的控制权。
(4)DMA控制器收到HLDA信号后就开始控制总线,DMA控制器送出地址到内存。
(5)向外设接口发出DMA响应信号(DACK)。
(6)DMA控制器送出相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送。
(7)DMA控制器自动修改地址寄存器和字节计数器,并据此判断是否需要重复传送操作。
(8)规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。
CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一总线周期重新开始控制总线,继续执行原来的程序。
综合题(2个,30分)
四个汇编代码实验题(考一个原题),重点是最后一个和查表操作。
第二章、读写周期。
最大模式
存储器
8086编址、寻址范围
一个片选、连线、参看例题。
P184
查表操作代码:
DATASEGMENT
TABLEDB0,1,4,9,16,25,36,49,64,81
INPUTDB0DH,0AH,8DUP(20H),'PleasepresstheEnterkeytoexit!
OrInputanummble(0~9):
',0DH,0AH,'$'
;0D为回车符,0A为换行符,20H为空格符,这样使用,可使字符显示在一行的中间位置
OUTERRORDB0DH,0AH,8DUP(20H),'ERROR!
$';0DH为回车键
OVERDB0DH,0AH,8DUP(20H),'THANKS',0DH,0AH,'$'
ANSDB0AH,'THERESULTIS:
$'
RESULTDB?
;存放结果
DATAENDS
SSEGMENTSTACK;设置堆栈段,避免Link时的警告
SENDS
CODESEGMENT;代码段
ASSUMECS:
CODE,DS:
DATA,SS:
S
START:
MOVAX,DATA
MOVDS,AX
STA:
MOVAH,2
MOVDL,0DH
INT21H;输出回车符
LEADX,INPUT;输出提示信息,
MOVAH,9;9号功能是在屏幕上显示多于一个的字符串,但必须要以'$'作为结束标志.
INT21H
MOVAH,1;从键盘输入一个字符
INT21H
CMPAL,0DH;判断是否为回车键,若为则退出
JZEXIT
CMPAL,'0'
JBERROR;和数值0的ASCII码比较大小,若小于(JB),则转到ERROR处
CMPAL,'9'
JAERROR;和数值9的ASCII码比较大小,若大于(JA),则转到ERROR处
SUBAL,30H;由ASCII码转换成数值,或者用(ANDAL,0FH),以便后面查表使用
LEABX,TABLE;置数据指针,表的首地址置于BX中
XLAT;查表转换指令,表的首地址置于BX中,AL中存放查找对象在表中的下标,所查找到的类容存放在AL中
MOVRESULT,AL;保留一个结果的副本
MOVAH,0;将AH清零
MOVCH,0
MOVCL,10
DIVCL
MOVCH,AH;把余数送入CH中暂存
MOVCL,AL
CMPAL,0;将商与0相比较
JZNEXT1;商为零则跳转至NEXT1,只输出余数
JNZNEXT2;商不为零则跳转至NEXT2,输出商和余数
NEXT1:
;只输出余数
LEADX,ANS
MOVAH,9
INT21H
MOVAL,CH
ADDAL,30H
MOVDL,AL
MOVAH,2
INT21H;输出余数
JMPSTA;循环
NEXT2:
;输出余数和商
LEADX,ANS
MOVAH,9
INT21H
MOVAL,CL
ADDAL,30H;不为零则将数字转换成字符
MOVDL,AL
MOVAH,2
INT21