微机原理复习171.docx
- 文档编号:29033143
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:43
- 大小:240.03KB
微机原理复习171.docx
《微机原理复习171.docx》由会员分享,可在线阅读,更多相关《微机原理复习171.docx(43页珍藏版)》请在冰豆网上搜索。
微机原理复习171
微机原理复习
1.微型计算机结构(3总线结构:
地址总线、数据总线、控制总线)
Ø8086CPU具有20条地址线,可直接寻址1MB容量的内存空间,在访问I/O端口时,使用地址线16条,最多可寻址64K个I/O端口。
2.8086内部组成,BIU和EU的功能及各自的组成,熟知相应寄存器、功能部件在哪个接口部件中。
vEU负责指令的执行;
◆算术逻辑单元(ALU),可完成8位或16位操作数进行算术或逻辑运算;
◆8个16位通用寄存器(AX、BX、CX、DX、SI、DI、SP和BP);
◆标志寄存器;
vBIU负责CPU与存储器、I/O设备之间的数据传送。
◆4个16位段寄存器(DS、CS、ES、SS);
8086中有4个16位段寄存器,它们是:
CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)和ES(附加段寄存器)
◆指令指针寄存器(IP);
指令指针寄存器IP提供下一条要取出的指令所在存储单元的16位偏移地址。
◆20位的地址加法器;
Ø解释逻辑地址、偏移地址、有效地址、物理地址的含义,8086存储器的物理地址是如何形成的?
怎样进行计算?
【解答】逻辑地址:
表示为段地址:
偏移地址,书写程序时用到,一个存储单元可对应出多个逻辑地址;
段地址说明逻辑段在主存中的起始位置,段地址是无符号的16位二进制数,存放在段寄存器DS、CS、SS或ES中
偏移地址:
是某一存储单元距离所在逻辑段的开始地址的字节个数。
有效地址:
是指令中计算出的要访问的存储单元的偏移地址。
物理地址:
是CPU访问存储器时用到的20位地址,是存储单元的唯一的编号。
物理地址计算公式:
物理地址=段地址×10H+有效地址(或偏移地址)
Ø假设(CS)=FE00H,(IP)=0400H,那么下一条要取出的指令所在内存单元的20位物理地址PA=FE00H×10H+0400H=FE400H。
Ø在内存中保存有一个程序段,其位置为(CS)=33A0H,(IP)=0130H,当计算机执行该程序段指令时,分析实际启动的物理地址是多少。
【解答】逻辑地址(CS):
(IP)=33A0H:
0130H,计算出对应物理地址PA=(CS)×10H+(IP)=33A0H×10H+0130H=33B30H
◆6字节指令队列缓冲器;
3.8086的寄存器结构
寄存器是CPU内部用来存放地址、数据和状态标志的部件,8086有14个16位寄存器和8个8位寄存器
v数据寄存器AX、BX、CX、DX
◆4个16位的寄存器:
AX、BX、CX、DX;
◆8个8位的寄存器:
AH、AL、BH、BL、CH、CL、DH、DL;
v指针和变址寄存器SP、BP、SI、DI
◆EU中有2个地址指针寄存器SP、BP和2个变址寄存器SI、DI。
用法如下表所示:
◆SP:
保存堆栈栈顶偏移地址,与SS配合来确定堆栈在内存中的位置。
◆BP:
①保存16位数据
②保存堆栈段内存储单元的偏移地址。
v标志寄存器FR
Ø8086的标志寄存器分为6个状态标志位和3个控制标志位,它们各自的含义和作用是什么?
4.8086的存储器采用奇偶存储体结构,数据在内存中的存放规定是低字节存放在低地址中,高字节存放在高地址中,以低地址为字的地址,规则字是指低字节地址为偶地址的字,非规则字是指低字节的地址为奇地址的字。
Ø若已知CS=52FAH,IP=1083H,则下一条要执行指令的物理地址为。
A、54033HB、54023HC、53023HD、53023H
Ø8086的存储器空间最大可以为多少?
怎样用16位寄存器实现对20位地址的寻址?
完成逻辑地址到物理地址转换的部件是什么?
Ø已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,DS段有一操作数,其偏移地址=0204H,
1)画出各段在内存中的分布
2)指出各段首地址
3)该操作数的物理地址=?
5.状态标志寄存器的状态标志位的含义。
P33
Ø设SP=0016H,若向堆栈中存入1个数据,则SP的值为。
A、0015HB、0014HC、0017HD、0018H
6.8086CPU经加电复位后,CS寄存器的内容是(FFFFH),IP寄存器的内容是(0000H)
第三章
1.在8086CPU数据寻址方式中,基址变址寻址中的基址寄存器可以为(BX或BP);变址寄存器可以为(SI或DI)
2.计算机指令码由操作码字段和操作数字段两部分组成。
3.寻址方式的概念,7种与数据相关的寻址方式,那种寻址方式速度最快?
操作数存放的地方:
●指令中直接给出
●存放在寄存器中
●存放在内存中
●存放在外部端口中
4.存储器寻址方式EA和PA的计算。
分别指出下列指令中源操作数的数据寻址方式。
(1)ORAX,DX
(2)MOVDI,200
(3)MOVDI,[200]
(4)MOVAX,[SI]
(5)ADDAX,6[SI]
(6)MOVCX,[BX][SI]
(7)MOVCX,6[BX][SI]
5.汇编指令的功能、执行过程及相关指令对CF、SF、OF、ZF标志位的影响。
其中:
NOT指令不影响标志位,INC,DEC不影响CF标志位;熟知有符号、无符号比较指令的不同;哪些指令的执行对堆栈有影响(如:
CALL、RET、IRET、INT等)。
哪些指令的执行使IP跳变
下面指令执行后,改变AL寄存器内容的指令是。
A、TESTAL,02HB、ORAL,AL
C、CMPAL,BLD、ANDAL,BL
6.通用数据传送指令
◆传送指令
◆MOV
◆堆栈操作指令
堆栈操作指令中操作数的类型只能是字,不能是字节。
◆换码指令
格式一:
XLAT
◆输入/输出指令
输入指令
格式一:
INAL,端口地址
格式二:
INAX,端口地址
格式三:
INAL,DX
格式四:
INAX,DX
输出指令
格式一:
OUT端口地址,AL
格式二:
OUT端口地址,AX
格式三:
OUTDX,AL
格式四:
OUTDX,AX
◆取有效地址指令LEA
例如,设DS=2100H,BX=100H,SI=10H,(DS:
110H)=1234H,则指令:
LEABX,[BX+SI]
执行后,(BX)=(BX)+(SI)=110H。
◆字节转换为字指令
格式:
CBW
◆比较指令
格式:
CMPdest,src
◆逻辑测试指令
格式:
TESTdest,src
◆DOS功能调用
单个字符输入
功能调用号AH=01H
例如:
MOVAH,01H
INT21H
以下那个说法正确。
A、指令MOVAL,[BX+5]中的源操作数的寻址方式是寄存器间接寻址。
B、指令MOVAL,[BX+SI]中的源操作数的寻址方式是基址变址寻址。
C、指令MOVAL,[BX+SI+5]中的源操作数的寻址方式是相对的寄存器间接寻址。
D、指令MOVAL,[1000H]中的源操作数的寻址方式是立即寻址。
在循环(LOOP)指令中,用作计数器的寄存器是。
A、AX B、BX C、CX D、DX
下面指令执行后,改变AL寄存器内容的指令是。
A、TESTAL,02HB、ORAL,AL
C、CMPAL,BLD、ANDAL,BL
条件转移指令JNZ的条件是。
A.、CF=0B、CF=1C、ZF=0D、ZF=l
执行下面指令序列后,结果是。
MOVAL,82H
CBW
A、AX=0FF82H B、AX=8082H C、AX=0082HD、AX=0F82H
利用INT21H调用DOS功能,向屏幕上输出一个字符串。
执行INT21H之前,AH应当赋值为。
A、1B、5C、8D、9
若寄存器AX、BX、CX、DX的内容分别为18,19,20,21,依次执行PUSHAX,PUSHBX,POPCX,POPDX指令后,寄存器CX的内容为。
A、18B、19C、20D、21
与MOVBX,OFFSETVAR指令完全等效的指令是。
A、MOVBX,VAR B、LDSBX,VAR
C、LESBX,VAR D、LEABX,VAR
第四章
1.熟知数据定义、段定义、过程定义、明确段与段寄存器建立关系(ASSUME)、源程序结束(END)等伪操作指令;熟知利用“$”自动计算数据个数的方法。
2.伪指令中,可以用来定义字节变量(8位)的是(DB),定义字变量(16位)的是(DW)
例、某数据段定义如下,试列出经汇编后,各存储单元的内容是什么?
COUNT值是多少?
BUF1的偏移地址是多少?
ORG0100H
BUF1DB10H,20H
DW30H
COUNTEQU$–BUF1
ORG0100H表示下面的数据从0100H单元开始存放,$存储单元的当前地址
010010HBUF1表示DB定义的第一个数的地址
010120H
010230H
010300H
0104($的当前地址)COUNT=0104H-0100H=4
且段寄存器DS已初始化为该数据段的段基址(假设段基址为1234H)。
请指出以下指令执行后,相应的寄存器中的内容。
(1)MOVAL,BUF1;(AL)=?
(2)MOVBX,BUF2;(BX)=?
(3)MOVCX,COUNT;(CX)=?
(4)MOVDX,OFFSETBUF1;(DX)=?
(5)MOVSI,SEGBUF2;(SI)=?
3.熟知完整汇编程序的书写格式,两种返回DOS的方法(掌握其中之一);P124
4.简述汇编语言的上机过程。
(1)编写汇编语言源程序,源程序的扩展名为.asm;
(2)用汇编程序masm将源程序汇编成目标程序,目标程序的扩展名为.obj;
(3)用Link软件将目标程序连接成扩展名为.exe可执行文件;
(4)用debug调试及执行.exe文件
5.汇编程序编程
完整结构
DATASEGMENT;数据段定义
。
。
。
。
。
DATAENDS
CODESEGMENT;代码段定义
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX;初始化DS
。
。
。
。
。
。
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
熟练掌握字符的统计、大小写字母的转换等基本算术逻辑运算的方法,会编写具有顺序、分支、循环结构的汇编语言程序。
●键盘输入字符、显示字符
◆通过调用DOS中断(INT21H)的1号功能,把输入字符的ASSIC码存人AL寄存器
MOVAH,01H
INT21H
◆通过调用DOS中断(INT21H)的2号功能,把DL寄存器中放存的ASSIC码值对应的字符在屏幕上显示
MOVDL,要显示的字符的ASSIC码值
MOVAH,02H
INT21H
●对内存中的字符处理
Ø对内存单元进行访问
例:
编写完整汇编语言源程序实现以下功能:
已知在内存中有两个无符号字节数X1与X2,比较X1和X2的大小,把较大的数存入MAX单元。
数据段定义如下:
●从内存单元读数据
MOVAX,X1
●比较大小
用CMP,然后根据标志位用转移指令JCC如:
CMPAL,0,
JA大于零的程序代码段标号
无符号数JA、JB
有符号数JG、JL
DSEGSEGMENT
X1DB25H
X2DB55
MAXDB?
DSEGENDS
CODESEGMENT;代码段定义
ASSUMECS:
CODE,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX;初始化DS
MOVAL,X1
MOVBL,X2
CMPAL,BL
JAL;转向把AL送MAX单元的代码
MOVMAX,BL
JMPEXIT
L:
MOVMAX,AL
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
●对内存中的字符串处理
Ø字符个数确定
例:
试编写程序将String中的大写字母转换为小写字母,字符串的长度为N。
(要求编写完整汇编语言源程序)
LEASI,STRING
MOVCX,N
AGAIN:
MOVAL,[SI]
INC[SI]
LOOPAGAIN
DSEGsegment
StringDB‘ASSEMBLYLANGUAGEandINTERFACINGFourthEdition’
NEQU$-String
DSEGENDS
CODESEGMENT;代码段定义
ASSUMECS:
CODE,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX;初始化DS
LEASI,STRING
MOVCX,N
AGAIN:
MOVAL,[SI]
CMPAL,‘A’
JBNEXT
CMPAL,‘Z’
JANEXT
ADDAL,20H
NEXT:
INC[SI]
LOOPAGAIN
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
编写完整汇编语言源程序实现以下功能:
已知在内存中从STRING单元起存放有1000个带符号字节数据,统计其中‘$’字符的个数并放入COUNT单元。
DSEGsegment
StringDB‘ASSEMBLYLANGUAGEandINTERFACINGFourthEdition’
COUNTDW?
DSEGENDS
CODESEGMENT;代码段定义
ASSUMECS:
CODE,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX;初始化DS
MOVBX,0
LEASI,STRING
MOVCX,1000
AGAIN:
MOVAL,[SI]
CMPAL,‘$’
JNZNEXT
INCBX
NEXT:
INC[SI]
LOOPAGAIN
MOVCOUNT,BX
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
Ø以指定字符结尾的字符串
自STRING单元开始有一个以“$”结尾的字符串,试编写完整的汇编语言源程序,实现统计字符串STRING中大写字母‘A’的个数,结果存入RESULT单元。
LEASI,STRING
AGAIN:
MOVAL,[SI]
CMPAL,‘$’
JZEXIT
INC[SI]
JMPAGAIN
EXIT:
第五章
1.8086的工作模式
▪最小模式,引脚接地,则8086处在最大模式
▪最大模式.引脚连电源(+5V),则8086处在最小模式;
2.8086的分时复用
低16位地址/数据的复用引脚线,采用法来实现对地址线和数据线的复用
3.时钟周期、总线周期、指令周期的概念
计算机的“时钟”是由振荡源产生的、幅度和周期不变的节拍脉冲,每个脉冲周期称为时钟周期;把CPU通过总线进行某种操作的所需要的时间称为总线周期。
执行一条指令所需要的时间称为指令周期
Ø什么是总线周期?
8086CPU的读/写总线周期各包含多少个时钟周期?
什么情况下需要插入等待周期TW,什么情况下会出现空闲状态TI?
【解答】8086CPU经外部总线对存储器或I/O端口进行一次信息的输入或输出过程所需要的时间,称为总线周期。
8086CPU的读/写总线周期通常包括T1、T2、T3、T4状态4个时钟周期。
在高速的CPU与慢速的存储器或I/O接口交换信息时,为了防止丢失数据,会由存储器或外设通过READY信号线,在总线周期的T3和T4之间插入1个或多个必要的等待状态TW,用来进行必要的时间补偿。
在BIU不执行任何操作的两个总线周期之间会出现空闲状态TI。
Ø在8086/8088CPU中,一个最基本的总线读写周期由4个时钟周期(T状态)组成,在T1状态,CPU往总线上发信息。
A、数据 B、地址 C、状态 D、其它
Ø8088/8086的基本总线周期由个时钟周期组成。
A、2B、4C、5D、6
4.8086/8088相关引脚功能及作用(ALE、
、
、NMI、INTR、
、M/
、MN/
、AD0~AD15)。
5.复位后寄存器的值(如IP、CS)(P209表5.2)。
6.MOV、IN、OUT指令执行时,
、
、M/
的电平情况
Ø若8086CPU引脚状态是M/
=1,
=1,
=0,则此时执行的操作是存储器写。
()
Ø当8088CPU工作于最小模式、进行存储器写操作时,。
A、IO/M为高电平,#WR为高电平
B、IO#M为高电平,#WR为低电平
C、IO/#M为低电平,#WR为高电平
D、IO/#M为低电平,#WR为低电平
第7章存储器
1、半导体存储器按存储信息的特性可分为RAM和只读存储器ROM两类。
1)RAM分为SRAM和DRAM。
DRAM靠分布电容存储信息,为保证DRAM中内容不丢失,由DRAM构成的存储器所存储的信息需要定时刷新。
2)ROM分为:
掩模ROM;PROM(一次可编程只读存储器);EPROM(紫外线擦除可编程只读存贮器);E2PROM(电可擦除可编程只读存储器)
Ø芯片断电后所存的信息不会改变和消失的存储器是ROM。
ROM不需要定时刷新。
3、常用静态RAM、ROM芯片以及它们的容量,能根据芯片容量判断地址线、数据线的根数。
4、存储器与系统的连接
(包括地址线、数据线、控制线的连接,特别是片选信号的产生);
ØCPU对存储器进行读/写操作时,如:
(ds)=1000HMOVAL,[0000H]
●首先由地址总线给出地址信号10000H,通过译码电路选中物理地址为10000H的存储单元;
●然后要对存储器发出读操作的控制信号;
●物理地址为10000H的存储单元把存储的内容送数据总线;
●最后CPU把数据总线上的数据送入AL寄存器;
Ø存储器与系统之间通过AB、DB及有关的控制信号线相连接
5、存储器设计
该类题主要是给出地址,设计电路(包括地址线、数据线、控制线的连接,特别是片选信号的产生)
vROM接口电路
【例6-1】设计一ROM扩展电路,容量为32K字,地址从00000H开始。
EPROM芯片采用27256。
8086系统的存储器分为奇存储体、偶存储体(8086系统将1M地址空间分成两个512K地址空间,一半是偶数地址另一半是奇数地址,相应的存储体称为偶体和奇体,偶体和奇体的地址线都是19位)
目的:
可以16位访问,也可8位访问
●数据线
将数据总线的低8位D7~D0与偶体相连,高8位D15~D8与奇体相连
●控制线
◆8086系统(最大模式)
、
◆8086系统(最小模式)
、
、M/
(
要作为片选控制信息线)
◆ROM没有写信号线
●地址线
偶体和奇体的地址线都是19位,地址总线的A19~A1与这两个存储体的19条地址线A18~A0相连。
用A0作偶体的选中信号,作奇体的选中信号
19条地址线分为两个部分,其中低位地址线直接作为芯片地址信号线(片内地址),其余高位地址线通过译码电路(方法一:
用三八译码器;方法二:
用逻辑门)接芯片片选信号
◆片内地址线数根据芯片容量确定(如1k容量10根地址线)
◆译码电路的设计根据给出的地址要求
例1:
试使用62256和27128,在8086最小系统中设计具有64KB的RAM和32KB的ROM,RAM地址从00000H开始,ROM地址从A0000H开始。
要求:
1)单片存储器RAM和ROM的容量分别是多少?
2)画出数据线、地址线和控制线的连线并注明符号名称;
试使用62256和27128,在8086最大系统中设计具有64KB的RAM和32KB的ROM,RAM地址从10000H开始,ROM地址从F0000H开始。
要求:
1)单片存储器RAM和ROM的容量分别是多少?
2)画出数据线、地址线和控制线的连线并注明符号名称;
3)根据需要可以添加部分逻辑器件;
4)要求线路清晰、准确,使用的符号标准规范。
第七章
1、I/O端口有哪两种编址方式?
在8086系统中,采用哪种方法?
【解答】I/O端口有两种编址方式:
统一编址和独立编址。
统一编址方式是将I/O端口与内存单元统一起来进行编号,即包括在1MB的存储器空间中,看作存储器单元,每个端口占用一个存储单元地址。
独立编址的端口单独构成I/O地址空间,不占用存储器地址。
在8086系统中,采用I/O端口独立编址
v8086中,有专门的指令来访问I/O接口,如输入指令IN,输出指令OUT
ØCPU执行OUTDX,AL指令时,的值输出到地址总线上。
A、AL寄存器B、DL寄存器C、AX寄存器D、DX寄存器
Ø8086/8088指令OUT 80H,AL表示。
A、 将80H送给AL B、将80H端口的内容送给AL
C、将AL的内容送给80H端口 D、将AL内容送给80H内存单元
2、简述I/O接口的主要功能
对输入输出数据进行缓冲和锁存;对信号的形式和数据的格式进行变换;对I/O端口进行寻址;提供联络信号。
3、CPU与外设数据传输的方式:
程序方式(有条件、无条件)、中断方式、DMA方式及各自的特点(优缺点)。
Ø如果要控制的外部设备是8个发光二极管,应选用的输入输出方法最好是。
A、无条件传递方式B、查询传送方式
C、中断传送方式D、DMA传送方式
4、CPU与外设之间通过接口传输的信息通常有哪几种?
CPU与I/O设备之间传输的信息可分为数据信息、状态信息和控制信息三类。
5、CPU与外设之间的通过接口交换信息,通常I/O端口有哪几类?
数据端口,状态端口,控制端口
第八章
1.简述中断处理过程。
一个完整的中断处理的过程应包括中断请求、中断判优、中断响应、中断处理(或中断服务)、中断返回5个基本阶段。
2.80X86中断系统的类型(内部中断、外部中断及各自的组成)及它们的优先级;
Intel80X86系列可以处理256种中断源,每个中断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 复习 171
![提示](https://static.bdocx.com/images/bang_tan.gif)