微机原理.docx
《微机原理.docx》由会员分享,可在线阅读,更多相关《微机原理.docx(21页珍藏版)》请在冰豆网上搜索。
微机原理
一、单选题题目(每题1分,共10分)
1.若11001110为8位二进制补码数,则该数的十进制真值为()。
A.+206B.-206C.+50D.-50
2.CPU的字长通常与其()一致。
A.寄存器个数B.IO端口数C.数据线宽度D.地址线宽度
3.8086CPU与8088CPU相比,主要不同点在于()。
A.地址线宽度B.数据线宽度C.寻址方式D.内部寄存器
4.8086CPU的地址/数据复用线可在总线周期的()时刻分离地址信号。
A.T1B.T2C.T3D.T4
5.8086CPU系统中采用存储器分段组织的主要原因是()。
A.其内存容量一般为64KB的整数倍B.便于与8位CPU系统兼容
C.其内部寄存器为16bit结构D.其内部分为EU和BIU两部分
6.8086CPU系统中,一个指令周期至少应该包括()个总线周期。
A.4B.2C.1D.不一定
7.8086宏汇编源程序中可用作标识符的字符串是()。
A.NOPB.ACC.TFD.SEG
8.8086CPU的引脚信号/BHE=1、A0=0时,表示CPU正在读写()。
A.偶地址处存放的8位数据B.偶地址处存放的16位数据
C.奇地址处存放的8位数据D.奇地址处存放的16位数据
9.8086CPU系统中,下列指令执行时不一定会改变IP值的是()。
A.RET5B.INTOC.INT2D.CALLNXT
10.8086宏汇编语言中主程序和子程序之间不能通过()来传送数据。
A.参数B.堆栈C.寄存器D.变量
二、填空题题目(每空1分,共10分)
1.8086CPU复位后,段寄存器CS的值为()H、DS的值为()H。
2.8086CPU系统中,指令“MOVAL,[BP]”中的源操作数采用()寻址方式,该操作数应该存放在()段中。
3.8086宏汇编语言中,变量具有段基址属性、()属性和()属性。
4.8086系统中,某数据区中存有10个字数据,若该数据区的起始地址为610A:
1C17H,则该数据区起始单元的物理地址为()H,末单元的逻辑地址为()H。
5.8086CPU提供()条地址线寻址IO端口,而PC机实际只使用了()条。
三、判断题题目(每题1分,共10分)
1.8086系统中,堆栈通常以“先进后出”的方式存取数据,指令队列以“先进先出”的方式存取数据,而普通存储器则以“随机”的方式存取数据。
2.8086CPU内部的标志寄存器主要用于检查当前指令的执行结果是否出错。
3.8086CPU工作在最小模式下时,系统控制总线需由总线控制器产生。
4.CPU的寻址空间主要与其地址线宽度有关。
5.8086系统中,非规则字指存放在偶地址单元的字数据。
6.8086系统中,指令“LEAAX,BUF”和“MOVAX,OFFSETBUF”可以完成相同的功能。
7.8086系统中,伪指令经汇编后将生成相应的机器码。
8.8086CPU内部只有4个段寄存器,故其最多可同时使用内存中的四个逻辑段。
9.8086宏汇编语言中,每条指令都必须具有操作码和操作数。
10.IRET语句既可用于子程序的返回,也可用于中断服务程序的返回。
注意:
以下各题答案填入题下空白处。
四、简答题(共25分)
1.简述冯·诺依曼型计算机“程序存储和程序控制”原理的实质。
(4分)
答:
“程序存储和程序控制”是冯·诺依曼型计算机的基本工作原理,它从本质上描述了这类计算机的工作过程,即:
程序预先存放在存储器中,CPU自动地从存储器中取出指令,并分析和执行指令,然后再取下一条指令,如此周而复始。
2.什么是总线?
微机中典型的三总线是什么?
微机系统采用总线结构有哪些优点?
(6分)
答:
总线通常是指系统与系统之间、系统各模块之间或模块内部各部分之间用来传送信息的公共通路。
(2分)
微机中典型的三总线包括数据总线、控制总线和地址总线。
(2分)
采用总线结构,微机系统的构成更加方便,并且具有更大的灵活性和更好的可扩展性、可维修性。
(2分)
3.I/O端口的编址方式有哪两种?
PC机采用的是哪种方式?
这种方式有什么优缺点?
(7分)
答:
I/O端口通常有存储器映像编址和独立编址两种编址方式。
(2分)
PC机采用的是独立编址方式。
这种编址方式的优点是存储器可寻址空间和I/O端口可寻址空间都比较大,只取决于CPU地址总线的宽度;缺点是需要不同的指令和控制信号来区分CPU发出的是存储单元地址还是端口地址,因此系统相对比较复杂。
4.简述8086宏汇编源程序的上机调试过程。
(8分)
答:
汇编源程序的上机调试主要包括以下步骤:
(每个步骤2分)
1.编辑:
利用纯文本编辑软件从键盘输入汇编源程序,并以.ASM为扩展名存盘。
2.汇编:
利用宏汇编程序MASM对.ASM文件进行汇编。
如无语法错误则生成.OBJ文件;否则应对.ASM文件进行修改后重新汇编,直至没有语法错误。
3.链接:
利用链接程序LINK将程序各模块连接在一起,并对程序中浮动的段地址定位。
如无链接错误则生成.EXE文件;否则应修改.ASM文件后重新汇编、链接。
4.调试:
若.EXE文件运行时出错,则需利用调试程序(如DEBUG、TURBODEBUG或CODEVIEW等)查错,直至程序运行完全正确。
调试程序可以提供单步运行和断点运行等手段对程序错误进行定位。
五、读程序并填空(共25分)
1、根据要求完成下列程序指令。
(5分)
1ANDAX,00FFH;将寄存器AX的高8位清0,低8位保持不变;
2ORBX,00FFH;将寄存器BX的低8位置1,高8位保持不变;
3MOVCL,2;将寄存器DX中的字数据乘4
SAL(或SHL)DX,CL
2、说明下列程序段完成的功能,并画出流程图。
代码中的循环体部分(第4至8行)可以用哪一条指令替代?
(6分)
CLD
MOVSI,OFFSETTAB1
MOVDI,OFFSETTAB2
MOVCX,50
N1:
MOVAL,[SI]
MOV[DI],AL
INCSI
INCDI
LOOPN1
答:
该程序段完成的功能是:
将存放在TAB1处的50个字节数据复制到表TAB2处。
(2分)
程序流程如左图所示。
(3分)
循环体部分可用指令“REPMOVSB”替代。
(1分)
3、根据下列程序段运行后的结果回答问题。
(8分)
MOVAX,80H
MOVBX,45H
CMPAX,BX
1寄存器AX和BX中的结果值。
2CF、ZF、OF、SF标志位的状态。
3若AX、BX中为无符号数,标志位的状态说明什么?
若为带符号数呢?
答:
①(AX)=0080H,(BX)=0045H;(2分)
②(CF)=0、(ZF)=0、(OF)=0、(SF)=0;(4分)
③无论为带符号数还是无符号数,AX和BX中的数据都是正数,且(AX)大于(BX);(2分)
地址
内容
0017H
……
0018H
18H
栈顶
0019H
01H
001AH
00H
001BH
31H
001CH
1EH
001DH
00H
001EH
34H
001FH
12H
0020H
……
栈底
4、设(SS)=2300H,(SP)=0020H,画出程序段执行后堆栈段的示意图。
(6分)
1在右图中标明堆栈段中已用单元的偏移地址及内容。
2在右图中标明栈顶和栈底单元。
MOVAX,1234H
PUSHAX
MOVBP,SP
PUSHBP
CALLFARPTRSUB1;该指令存放地址为3100:
0114H
AGN:
……;该指令存放地址为3100:
0118H
六、编程题(共20分)
1.请使用8086宏汇编语言定义如下数据段:
(8分)
1在数据段中偏移量为100H处的单元里定义字变量VARW1;
2接着保留50个字节单元,并初始化为01H;
3接着存放字符串“1234”;
4接着定义常量LEN,其值为该数据段中已定义数据的长度(字节数)。
DATASEGMENT
ORG0100H(1分)
VARW1DW?
(2分)
DB50DUP(01H)(2分)
DB‘1234’(2分)
LENEQU$-VARW1(1分)
DATAENDS
2、编写完整的8086宏汇编语言程序,统计从BUF处连续存放的100个无符号字数据中奇数和偶数的个数,并分别存入变量ODD和EVEN中。
(12分)
DATASEGMENT;数据段定义(3分)
BUFDD100DUP(?
)
ODDDB0
EVENDB0
DATAENDS
CODESEGMENT;代码段结构、初始化及返回(3分)
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVSI,OFFSETBUF;循环初始化(2分)
MOVCX,100
CLD
L1:
LODSW
TESTAX,01H;统计(3分)
JNZL2
INCEVEN
JMPAGAIN
L2:
INCODD
AGAIN:
LOOPL1;循环控制(1分)
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
一、单选题答案(每题1分,共10分)
1
2
3
4
5
6
7
8
9
10
D
C
B
A
C
D
B
A
B
A
注:
第7小题的选项“B.AC”和“C.TF”都是正确答案,此题选中这两个答案都算正确;
第10小题的选项“A.参数”的定义不清晰,但此题可用排除法选择,还是按标准答案给分。
二、填空题答案(每空1分,共10分)
1.OFFFF,0000
2.基址(或寄存器间接),堆栈段
3.偏移量,类型
4.62CB7,610A:
1C2A
5.16,10(此空考察内容还未讲到,无论答对与否都给1分)
三、判断题答案(每题1分,共10分。
正确打√,错误打×。
)
1
2
3
4
5
6
7
8
9
10
√
×
×
√
×
√
×
√
×
×
注:
第1小题中考察的“普通存储器的存取方式”还未讲到,无论答对与否都给1分
1.冯.诺依曼型计算机在硬件结构上有哪些部分组成?
各部分是什么功能?
2.解释并区别下列各术语的含义:
微处理器微型计算机微型计算机系统
3.将下列十进制数转换成二进制、十六进制和BCD:
(1)125.74
(2)513.85
4.指出下列指令的正误,若不正确,指出原因:
(1)MOVDS,10
(2)MOV[1000H],[2000H]
(3)MOVAX,[BX+BP+2]
(4)PUSHAL
(5)OUTCX,AL
5.都下面程序,回答问题:
MOVAX,0
MOVBX,2
MOVCX,50
LAST:
ADDAX,BX
ADDBX,2
LOOPLAST
(1)该程序功能是什么?
(2)AX=?
6.都下面程序,回答问题:
ADBX
…
MOVAX,0
MOVAL,BYTEPTRA
MOVCL,10
MULCL
(1)CL=?
(2)AX=?
7.说明微型计算机中常用的外设编程方式及其特点。
8.简述DMA的传送过程。
9.叙述8088CPU对INTR响应的全过程。
10.说明8254方式2、3的特点,若加到8254上的时钟频率位0.5MHZ,则一个计数器最长定时时间是多少?
若要产生10分钟周期定时中断,试提出解决方案。
11.叙述串行、并行通信的特点,画出串行异步通信数据格式。
12.什么是中断向量和中断向量表?
简述中断向量的引导作用。