微机原理复习范围.docx
- 文档编号:9706254
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:17
- 大小:41.54KB
微机原理复习范围.docx
《微机原理复习范围.docx》由会员分享,可在线阅读,更多相关《微机原理复习范围.docx(17页珍藏版)》请在冰豆网上搜索。
微机原理复习范围
微机原理
填空,选择,判断35分,问答45,编程20
第一章
图1-5微型计算机的结构
课后题1-5试从微型计算机的结构说明数据总线,控制总线和地址总线的作用.
第二章
P12—13总线接口部件执行部件
P16
P48
课后题:
2-18086的总线接口部件各由哪几部分组成?
请逐一说明其功能。
答:
总线接口单元BIU由段寄存器、指令指针寄存器、指令队列、地址加法器以及总线控制逻辑组成。
总线接口单元BIU负责CPU与存储器、I/O接口之间的信息传送。
8086的指令队列长度为6字节。
2-2段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时指令的物理地址为多少?
指向这一物理地址的CS值和IP值是惟一的吗?
【解】指令的物理地址=12000H+FF00H=2lF00H
物理地址是CPU存取存储器所用的地址。
逻辑地址是段和偏移形式的地址,即汇编语言程序中使用的存储器地址。
物理地址可以对应于不同的逻辑地址,指向这一物理地址的CS值和IP值不是惟一的
2-38086的执行部件有什么功能?
由哪几部分组成?
答:
8086的执行部件由算术逻辑单元ALU(运算器)、通用寄存器、标志寄存器和EU控制器等组成。
8086的执行部件EU负责指令的执行,EU在工作时不断地从指令队列取出指令代码,对其译码后产生完成指令所需要的控制信息。
数据在ALU中进行运算,运算结果的特征保留在标志寄存器FLAGS中。
2-8
2-13什么叫中断向量?
它放在哪里?
对应于1CH的中断向量在哪里?
如1CH中断程序从5110H:
2030H开始,则中断向量应怎样存放?
答:
中断向量是中断处理子程序的入口地址,它放在中断向量表中,由1ch*4=70h知中断向量存放在0000:
0070处。
由于中断处理入口地址为5110:
2030所以0070H,0071H,0072H,0073H这四个单元的值分别为30H,20H,10H,51H。
第三章
课例:
课例5;程序模板
SSEGSEGMENTPARASTACK'stack'
dw100hdup(0);初始化堆栈大小为100
SSEGENDS
DSEGSEGMENT
org1000H;数据段:
在此处添加程序所需的数据
mem1db'abcdefghijklmnopqrstuvwxyz'
DSEGENDS
ESEGSEGMENT
mem2db100dup(0);附加段:
在此处添加程序所需的数据
ESEGENDS
CSEGSEGMENT
assumecs:
CSEG,ds:
DSEG,es:
ESEG,ss:
SSEG
MAINPROCFAR;主程序入口
movax,dseg
movds,ax
movax,eseg
moves,ax
;此处添加主程序代码
leabx,mem1;movbx,offsetmem1
moval,3
xlat
movdl,al
movah,2
int21h
;按任意键退出
movah,1
int21h
movax,4c00h;程序结束,返回到操作系统系统
int21h
MAINENDP
CSEGENDS
ENDMAIN
课例6
stacksegmentparastack
dw64hdup(?
)
stackends
data1segment
Xdw5
Ydw6
Zdw7
Wdw?
data1ends
codesegment
assumecs:
code,ss:
stack,ds:
data1
start:
movax,data1
movds,ax
movax,X
addax,Y
adcax,Z
movW,ax
movax,4c00h;程序结束,返回到操作系统系统
int21h
codeends
endstart
课例16
;程序模板
SSEGSEGMENTPARASTACK'stack'
dw100hdup(0);初始化堆栈大小为100
SSEGENDS
DSEGSEGMENT
org1000h
memdb'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
addrdw?
numdw0
;数据段:
在此处添加程序所需的数据
DSEGENDS
ESEGSEGMENT
;附加段:
在此处添加程序所需的数据
ESEGENDS
CSEGSEGMENT
assumecs:
CSEG,ds:
DSEG,es:
ESEG,ss:
SSEG
MAINPROCFAR;主程序入口
movax,dseg
movds,ax
moves,ax
xorax,ax
;此处添加主程序代码
leadi,mem
movcx,30
moval,'D'
cld
repnescasb
jzfound
movdl,'N'
jmpdone
found:
decdi
movaddr,di
subdi,1000h
movnum,di
movdl,'Y'
done:
movah,02h
int21h
;按任意键退出
movah,1
int21h
movax,4c00h;程序结束,返回到操作系统系统
int21h
MAINENDP
CSEGENDS
ENDMAIN
课例19
;程序模板
SSEGSEGMENTPARASTACK'stack'
dw100hdup(0);初始化堆栈大小为100
SSEGENDS
DSEGSEGMENT
org1000H;数据段:
在此处添加程序所需的数据
mem1db'IamaHPUstudent!
','$'
org2000h
mem2db100dup(0)
DSEGENDS
CSEGSEGMENT
assumecs:
CSEG,ds:
DSEG,es:
DSEG,ss:
SSEG
MAINPROCFAR;主程序入口
movax,dseg
movds,ax
moves,ax
;此处添加主程序代码
leasi,mem1
leadi,mem2
movcx,20
cld
repmovsb
leadx,mem2
movah,9
int21h
;按任意键退出
movah,1
int21h
movax,4c00h;程序结束,返回到操作系统系统
int21h
MAINENDP
CSEGENDS
ENDMAIN
课例27
;程序模板
STACKSEGMENTPARASTACK'STACK'
DW100DUP(0);初始化堆栈大小为100
STACKENDS
DATESEGMENT
TRANDB0DH,0AH,'Thetransformedbinaryis:
',0DH,0AH,'$'
DATEENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATE,SS:
STACK
MAINPROCFAR;主程序入口
MOVAX,DATE
MOVDS,AX
MOVBX,0
MOVCH,4
MOVCL,4
INPUT:
SHLBX,CL
MOVAH,01H
INT21H
CMPAL,39H;大于9则转移
JAAF
ANDAL,0FH
JMPBINARY
AF:
ANDAL,0FH
ADDAL,09H
BINARY:
ORBL,AL
DECCH
JNZINPUT;转换完成二进制数在BX中
LEADX,TRAN
MOVAH,9
INT21H;显示字符串
DISPB:
MOVCX,10H;显示二进制数
DISP:
MOVDL,0
ROLBX,1
RCLDL,1
ADDDL,30H
MOVAH,2
INT21H
LOOPDISP
MOVAH,1
INT21H
MOVAH,4CH;程序结束,返回到操作系统系统
INT21H
RET
MAINENDP
CODEENDS
ENDMAIN
课后题
3-3现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。
答案:
(1)MOVAX,1200H;1200H
(2)MOVAX,BX;0100H
(3)MOVAX,[1200];4C2AH
(4)MOVAX,[BX];3412H
(5)MOVAX,1100[BX];4C2AH
(6)MOVAX,[BX][SI];7856H
(7)MOVAX,1100[BX][SI];65B7H
3-11已知程序段如下:
MOVAX,1234H
MOVCL,4
ROLAX,CL
DECAX
MOVCX,4
MULCX
INT20H
试问:
(1)每条指令执行完后,AX寄存器的内容是什么?
(2)每条指令执行完后,进位、符号和零标志的值是什么?
(3)程序结束时,AX和DX的内容是什么?
答案:
指令本条指令执行完后AX的内容执行完后CF,SF,ZF的值
MOVAX,1234H1234H000
MOVCL,41234H000
ROLAX,CL2341H100
DECAX2340H100
MOVCX,42340H100
MULCX8D00H010
INT20H
程序结束后,(AX)=8D00H (DX)=0000H
3-23试编写一程序段,要求在长度为100H字节的数组中,找出大于42H的无符号数的个数并存入字节单元UP中,找出小于42H的无符号数的个数并存入字节单元DOWN中。
答案:
假设数组名为NUMBERS,程序如下
MOVBX,0;后面用到
MOVCX,100H;把循环次数放入CX
MOVAL,42H
MOVSI,0;初始化SI
;CHECK用来实现查找功能
CHECK:
CMPAL,NUMBERS[SI]
INCSI
JBSTORE1;大于42H的数的个数存入UP
JASTORE2;小于42H的的数的个数存入DOWN中
LOOPCHECK;相等继续循环~
JMPEXIT
STORE1:
INCBL;找到一个大于42的数,BL值增加1
MOVUP,BL
LOOPCHECK
STORE2:
INCBH
MOVDOWN,BH
LOOPCHECK
EXIT:
……
第四章
课后题
4-4假设程序中的数据定义如下:
PARTNODW?
PNAMEDB16DUP(?
)
COUNTDD?
PLENTHEQU$-PARTNO
问PLENTH的值为多少?
它表示什么意义?
[解]:
PLENTH的值为22,GE表示该数据段的长度
4-6对于下面的数据定义,三条MOV指令分别汇编成什么?
(可用立即数方式表示)
TABLEADW10DUP(?
)
TABLEBDB10DUP(?
)
TABLECDB'1234'
......
MOVAX,LENGTHTABLEA
MOVBL,LENGTHTABLEB
MOVCL,LENGTHTABLEC
[解]:
分别汇编成为:
MOVAX,0AH
MOVBL,0AH
MOVCL,1
4-13试编写一个汇编语言程序,要求从键盘上接受一个四位的16进制数,并在终端上显示出于与它等值的二进制数。
STACKSEGMENTPARASTACK'STACK'
DW100DUP(0);初始化堆栈大小为100
STACKENDS
DATESEGMENT
TRANDB0DH,0AH,'Thetransformedbinaryis:
',0DH,0AH,'$'
DATEENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATE,SS:
STACK
MAINPROCFAR;主程序入口
MOVAX,DATE
MOVDS,AX
MOVBX,0
MOVCH,4
MOVCL,4
INPUT:
SHLBX,CL
MOVAH,01H
INT21H
CMPAL,39H;大于9则转移
JAAF
ANDAL,0FH
JMPBINARY
AF:
ANDAL,0FH
ADDAL,09H
BINARY:
ORBL,AL
DECCH
JNZINPUT;转换完成LEADX,TRAN
MOVAH,9
INT21H;显示字符串
DISPB:
MOVCX,10H;显示二进制数
DISP:
MOVDL,0
ROLBX,1
RCLDL,1
ADDDL,30H
MOVAH,2
INT21H
LOOPDISP
MOVAH,1
INT21H
MOVAH,4CH;程序结束,INT21H
RET
MAINENDP
CODEENDS
ENDMAIN
与课件例27同
第五章
图5-1存储器分类表
课后题
5-4什么是存储器访问的局部性?
研究和讨论这一现象有什么意义?
答:
微机系统进行信息处理的过程就是执行程序的过程,这时,CPU需要频繁地与内存进行数据交换,包括取指令代码及数据的读写操作。
通过对大量典型程序的运行情况分析结果表明,在一个较短的时间内,取指令代码的操作往往集中在存储器逻辑地址空间的很小范围内(因为在多数情况下,指令是顺序执行的,因此指令代码地址的分布就是连续的,再加上循环程序段和子程序段都需要重复执行多次,因此对这些局部存储单元的访问就自然具有时间上集中分布的倾向);数据读写操作的这种集中性倾向虽不如取指令代码那么明显,但对数组的存储和访问以及工作单元的选择也可以使存储器单元相对集中。
这种对局部范围的存储器单元的防问比较频繁,而对此范围以外的存储单元访问相对甚少的现象,称为程序访问的局部性。
(可概括简写)
基于程序执行的两个特征(局部性原理):
–程序访问的局部性:
过程、循环、子程序。
–数据存取的局部性:
数据相对集中存储。
存储器的访问相对集中的特点使得我们可以把频繁访问的指令、数据存放在速度非常高(与CPU速度相当)的SRAM——高速缓存CACHE中。
需要时就可以快速地取出。
5-6存储器体系为什么采用分级结构?
主要用于解决存储器中存在的哪些问题?
答:
按在微机系统中位置分,存储器(分为主存储器(内存)、辅助存储器(外存)、缓冲存储器等,主存储器又称为系统的主存或者内存,位于系统主机的内部,CPU可以直接对其中的单元进行读/写操作;辅存存储器又称外存,位于系统主机的外部,CPU对其进行的存/取操作,必须通过内存才能进行;缓冲存储器位于主存与CPU之间,其存取速度非常快,但存储容量更小,可用来解决存取速度与存储容量之间的矛盾,提高整个系统的运行速度。
第六章
课后题6-1
6-2
6-4
6-6
第七章
课后题
7-1什么是中断?
简述一个中断的全过程。
解:
所谓中断,是指在CPU执行程序的过程中,由于某些紧急事件发生,向CPU提出申请,CPU停止当前正在执行的程序,转去执行处理紧急事件的程序,待处理完紧急事件后,再返回接着执行刚才被停止执行的原程序。
中断的全过程主要分为5个步骤,即:
(1)中断请求。
外设在需要时向CPU的INTR端发出一个高电平有效的中断请求信号。
(2)中断判优。
若IF=l,则识别中断源并找出优先级最高的中断先源予以响应,在其处理完后,再响应级别较低的中断源的请求。
(3)中断响应。
中断优先级确定后,发出中断的中断源中优先级别最高的中断请求就被送到CPU的中断。
(4)中断处理。
(5)中断返回。
中断返回需执行中断返回指令IRET,其操作正好是CPU硬件在中断响应时自动保护断点的逆过程。
即CPU会自动地将堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处继续往下执行。
7-3
7-6
第八章
课后题
8-28255A有哪几种工作方式?
各用于什么场合?
端口A、端口B、端口C各可以工作于哪几种工作方式?
答:
方式0:
基本输入输出方式,适用于与简单外设传送数据(如开关/发光二极管等)和查询方式的接口电路(一般PA或PB数据口,而PC做成状态口)。
方式1:
选通输入输出方式,其不宜适用于与单向传送数据的外设(如键盘/打印机等),适用于查询和中断方式的接口电路
方式2:
双向选通传送方式,适用于与双向传送数据的外设(如硬盘/软盘/光盘等),适用于查询和中断方式的接口电路
端口A可工作于方式0,方式1,方式2;端口B可工作于方式0,方式1;端口C只可工作于方式0。
8-19串行通讯与并行通讯的主要区别是什么?
各有什么特点?
(这个问题书上写的都是“串行通信”和“并行通信”,“通讯”和“通信”不知道是不是一个概念,请老师给一下答案吧!
)
谢谢老师!
!
答:
这里是一个概念。
串行通信是在单条1位宽的导线上将二进制数的各位一位一位地按顺序分时传送。
用于通信的线路少,因而在远距离通信时可以极大地降低成本,串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送。
并行通信是把一个字符的数位用几条线同时进行传输,在相同传输率的情况下.它能够提供高速、高信息率的传输。
适合于近距离传输。
多数设备与微机总线都是通过并行方式进行通信的,例如:
显示器、打印机、硬盘、CD—ROM、扫描仪等等。
8-12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 复习 范围