微机原理期末复习Word文档格式.docx
- 文档编号:18025439
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:14
- 大小:258.79KB
微机原理期末复习Word文档格式.docx
《微机原理期末复习Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理期末复习Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
从功能上看,CPU可以分为哪两部分?
各负责什么工作?
有什么优点?
从功能上看8086CPU可分为两部分:
1)总线接口部件BIU——负责指令和操作数读及结果写。
2)执行部件EU——负责指令的执行。
两个部件独立地进行操作,即并行工作,使得取指令、分析指令和执行指令可以并行操作,提高了CPU的工作效率,加快了指令的执行速度。
问题6:
微型计算机由哪几部分组成?
简述各部分功能。
微型计算机系统主要由微处理器(CPU)、存储器、I/O接口和总线组成。
其中微处理器为微型计算机的核心,主要完成取指令、指令译码、简单的算术逻辑运算及程序控制等;
存储器主要用来存储程序和数据;
I/O接口用于外设与CPU之间的信息协调;
总线是CPU与存储器和I/O接口之间传送数据信息、地址信息和控制信息的通道。
问题7:
什么是指令?
什么是指令系统?
请说明指令系统在微机系统中重要性。
指令就是计算机执行某种操作的命令,指令系统是该计算机所以指令的集合,它是综合反映计算机性能的重要因素,不仅直接影响机器的硬件结构,而且影响机器的系统软件及机器的适用范围。
问题8:
什么是数据的寻址方式?
8086/8088的微机系统中有哪些数据寻址方式?
所谓数据的寻址方式就是寻找指令中所需操作数的方法。
寻址方式有:
隐含寻址,立即数寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址寻址。
问题9:
什么是中断类型码、中断向量、中断向量表?
在基于8086/8088的微机系统中,中断类型码和中断向量之间有什么关系?
处理机可处理的每种中断的编号为中断类型码。
中断向量是指中断处理程序的入口地址,由处理机自动寻址。
中断向量表是存放所有类型中断处理程序入口地址的一个默认的内存区域。
在8086系统中,中断类型码乘4得到向量表的入口,从此处读出4字节内容即为中断向量。
问题10:
什么叫中断?
请叙述中断向量号(中断类型)、中断向量表和中断服务程序入口地址三者的关系。
答:
中断——由请求中断的外部设备口向CPU提供中断向量,CPU根据这个向量到向量表中转换表跳转中查找中断服务程序入口地址,而转入不同的中断处理服务程序入口。
8088/8086可以处理256种向量中断,对每种中断都指定一个中断向量号代码,从0~255每一种中断向量号代码都可以与一个中断服务程序相对应。
中断服务程序放在存储区域内,而中断服务程序的入口地址存在内存储器中断向量表内,当CPU处理中断时,就需要指向中断服务程序入口地址,中断向量表是中断向量号与这相应的中断服务程序入口地址之间的转换表。
中断向量表占用存储器的最低地址区,因为每个中断向量号要占用4个字节单元。
8259A中断控制器的功能是什么?
8259A中断控制器可以接受8个中断请求输入并将它们寄存。
对8个请求输入进行优先级判断,裁决出最高优先级进行处理,它可以支持多种优先级处理方式。
8259A可以对中断请求输入进行屏蔽,阻止对其进行处理。
8259A支持多种中断结束方式。
8259A与微处理器连接方便,可提供中断请求信号及发送中断类型码。
8259A可以进行级连以便形成多于8级输入的中断控制系统。
二、指令改错
错误1:
存储器操作数之间不能直接传送
MOV[1000H],[DI]错
应改为MOVAX,[DI]
MOV[1000H],AX
错误2:
立即数不能直接传送段寄存器
MOVDS,2000H错
应改为MOVAX,2000H
错误3:
段寄存器之间不能直接传送
MOVES,DS错
应改为MOVBX,DS
MOVES,BX
错误4:
CS、IP、PSW只可以作为源操作数即不允许给CS、IP、PSW三个寄存器传送数据
MOVCS,AX错
MOVAX,CS对
错误5:
源操作数和目的操作数的宽度必须相同
MOVAL,050AH错
MOVAX,050AH对
错误6:
POP、PUSH指令不以字为操作数
POPDL错
错误7:
端口地址8位,超出范围
INAX,1234H
三、分析程序
例题1设初值为AX=1234H,BX=5678H,DX=0ABCDH,则下面一段程序:
MOVCL,4
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
执行后,请问AX=?
,BX=?
,DX=?
AX=2340HBX=5601HDX=BCD1H
例题2MOVAX,10
SALAL,1
MOVBX,AX
MOVCL,2
SALAL,CL
ADDAX,BX
执行后,AX为?
AX=100
例题3设初值(AX)=4321H,(DX)=8765H,则
MOVCL,04H
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
上述程序执行后(DX)=;
(AX)=
(DX)=7654H,(AX)=3210H
例题4假如在程序的括号中分别填入指令:
(1)LOOPL20
(2)LOOPNEL20(3)LOOPEL20
试说明在三种情况下,当程序执行完后,AX、BX、CX、DX四个寄存器的内容分别是什么?
CODESGSEGMENT
ASSUMECS:
CODESG,DS:
CODESG.SS:
CODESG
ORG100H
BEGIN:
MOVAX,01
MOVBX,02
MOVDX,03
MOVCX,04
L20:
INCAX
ADDBX,AX
SHRDX,1
()
RET
CODESGENDS
ENDBEGIN
(1)(AX)=5(BX)=16(CX)=0(DX)=0
2)(AX)=2(BX)=4(CX)=3(DX)=1
(3)(AX)=3(BX)=7(CX)=2(DX)=0
例题5以下程序实现的功能是什么20H*30H?
结果存放在哪里?
AX
START:
MOVAL,20H
MOVBL,AL
MOVAL,30H
MOVCL,AL
MOVAX,0
NEXT:
ADDAL,BL
ADCAH,0
DECCL
JNZNEXT
HLT
例题6:
若从NUM开始的存储区存放着ASCII码表示的字符串,指出下列程序的功能。
LEABX,NUM
MOVCX,100
LP:
MOVAL,[BX]
SUBAL,30H
CMPAL,0AH
JCL1
SUBAL,07H
L1:
MOV[BX],AL
INCBX
LOOPLP
HLT
四、编程题
例题1两个32位加数98765432H和8901FA45H分别存放在数据段内2000H单元和2004H单元,编程将两数相加,结果从2100H单元开始存放。
MOVAX,[2000H];
AX=5432H,被加数低16位
MOVBX,[2002H];
BX=9876H,被加数高16位
ADDAX,[2004H];
低16位相加,AX=4E77H
ADCBX,[2006H];
高16位及低16位的进位相加,BX=2178H
MOV[2100H],AX;
存低16位的和4E77H
MOV[2102H],BX;
存高16位的和2178H
MOVAX,0
ADCAX,0;
获得最高位的进位
MOV[2104H],AX;
存和的最高位
例题2计算(V-(X*Y+Z))/X,XYZV均为16位有符号数,要求商存入AX,余数存入DX
MOVAX,X;
X*Y
IMULY
MOVCX,AX
MOVBX,DX;
积存入BX,CX
MOVAX,Z
CWD;
Z扩展
ADDCX,AX
ADCBX,DX;
X*Y+Z
MOVAX,V
V扩展
SUBAX,CX
SBBDX,BX;
相减
IDIVX;
除以X
例题3用XLAT指令将BCD码0~9转换成对应的ASCII码,并将ASCII码存入ARRAY中。
例题4设在内存缓冲区中有一数据块BUF,存放着100名学生某门课程的考试成绩(满分为100分,最低为0分),求出成绩不低于90分以及成绩低于60分的学生个数,并将它们分别存于符号地址为GOOD和FAIL的2个内存单元中。
要求画出程序流程框图,编写完整的汇编语言源程序。
DATASEGMENT
BUFDB100DUP(?
)
GOODDB0
FAILDB0
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START
:
MOVAX,DATA
MOVDS,AX
MOVBX,OFFSETBUF
MOVCX,100
MOVDX,0
L1
MOVAL,[BX]
CMPAL,90
JBL2
INCDH
JMPL3
L2:
CMPAL,60
JAEL3
INCDL
L3:
INCBX
LOOPL1
MOVGOOD,DH
MOVFAIL,DL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
五、存储器
例题1图示为某CPU的最小系统和某存储芯片的框图,已知该CPU共有8位数据总线,最大可以访问1MB的存储空间,其内部结构与8086相同,请回答以下问题:
1、将图中CPU的相关信号线与存储器相连。
2、要求1#存储器的起始地址为32000H,2#存储器的起始地址为38000H,且各存储单元的地址唯一。
根据需要选择合适的门电路与138译码器一起完成译码,画出译码电路图。
3、编写程序片段把1#存储器内容的绝对值按顺序存储到2#存储器。
(1)正确连接CPU相关信号
(2)
3)程序片段(参考程序,不唯一)
MOVAX,3000H
MOVDS,AX
MOVSI,2000H
MOVDI,8000H
MOVCX,2000H
L1:
MOVAL,[SI]
CMPAL,0
JGEL2
NEGAL
L2:
MOV[DI],AL
INCSI
INCDI
LOOPL1
例题2
六、综合应用题
例题1.已知某8088微机系统包括8255、8253两个可编程接口电路。
其中8253三个计数器分别工作在不同的方式下,可以为A/D转换器提供可编程的采样频率和采样时间;
8255A的PB0可用于检测按键开关的位置,PB7可根据PB0的状态决定是否点亮LED指示灯。
设系统所要求有关硬件连线已经全部接好,如图所示。
试完成下列各项要求。
(1)分别列出8255A,8253各个端口的地址编码,其中片选信号
,
采用图2中的译码地址。
(2)根据图2所示8255A的A口和B口的连接方式,写出接口初始化程序片段。
(3)设计一个程序片段,使8255A监测PB0的输入状态,当PB0=1时使LED灯亮。
(1)8255的口地址码为08H,09H,0AH,0BH,8253的口地址码为0CH,0DH,0EH,0FH
(2)8255的初始化程序
MOVAL,10000010B
OUT0BH,AL
(3)8255检测到当PB0=1时点亮灯的程序片段
INAL,09H;
读B口状态
K1:
TEST01H;
测试PB0=1否
JZK1;
不为1,踏步
MOVAL,00H;
PB0=1,使PA0=0,点亮LED
OUT08H,AL
例题2图示为键盘电路,试编写8255初始化程序和键值读取程序,并将键值序号在LED七段数码管显示出来。
datasegment;
数据段中存放数字0~9的LED显示代码
leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7FH
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movdx,203h;
送8255工作方式字:
A口方式0输出,
moval,10001000b;
C口上半部输入,下半部输出
outdx,al
movcx,3;
准备键扫
moval,0feh;
送第一行扫描码:
PC0=0
movbh,-1;
BH=-1表示第一行无键按下
s_next:
movdx,202h;
从8255C口下半部送键扫描码
movbl,al
inal,dx;
从8255C口上半部读按键状态
andal,70h
cmpal,70h;
(AL)=70H表示无键按下
jnzdisp;
有键按下,转到显示处理
moval,bl
rclal,1
addbh,3;
准备检查第二行(PC1=0)键状态
loops_next
jmpexit
disp:
movcl,4;
根据AL值计算键值
shral,cl
nn:
incbh
rcral,1
jcnn
movah,0;
查表取键值显示码
moval,bh
movsi,ax
moval,led[si]
movdx,200h;
从8255A口送显示码,驱动LED显示
outdx,al
exit:
movax,4c00h;
退出
int21h
codeends
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 期末 复习