微机原理复习分解.docx
- 文档编号:17394322
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:20
- 大小:966.69KB
微机原理复习分解.docx
《微机原理复习分解.docx》由会员分享,可在线阅读,更多相关《微机原理复习分解.docx(20页珍藏版)》请在冰点文库上搜索。
微机原理复习分解
微机原理复习题
1、了解8086CPU的结构,由哪2部分组成,有什么功能?
数据线有多少位?
地址线有多少位?
寻址空间是多少?
了解14个寄存器的名称,存储器分段的概念,段的最大长度是多少?
物理地址,偏移地址的概念,会计算物理地址.
答:
总线接口部件BIU(功能:
地址形成,取指令,指令排队,读、写操作数和总线控制)
指令执行部件(功能:
完成指令译码和执行指令的工作)
数据线有16位
地址线有20位
寻址空间是1MB
(1)通用寄存器
AH&AL=AX:
累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,
所有的I/O指令都使用这一寄存器与外界设备传送数据.
BH&BL=BX:
基址寄存器,常用于地址索引;
CH&CL=CX:
计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环
和串处理指令中用作隐含的计数器.
DH&DL=DX:
数据寄存器,常用于数据传递。
他们的特点是,这4个16位的寄存器可以分为高8位:
AH,BH,CH,DH.以及低八位:
AL,BL,CL,DL。
这2组8位寄存器可以分别寻址,并单独使用。
(2)指针寄存器和变址寄存器
SP(:
堆栈指针,与SS配合使用,可指向目前的堆栈位置;
BP:
基址指针寄存器,可用作SS的一个相对基址位置;
SI:
源变址寄存器,可用来存放相对于DS段之源变址指针;
DI:
目的变址寄存器,可用来存放相对于ES段之目的变址指针。
这4个16位寄存器只能按16位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数的有效地址。
(3)段寄存器(SegmentRegister)
CS:
代码段寄存器;
DS:
数据段寄存器;
SS:
堆栈段寄存器;
ES:
附加段寄存器;
(4)指令指针和标志位寄存器
IP:
指令指针寄存器
PSW;标志位寄存器
存储器分段的概念
所谓分段,就是可以根据需要把1M字节地址空间划分为若干逻辑段。
每个逻辑段必须满足如下两个条件:
1.逻辑段的开始地址必须是16的倍数,因为段寄存器长为16位;
2.逻辑段的最大长度为64K,因为指针寄存器长为16位。
那么1M字节地址空间最多可划分成64K个逻辑段,最少也要划分成16个逻辑段。
逻辑段与逻辑段可以相连,也可以不相连,还可以部分重叠。
这种存储器分段的方法不仅有利于实现寻址1M字节空间,而且也十分有利于对1M字节存储空间的管理。
段的最大长度为64k
物理地址:
是指存储单元的实际地址,是一个20位的无符号数。
偏移地址:
相对段地址的偏移量,也称有效地址EA.
物理地址=段值*10H+段内偏移
2、状态标志寄存器9个标志位的含义,有几个控制标志,有几个状态标志?
会根据指令运行结果对CF,ZF作出判断.
答:
有3个控制标志,有6个状态标志
进位标志位:
CF最高位;1(是)0(否)
奇偶标志位:
PF;1(偶)0(奇)
低8位1的个数为偶时为1辅助进位标志位:
AF低4位向高4为有进位时
1(是)0(否)
零标志位:
ZF;1(是)0(否)
符号标志位:
SF(负/正);1(是)0(否)
溢出标志位:
OF结果超出有符号数补码表示的范围时为1
跟踪标志位:
TF单步中断方式逐条检查;1单步运行;0连续运行
方向标志位:
DF1(减量)0(增量)
中断允许标志位:
IF为1时CPU可以响应可屏蔽中断(INTR)请求
1(允许)0(关闭)
3.、了解寻址方式的含义,能指出指令中源及目的操作数的寻址方式,能进行寄存器间接寻址的寄存器有哪几个?
答:
寻址方式:
寻找操作数地址的方法
1、立即寻址
操作数(为一常数)直接由指令给出(此操作数称为立即数)
立即寻址只能用于源操作数
例:
MOVAX,1C8FH
MOVBYTEPTR[2A00H],8FH
错误例:
×MOV2A00H,AX;错误!
指令操作例:
MOVAX,3102H;AX3102H
执行后,(AH)=31H,(AL)=02H
2、寄存器寻址
(1)操作数放在某个寄存器中
(2)源操作数与目的操作数字长要相同
(3)寄存器寻址与段地址无关
例:
MOVAX,BX
MOV[3F00H],AX
MOVCL,AL
错误例:
×MOVAX,BL;字长不同
×MOVES:
AX,DX;寄存器与段无关
3、直接寻址
(1)指令中直接给出操作数的16位偏移地址偏移地址也称为有效地址(EA)
(2)默认的段寄存器为DS,但也可以显式地指定其他段寄存器——称为段超越前缀
(3)偏移地址也可用符号地址来表示,如ADDR、VAR
例MOVAX,[2A00H]
MOVDX,ES:
[2A00H]
MOVSI,TABLE_PTR
4、间接寻址
l操作数的偏移地址(有效地址EA)放在寄存器中
l只有SI、DI、BX和BP可作间址寄存器
l例:
MOVAX,[BX]
MOVCL,CS:
[DI]
错误例:
×MOVAX,[DX]
×MOVCL,[AX]
5、直接变址寻址
lEA=间址寄存器的内容加上一个8/16位的位移量
l例:
MOVAX,[BX+8]
MOVCX,TABLE[SI]
MOVAX,[BP];默认段寄存器为SS
l指令操作例:
MOVAX,DATA[BX]
若(DS)=6000H,(BX)=1000H,DATA=2A00H,
(63A00H)=66H,(63A01H)=55H
则物理地址=60000H+1000H+2A00H=63A00H
指令执行后:
(AX)=5566H
6、基址变址寻址
l若操作数的偏移地址:
由基址寄存器(BX或BP)给出——基址寻址方式
由变址寄存器(SI或DI)给出——变址寻址方式
由一个基址寄存器的内容和一个变址寄存器的内容相加而形成操作数的偏移地址,称为基址-变址寻址。
EA=(BX)+(SI)或(DI);
EA=(BP)+(SI)或(DI)
同一组内的寄存器不能同时出现。
注意:
除了有段跨越前缀的情况外,当基址寄存器为BX时,操作数应该存放在数据段DS中,当基址寄存器为BP时,操作数应放在堆栈段SS中。
例MOVAX,[BX][SI]
MOVAX,[BX+SI]
MOVAX,DS:
[BP][DI]
错误例:
×MOVAX,[BX][BP]
×MOVAX,[DI][SI]
指令操作例:
MOVAX,[BX][SI]
假定:
(DS)=8000H,(BX)=2000H,SI=1000H
则物理地址=80000H+2000H+1000H=83000H
指令执行后:
(AL)=[83000H]
(AH)=[83001H]
7、相对基址变址寻址
l在基址-变址寻址的基础上再加上一个相对位移量
EA=(BX)+(SI)或(DI)+8位或16位位移量;
EA=(BP)+(SI)或(DI)+8位或16位位移量
指令操作例:
MOVAX,DATA[DI][BX]
若(DS)=8000H,(BX)=2000H,(DI)=1000H,DATA=200H
则指令执行后(AH)=[83021H],(AL)=[83020H]
寄存器间接、寄存器相对、基址变址、相对基址变址四种寻址方式的比较:
寻址方式指令操作数形式
⏹寄存器间接只有一个寄存器(BX/BP/SI/DI之一)
⏹寄存器相对一个寄存器加上位移量
⏹基址—变址两个不同类别的寄存器
⏹相对基址-变址两个不同类别的寄存器加上位移量
4.了解堆栈的概念,堆栈操作时SP的变化.
答:
按“后进先出(LIFO)”方式工作的存储区域。
堆栈以字为单位进行压入弹出操作。
规定由SS指示堆栈段的段基址,堆栈指针SP始终指向堆栈的顶部,SP的初值规定了所用堆栈区的大小。
堆栈的最高地址叫栈底。
1、汇编语言中,进行压栈操作,ss段寄存器(ss段选择子)的值不会随sp(ESP/RSP)的改变而改变。
2、在实模式或虚拟8086模式,压栈操作是压入两个字节数据,SP==SP-2.
3、在32位保护模式,压栈操作是压入四个字节数据,ESP==ESP-4
4、例如同样是PUSHES指令,在实模式或虚拟8086模式,SP==SP-2.,而在32位保护模式,ESP==ESP-4
5、在64位模式,在默认操作数大小是64位时,PUSHFS指令,RSP==RSP-8
5、了解总线的概念,标号的属性.会根据伪指令画出数据的存储形式图。
答:
总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。
总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。
在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。
标号具有三种属性
1.段值:
标号所在段的段基址
2.段内偏移地址:
标号地址与所在段的段首址之间的偏移地址字节数
3.类型:
标号的类型属性指在转移指令中标号可转移的距离,也称距离属性
DB :
定义字节,即每个数据是 1 个字节。
DW :
定义字,即每个数据占 1 个字 (2 个字节 ) 。
DD :
定义双字,即每个数据占 2 个字。
低字部分在低地址,高字部分在高地址。
DQ :
定义 4 字长,即每个数据占 4 个字。
· DT :
定义 10 个字节长,用于压缩式十进
制数
6、了解汇编源程序翻译成目标代码的软件是什么?
答;汇编程序,是把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。
汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。
7、CPU复位后从什么地址开始执行指令?
答:
FFFF:
FFF0
8、了解常用指令的功能及使用方法.
指令
MOVADDSUBANDORXORNOTTESTCMPINCDECLEALOOPINOUTnDUP(0)DBDWEQUJZJMPCLISTICLDSTDHLT
1.数据传送指令MOVdst,src
将ac中的数值传送到mem中,如:
Mov Ax, 6BH,意思将十六进制数6B放到Ax中
2.传送偏移地址指令;LEAdst,src
将SRC的有效地址送到DST中
3.输入、输出指令:
IN.OUT
4.加法指令:
ADDdst,src
带进位加法指令:
ADCdst,src(CF也要加)
加1指令:
INCdst
5.减法指令:
SUBdst,src
带借位减法指令:
SBBdst,src(也要减CF)
减1指令:
DECsrc111求补指令:
NEGsrc(0减src)
6.比较指令:
CMPdst,src(相减但不送回目的操作数,结果都不变)
7.复制指令:
nDUP(0)
把括号里的东西复制n次
8.DB:
是定义字节型的数据
9.DW:
定义字类型数据
10.EQU:
符号名EQU表达式
左边的符号名表示右边的表达式
11.JZ ;为 0 则跳转
12.CLI:
是关中断,防止有些硬件中断对程序的干扰
13.STI:
是开中断,允许硬件中断
14.CLD与STD是用来操作方向标志位DF
CLD使DF复位即DF=0,STD使DF置位即DF=1,用于串操作中
15.HLT是处理器控制指令,功能为:
HLT执行操作后,使机器暂停工作,使处理器CPU处于停机状态,以等待一次外部中断到来,中断结束后,程序继续执行,CPU继续工作
16.逻辑运算:
逻辑与:
ANDdst,src
逻辑或:
ORdst,src
非:
NOTdst
异或:
XORdst,src
测试:
TESTdst,src(测试判断某些位知否同时为0)
17.串操作指令:
串传送指令:
MOVS/W
串比较指令:
CMPSB/W
串搜索指令:
SCASB/W
取串指令:
LODS/W
存串指令:
STOSB/W
重复前缀指令:
REPSOPR重复执行REP指令后紧跟着的一个串操作指令,知直到CX寄
存器中的值为0REPE/REPZ执行REPE/REPZ后紧跟的一个串操作指令,当相等、为0时重复,直到CX=0/ZF=0REPNE/REPNZ执行REPNE/REPNZ后紧跟的串操作指令当不为0、不相等时重复,直到CX=0/ZF=0
18.转移指令:
段内直接转移指令:
JMPSHOR标号(IP=IP+8位移量)
JMPNEARPTR标号(IP=IP+16位移量)
无条件段内间接转移:
JMPOPRD
(IP)←OPRD
无条件段内直接转移:
JMPFARPTR标号
无条件段间间接转移:
JMPDWORDPTROPRD
循环控制指令:
LOOPOPRD(CX=CX-1,若CX≠0则循环
LOOPNZ/LOOPEOPRD(CX=CX-1,若CX≠0ZF=0则循环)
LOOPZ/LOOPEOPRD
9、了解接口的概念,了解接口的信号分类及接口的编址方式。
答:
微机接口是微处理器CPU与“外部世界”的连接电路,是CPU与外界进行信息交换的中转站。
外部世界:
除CPU本身以外的所有设备或电路,包括存储器、I/O设备、控制设备、测量设备、通讯设备、多媒体设备等。
1)数据信号
如:
8位、16位、32位数据;
2)状态信号
表示外设是否准备好信号。
如:
READY、BUSY、ACK
3)控制信号
表示启动、停止外设之类的信号
I/O端口的编址方式:
1)I/O端口的统一编址
2)I/O端口的独立编址
10、了解74LS138芯片的作用,工作条件及输入输出关系,会根据存储器连接图写出地址范围,会计算芯片数。
例:
1.已知某系统用四片2114组成的2k*8存储器如图所示,试分析;
1)7LS138是什么芯片?
其正常工作的条件是什么?
2)组成的前后1k存储器的地址范围各是多少?
解;
1)38译码器将数字信号转换成控制信号
74LS138为三输入八输出的译码器,用来产生存储器芯片组的片选信号
工作条件:
A15=1,A14=0,A13=0
2)
2.用6116(2kx8)和6264(8kx8)分别组成64kx8的存储器,各需多少芯片?
地址需要多少位作为片内地址选择段?
最少需要多少位地址作为芯片组选择端?
解:
1)公式:
总芯片数=分组数x片数
分组数=64k/2k=32组
片数/组=8/8=1
总芯片数=32x1=32片
2)因为2的11次方=2042=2k
所以片内地址选择线为11根
3)2的16次方=64k
所以16—11=5
2的5次方=32
所以芯片组选择线需要5根
3.某外设接口电路的状态端口地址为80H,数据端口地址为88H,假如外设“数据准备好”信号设置在状态端口的D6位,D6=1表示输入数据准备好,设计查询式输入程序,输入一个字节数据,并存放在内存2000H单元。
(10分)
NEXT:
INAL,80H
TESTAL,40H
JZNEXT
INAL,88H
MOV[2000H],AL
HLT
4.*阅读下列程序段并说明程序的功能是什么?
并指出程序执行后ANS单元的内容。
(15分)
DATASEGMENT
BUFDB56H,18H,01H,86H,37H
ANSDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
STARTPROCFAR
BEGIN:
MOVAX,DATA
MOVDS,AX
LEASI,BUF
MOVCX,04H
MOVAL,[SI]
DONE:
INCSI
CMPAL,[SI]
JCNEXT
MOVAL,[SI]
NEXT:
LOOPDONE
MOVANS,AL
MOVAH,4CH
INT21H
STARTENDP
CODEENDS
ENDBEGIN
*从BUF开始的内存单元的连续5个数中找出最小数,将其送ANS单元。
(ANS)=01H
5.已知静态存储器(RAM)2147芯片的地址线为12位,数据线有一条,试计算:
1、2147芯片的存储容量有多大?
2、若用2147芯片组成4K×8的存储器,共需几片2147?
3、若改用1K×4的2114RAM芯片组成上述存储器,需用几片2114?
程序段分析:
MOVAX,7568H
ADDAX,3456H
MOVBX,1000H
ANDAX,BX
XORAX,BX
NOTAX
CMPAX,BX
求AX=?
BX=?
*MOVAX,1230H
ADDAX,4567H
MOVBX,8300H
ANDAX,BX
XORAX,BX
NOTAX
TESTAX,BX
上述程序执行后,AX为多少?
BX为多少?
.
.
LPDB‘Howareyou?
’,’$’
.movcx,3
DONE:
MOVAH,9
INT21H
LoopDONE
6.阅读下列程序段并说明程序的功能是什么?
并指出程序执行后MMM单元的内容。
(14分)
DATASEGMENT
TABDB57H,38H,99H,57H,88h
MMMDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
BEGIN:
MOVAX,DATA
MOVDS,AX
LEASI,TAB
MOVCX,04H
MOVAL,[SI]
DONE:
INCSI
CMPAL,[SI]
JAENEXT
MOVAL,[SI]
NEXT:
LOOPDONE
MOVMMM,AL
MOVAH,4CH
INT21H
CODEENDS
ENDBEGIN
7.阅读程序,回答问题。
(6分)
ORG1000H
BUFDB?
LEAAX,BUF
MOVCX,AX
NEXT:
ADDAX,1
LOOPNEXT
变量BUF的偏移地址为。
程序段执行后,(AX)=?
8.分析下面程序段,回答问题。
(6分)
MOVBX,CX
NOTBX
ADDBX,CX
INCBX
程序段执行后,问(BX)=?
ZF=?
9.执行下列指令后,AX寄存器中的内容是什么?
(5分)
STARTDW10H,20H,30H,40H,50H
EE1DW3
MOVBX,OFFSETSTART
ADDBX,EE1
MOVAX,[BX]
(AX)=3000H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 复习 分解