微机原理期末考试总复习题Word文档下载推荐.docx
《微机原理期末考试总复习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理期末考试总复习题Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
6、8086M/IO、
、QS0,QS1、信号线的功能各是什么?
M/IO---存储器/IO访问控制,=1,CPU访问存储器,=0,CPU访问I/O
:
等待测试信号
QS0,QS1:
指令队列状态指示信号
7、8086CPUALE信号线的功能是什么?
8086CPUDEN信号线的功能是什么?
ALE:
地址锁存器输入允许信号
DEN:
数据收发器允许信号
8、8086CPU信号线READY的功能是什么?
在何时何条件可插入TW?
答:
READY的功能是等待就绪信号,用于慢速的部件与CPU的速度协调,在慢速的部件不能在规定的时间内完成操作时可产生READY=0,CPU检测后可在T3与T4之间插入等待时钟TW
9、8086CPU最小、最大方式时用于总线请求、允许的信号线各是什么?
最小:
HOLD---总线请求,HLDA---总线响应
最大RQ/GT0、RQ/GT1
10、8086CPU信号线RESET的功能是什么?
RESET有效后8086CPU有何状态?
内部寄存器的值各为多少?
8086CPU从什么单元中取第一条指令执行。
RESET—复位信号输入
RESET有效后内部寄存器的状态是:
DS、SS、ES、FR、IP=0000H,CS=FFFFH,指令队列清空,复位后从CS*10H+IP=FFFFH*10H+0000H=FFFF0H地址单元中取第一条指令执行启动系统。
11、8086CPU的最大、最小方式用什么引脚如何设置?
最大、最小系统构成时有何不同?
8086CPU的最大、最小方式用MN/
引脚设置。
---P39
12、8086CPU一个基本的总线周期由哪几个时钟周期组成?
各时钟周期可完成哪些操作?
总线传送一次数据分为哪二个阶段?
8086CPU一个基本的总线周期由T1、T2、T3、T4共4个基本时钟周期组成。
总线传送一次数据分为传送地址和传送数据二个阶段,TI时刻:
CPU输出地址信息,
T2—T4时刻:
CPU传送数据信息,
第三章
1、8086CPU有哪几种数据寻址方式,掌握数据各种寻址方式的寻址过程,要求会求指令的寻址方式?
会求有效地址EA=?
会求物理地址=?
主要有:
指令的物理地址=CS*10H+IP
堆栈栈顶物理地址=SS*10H+SP
源串物理地址=DS*10H+SI,
目的串物理地址=ES*10H+DI
数据直接寻址:
MOVAL,[1000H];
EA=1000H,物理地址=DS*10H+1000H
寄存器间接寻址:
MOVAL,[BX]或[SI]或[DI];
EA=BX或SI或DI,物理地址=DS*10H+BX或SI或DI
基址寻址:
MOVAL,DISP[BX];
EA=BX+DISP,物理地址=DS*10H+BX+DISP
MOVAL,DISP[BP];
EA=BP+DISP,物理地址=SS*10H+BP+DISP
基址变址寻址:
MOVAL,[BX+SI或DI];
EA=BX+SI或DI,物理地址=DS*10H+BX+SI或DI
MOVAL,[BPSI或DI];
EA=BP+SI或DI,物理地址=SS*10H+BP+SI或DI
变址寻址:
MOVAL,DISP[SI];
EA=SI+DISP,物理地址=DS*10H+SI+DISP
MOVAL,DISP[DI];
EA=DI+DISP,物理地址=DS*10H+DI+DISP
相对基址变址寻址:
MOVAL,DISP[BX+SI或DI];
EA=BX+SI或DI+DISP,物理地址=DS*10H+BX+SI或DI+DISP
MOVAL,DISP[BPSI或DI];
EA=BP+SI或DI+DISP,物理地址=SS*10H+BP+SI或DI+DISP
2、8086CPU有哪几种转移寻址方式,段内、段间转移有何不同?
掌握转移各种寻址方式的寻址过程。
与转移地址有关的寻址方式:
段内相对寻址、段内间接寻址、段间直接寻址、段间间接寻址。
段内相对寻址:
段内短转—转移的偏移地址=IP+disp8
段内进转—转移的偏移地址=IP+disp8
段内间接寻址:
寄存器间接—转移的偏移地址=reg(reg为AX、BX、CX、DX、SP、BP、SI、DI)
存储器间接—转移的偏移地址=(EA)(EA为数据寻址方式寻址单元,为字单元)
例:
已知BX=3500H,DS=2000H.(23500H)=4500H,(23502H)=2000H
JMPBX;
段内寄存器间接,IP=3500H
JMPWORDPTR[BX];
段内存储器间接,IP=(2000H*10H+3500H)=4500H
段间直接转:
JMPL:
IP=转移指令的第2、3字节,CS=转移指令的第4、5字节
段间存储器间接转:
JMPDWORD[BX]:
IP=(2000H*10H+3500H)=4500H
CS=(2000H*10H+3500H+2)=2000H
3、掌握8086CPU以下指令:
MOV、PUSH/POP、LEA、ADD、ADC、SUB、SBB、INC、DEC、NEG、CMP、DAA、MUL、DIV、AND、OR、NOT、XOR、SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、MOVS、CMPS、STOS、LODS、SCAS、REP、条件转移类、LOOP、CALL、RET、CLD、STD
对给出的指令,要求会分析指令是否正确。
4、掌握运算指令执行后产生标志状态CF、ZF、SF、OF的方法。
CF=D7C(加)CF=D7C(减)---求机器负数后的补码加
ZF=D7+D6+…..+D0
SF=最高位
OF=D7D6……….D0
5、掌握可以实现清寄存器同时又清进位位、溢出标志的操作指令。
可以实现的指令有(设清累加器AX)
XORAX,AX;
AX=0,CF=0,OF=0
SUBAX,AX;
AX=0,CF=0,OF=0
ANDAX,0;
AX=0,CF=0,OF=0
MOVAX,0;
AX=0,CF、OF不确定
6、设AX=865AH,BX=CB75H,则指令“ADDAX,BX”执行后,产生的标志位是怎样的?
:
1000011001011010
+1100101101110101
10101000111001111
CF=1(有进位)SF=0(结果为正)ZF=0(结果非零)OF=1(结果有溢出)
AF=0(无进借位)PF=0(奇数个1)
7、数据传送指令(MOV)使用有哪些规定?
允许reg←reg例:
MOVAX,BX
允许reg←mem例:
MOVAX,[BX]
允许reg←data例:
MOVAX,2500H
允许reg←sreg例:
MOVAX,CS
允许mem←reg例:
MOV[BX],AX
允许mem←data例:
MOV[BX],2500H
允许mem←sreg例:
MOV[BX],CS
允许sreg←reg(除CS外)例:
MOVDS,BX
不允许:
mem←mem例:
MOV[SI],[BX]
不允许sreg←data例:
MOVDS,2500H
不允许sreg←sreg例:
MOVDS,CS
不允许CS做目的寄存器,例:
MOVCS,BX
不允许类型不匹配,例:
MOVAL,BX
8、REPZ、REPNZ指令,重复执行的终止条件是什么?
REPZ:
CX=0或ZF=0REPNZ:
CX=0或ZF=1
9、标志状态CF、ZF、SF、OF在编程中各有和用途?
CF:
用于反映加减运算后是否有进借位,CF=0无进借位,CF=1有进借位
可用于判定无符号数相加后是否产生溢出,CF=0无溢出,CF=1有溢出
可用于判定无符号数比较大小
CF=0:
无符号数A与B比较后说明A≥B
CF=1:
无符号数A与B比较后说明A<
B
ZF:
用于反映算逻运算后结果是否为0,ZF=0(结果非0),ZF=1(结果为0)
SF:
用于反映算逻运算后结果的正负,SF=0(结果为正),SF=1(结果为负)
OF:
用于反映带符号数算术运算后结果是否有溢出,OF=0(结果无溢出),OF=1(结果有溢出)
用OFSF=0A>B,OFSF=1A<B
10、如何实现两个16位寄存器的内容移位操作,移位可实现何种运算?
如何实现DX、AX中的无符号数乘2、除2操作。
解:
乘2SHLAX,1
RCLDX,1
除2SHRDX,1
RCRAX,1
11、已知IP,CS,位移量,要求会求执行JMP指令后的转移地址?
已知CS=5000H,IP=2500H,DISP8=F5H,求下指令执行后的转移地址。
JMPSHORTL;
IP=2502H+FFF5H=24F7H,执行后的转移地址=5000H:
24F7H
已知CS=5000H,IP=2500H,DISP16=0015H,求下指令执行后的转移地址。
JMPL;
IP=2503H+0018H=251BH,执行后的转移地址=5000H:
251BH
12、8086CPU转移指令的转移范围是多少?
条件转移:
-128---+127
段内短转(2字节,8位的位移量):
段内近转(3字节,16位的位移量):
-32768---+32767
段内间接:
64KB范围内
段间转移:
1MB范围内
13、8086CPU串指令中对源串、目的串有何要求。
执行前必需设置DS、SI,ES、DI,CX(重复次数),DF控制标志
14、要求会求数组最后一个字、字节的存储地址是多少。
数组最后一个字的地址=数组的首地址+(数据个数-1)*2
数组最后一个字节的地址=数组的首地址+(数据个数-1)
15、掌握REP、REPE、REPNE有何功能?
16、已知DS、SS、ES、CS、AX、BX、SI、DI、CX、DX、SP、BP、CF、DF、部分内存单元中的内容,写出指令SAR、SHR、JMP、PUSH、REPSTOSB、REPMOVSB、CALL、RET、DAA执行后的结果。
(1)例如:
已知DS=5000H,BX=2500H,(52500H)=6800H,(52502H)=5600H,求下列指令执行后的转移地址。
指令1:
JMPWORDPTR[BX];
物理地址=DS*10H+BX=52500H,(52500H)=6800H,执行后IP=6800H,CS不变
指令2:
JMPDWORDPTR[BX];
物理地址=DS*10H+BX=52500H,(52500H)=6800H,(52502H)=5600H
执行后IP=6800H,CS=5600H,程序转移到5600H:
6800H执行。
(2)例如:
已知DS=5000H,BX=2500H,DI=6000H(58500H)=B456H,CX=0004H,求下指令执行后的结果。
指令1:
SAR[BX][DI],CL;
物理地址=DS*10H+BX+DI=58500H(58500H)=B456H,CL=4
执行后:
(58500H)=FB45H
SHR[BX][DI],CL;
(58500H)=0B45H
(3)例如:
已知SS=3200H,SP=0500H,CX=5484H,求下指令执行后的结果。
PUSHCX;
SP-2=SP,执行后SP=04FEH,(SS:
SP)=(3200H:
04FEH)=5484H
或(324FEH)=5484H
(4)已知ES=2000H,DI=0500H,CX=0004H,AL=56H
REPSTOSB;
重复执行(ES:
DI)←AL共CX次
执行后(20500H---20503H)=56H
(5)已知ES=2000H,DI=0500H,CX=0004H,DS=1000H,SI=0100H,(10100H)=AAH、(10101H)=BBH、(10102H)=CCH、(10103H)=DDH
指令REPMOVSB;
DI)←(DS:
SI)共CX次
执行后(20500H---20503H)=AAH、BBH、CCH、DDH
17、作业:
3.1、3.2、3.4、3.5、3.6、3.9、3.11
第四章:
1、掌握汇编语言程序的编程格式。
P124
2、掌握汇编语言中常量、标识符、表达式。
P125
3、掌握汇编语言中数据定义语句。
P130
4、掌握汇编语言中变量的属性和数据的类型。
P137
5、掌握汇编语言中标号的属性。
6、掌握汇编语言中属性运算符PTR。
用PTR可以说明和重新指定变量或标号的类型。
INT[BX]----类型不确定
正确的写法:
INTBYTEPTR[BX]-----字节类型
INTWORDPTR[BX]-----字类型
XDW1234H-------字属性
MOVAL,X-----类型错误
MOVAL,BYTEPTRX;
AL=34H
7、如果从存储器的50000H地址开始分配段区,要求代码段占用2K字节空间,数据段占1K字节空间、堆栈段占用100个字节空间。
按代码段、数据段和堆栈段的顺序连续分段,各段信息存储的偏移地址从0开始,写出CS、DS、SS各段寄存器内容是什么?
代码段范围50000H---507FFH,CS=5000H
数据段范围50800H---50BFFH,DS=5080H
堆栈段范围50C00H---50C63H,SS=50C0H
8、掌握汇编语言中的宏定义,给出宏定义,要求可写出宏调用后的宏展开的指令。
AAAMACROA,B,C
SHLA,1
ADDB,C
ENDM
执行宏调用AAAAL,BX,1234H
宏展开:
SHLAL,1
ADDBX,1234H
9、可用于回送变量段地址、段内偏移地址、DUP定义的单元数量的伪指令有哪些。
回送变量段地址的伪指令是SEG
回送变量段内偏移地址的伪指令是OFFSET
回送DUP定义的数据元素数量的伪指令是LENGTH
10、调用程序与子程序之间参数传递的方法有哪些。
寄存器、堆栈、参数表
11、掌握汇编语言中的DOS功能调用的方法(单个字符输入输出、串字符输入输出)。
键入单个字符,判断是否为回车,是转EXIT,否则转L.
MOVAH,1
INT21H
CMPAL,0DH
JEEXIT
JMPL
.......
EXIT:
........
显示单个字符数字6
MOVDL.36H
MOVAH,2
12、要求会分析程序段执行后的功能。
(BCD码求和、移位乘、程序分支)
作业:
3.4
(1)3.5
MOVAL,5;
X=5
SHLAL,1:
2X
MOVBL,AL;
BL=2X
SHLAL,1;
4X
ADDAL,BL;
AL=6X=30
13、掌握查表程序的编程。
已知TZBDBC0H,F9H......;
0—F的七段LED显示码表
编程实现对定义在X单元中的0—F查表产生显示码的程序。
MOVBX,OFFSETTZB
MOVAL,X
MOVAH,0
ADDBX,AX
MOVAL,[BX]
14、编程实现两位压缩BCD码转为ASCII并送屏幕显示
MOVAL,45H
MOVBL,AL
;
转换并显示高位
MOVCL,4
SHLAL,CL
ADDAL,30H
MOVDL,AL
;
转换并显示低位
MOVAL,BL
ANDAL0FH
15、编程实现从键盘输入产生十六进制数(0-F)存入X单元。
数字0—9的ASCII:
30H—39H,字母A—F:
41H—46H
L:
CMPAL,30H
JBL
CMPAL,39H
JAL1
SUBAL,30H
MOVX,AL
JMPL2
L1:
CMPAL,41H
JBL
CMPAL,46H
JAL
SUBAL,37H
L2:
..........
16、掌握分类统计程序的编程。
设BUF中定义了一批大小写字母,统计大小写字母的个数存入X、Y单元
大写字母A--Z:
41H—5AH,小写字母a—z:
61H—7AH
BUFDB‘uhwddlksfklfdSDKFDSF’
COUNTEQU$-BUF
XDB?
YDB?
…..
MOVBX,OFFSET
MOVCX,COUNT
MOVDX,0
L2:
MOVAL,[BX]
CMPAL,41H
CMPAL,5AH
JAL1
INCDL
CMPAL,61H
CMPAL,7AH
INCDH
L:
INCBX
LOOPL2
......
17、编程实现A、B两个字节数组(带符号数)求和存入C,设数组长为20个字节
ADB……….
BDB……….
CDB20DUP(?
)
MOVBX,OFFSETA
MOVSI,OFFSETB
MOVDI,OFFSETC
MOVCX,20
CLC
MOVAL,[BX]
ADCAL,[SI]
MOV[DI],AL
INCBX
INCSI
INCDI
LOOPL
18、作业:
4.1、4.2、4.3、4.9、4.10、4.11、4.12、4.14、4.18、4.20、4.21、4.23
第五章
1、系统地址总线的位数与寻址的存储空间有何关系?
设地址为n位,寻址的存储空间=2n
n=10可寻址1024个存储单元(1K)n=11可寻址2048个存储单元(2K)
n=12可寻址4096个存储单元(4K)n=13可寻址8192个存储单元(8K)
n=14可寻址16384个存储单元(16K)n=15可寻址32768个存储单元(32K)
n=16可寻址65536个存储单元(64K)n=17可寻址128K
n=18可寻址256Kn=19可寻址512K
n=20可寻址1Mn=21可寻址2Mn=22可寻址4Mn=23可寻址8M
n=24可寻址16Mn=25可寻址32Mn=26可寻址64Mn=27可寻址128M
n=28可寻址256Mn=29可寻址512M
2、微机存储器系统常用哪几种芯片?
芯片有哪些引脚?
与系统的链接是怎样的?
系统常用存储芯片有:
SRAM、EPROM
SRAM芯片的引脚:
数据线I/O8—I/O1,接系统的D7—D0
地址线Am----A0,接系统的Am----A0,m—由芯片容量决定
输出允许OE:
接MEMR
读写控制WE:
接MEMW
片选线CE:
接片选信号译码器的输出端
3、要求掌握存储器芯片与8088CPU接口电路的设计方法。
见第五章课件
第六章
1、系统中数据传送的控制方式主要有哪几种方式?
2、外设接口与外设通过那些信息进行连接?