福州大学 学年第 1 学期考试B卷答案.docx
- 文档编号:3677580
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:12
- 大小:85.09KB
福州大学 学年第 1 学期考试B卷答案.docx
《福州大学 学年第 1 学期考试B卷答案.docx》由会员分享,可在线阅读,更多相关《福州大学 学年第 1 学期考试B卷答案.docx(12页珍藏版)》请在冰豆网上搜索。
福州大学学年第1学期考试B卷答案
课程名称微机原理与应用考试日期2010年2月23日
考生姓名学号专业或类别
题号
一
二
三
四
五
六
七
八
总分
累分人签名
题分
22
24
24
30
100
得分
考生注意事项:
1、本试卷共10页,请查看试卷中是否有缺页。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
教师注意事项:
如果整门课程由一个教师评卷的,只需在累分人栏目签名,题首的评卷人栏目可不签名
一、程序题(第1-5题每题2分,共10分;第6题每空2分,共12分。
本题共22分)
得分
评卷人
存储器数据段从BUF开始存放一个数组,数组中的第一个存放该数组的长度N,编制一个程序使此数组中的数据按照从小到大的次序排列。
冒泡排序算法:
从第一个数据开始相邻的数进行比较,若次序不对,两数交换位置。
第一遍比较(N-1)次后,最大的数已到了数组尾,第二遍仅需比较(N-2)次就够了,共比较(N-1)遍就完成了排序,这样共有两重循环。
NEQU7;数组长度
DATASEGMENT
BUFDBN,15H,37H,86H,97H,34H,12H,76H
DATAENDS
STACKSEGMENTSTACK‘STACK’
DB100DUP(?
)
福州大学2009~2010学年第1学期考试B卷
TOPLABELWORD
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
MAINPROCFAR
START:
MOVAX,STACK
MOVSS,AX
MOVSP,OFFSETTOP
PUSHDS;DS=1000H
SUBAX,AX
PUSHAX
MOVAX,DATA;数据段初始化
MOVDS,AX
LEABX,BUF;数组BUF首地址->BX
CALLORDER;排序,入口BUF,出口BUF
RET
MAINENDP
ORDERPROC
MOVSI,0;数组指针SI
MOVCH,0
MOVCL,[BX+SI];取数组长度->内循环次数
DECCX
L1:
PUSHCX;外循环次数
L2:
ADDSI,1;下一个数据
MOVAL,[BX+SI];取数据
CMPAL,[BX+SI+1];比较,若[BX+SI]<=[BX+SI+1]
JBECONT1;转CONT1
XCHGAL,[BX+SI+1];否则两数交换
MOV[BX+SI],AL
CONT1:
LOOPL2;内循环
POPCX;外循环次数->CX
MOVSI,0;地址返回第一个数据
LOOPL1;外循环
RET
ORDERENDP
CODEENDS
ENDSTART
阅读以上程序,完成下列试题。
1.语句“CMPAX,[BX+SI+2]”中源操作数采用的寻址方式是D。
A.基址变址寻址方式B.寄存器寻址方式
C.寄存器相对寻址方式D.相对基址变址寻址方式
2.上述程序执行完“RET”指令后,下列选项正确的是A。
A.CS=1000H,IP=0000HB.CS=IP=1000H
C.CS=0000H,IP=1000HD.CS=IP=0000H
3.程序中“JBECONT1”改为以下哪个语句A后数据是数据按照从大到小的次序排列。
A.JACONT1B.JLCONT1C.JNAECONT1D.JBCONT1
4.下列8086指令中,对AX的结果与其他三条指令不同的是D。
A.MOVAX,0B.XORAX,AXC.SUBAX,AXD.ADDAX,0
5.下列指令中不会改变指令计数器IP的是C。
A.CALLB.JMP C.MOV D.RET
6.如果待排序的数据BUF定义为
DATASEGMENT
BUFDWN,15H,37H,86H,97H,34H,12H,76H
DATAENDS
请补充完整ORDER子过程,实现字数组的从小到大排序。
ORDERPROC
MOVSI,0;数组指针SI
LEABX,offsetBUF
MOVCX,[BX+SI];取数组长度->内循环次数
DECCX
L1:
MOVDX,CX;外循环次数
L2:
ADDDX,2;下一个数据
MOVAX,[BX+SI];取数据
CMPAX,[BX+SI+2];比较,若[BX+SI]<=[BX+SI+2]
JBECONT1;转CONT1
XCHGAX,[BX+SI+2];否则两数交换
MOV[BX+SI],AX
CONT1:
LOOPL2;内循环
MOVCX,DX;外循环次数->CX
MOVSI,0;地址返回第一个数据
LOOPL1;外循环
RET
ORDERENDP
二、程序题(第7题每空2分,共20分;第8题4分。
本题共24分)
得分
评卷人
将十进制数的ASCII字符串转换成有符号数二进制数算法:
首先检测字符串为正还是负,若是为负,将标识符MINU置1,然后进行字符串转换,转换结束判别标识符MINU,若MINU是1,把AX中的数取补。
字符串转换方法采用累加和(DX)乘10,然后读取下一个字符并转换成二进制数加到累加和中。
子程序名:
ASC2BIN
输入参数:
DX=字符串的偏移量,CX=字符串的字符个数。
输出参数:
CF=0,则AX=二进制数。
CF=1,则字符串非法,AX=0。
使用寄存器:
SI,BX
7.请根据题意补充完整程序。
ASC2BINPROCFAR
PUSHCX
PUSHDX
PUSHSI
MOVSI,DX;DX存到SI中
CMOCX,6
JAERR
CLD
MOVAL,[SI];查符号
CMPAL,‘-’;
JNECHK
MOVMINU,1
JMPDECS
CHK:
CMPAL,‘+’
JNECLRD
DECS:
DECCX
INCSI
CLRD:
SUBDX,DX;DX清0,放结果
NEXT:
CALLCHE;乘10
JCERR
LODSB;读下一个字符到AL
CMPAL,‘0’;字符不在0~9之间,出错
JBERR
CMPAL,‘9’
JAERR
ANDAX,000FH;转换成二进制
ADDDX,AX
JCERR;累加和超过65535出错
LOOPNEXT
MOVAX,DX;结果送入AX
CMPMINU,1;负数求补
JNEEXIT
NEGAX
JMPEXIT
ERR:
STC;字符串为非法
MOVAX,0
EXIT:
POPSI
POPDX
POPCX
RET
CHEPROCNEAR
PUSHBX
MOVBX,DX
SHLDX,1
SHLDX,1
ADDDX,BX
SHLDX,1
POPBX
RET
CHEENDP
ASC2BINENDP
8.程序中LODSB是一条复合指令,请将其过程用单一指令进行实现。
MOVAL,[SI]
INCSI
三、接口题(第9-12题每题2分,共8分。
第13题每空2分,共4分。
第14题12分。
本题共24分)
得分
评卷人
9.8086CPU从偶存储体读一个字时,控制信号
,
,
是D。
A.001B.010C.101D.100
10.8086CPU与外设之间的数据传送方式主要有程序控制、中断和DMA方式。
11.8253在方式1时,GATE信号上升沿有效。
A.上升沿B.下降沿C.高电平D.低电平
12.Reset信号到来后,8086CPU的启动地址为FFFF0H。
13.若中断类型码N=10H,则对应的中断向量在中断向量表中第一个字节单元地址为00040H。
CPU在响应中断请求时,CPU硬件自动保护PSW、CS和IP(寄存器)的内容进栈。
14.某存储器系统由EPROM芯片2732、RAM芯片6264、译码器74LS138构成4K字ROM和8K字RAM,系统配置为最小模式,请完成8086系统总线(AB0-19,DB0-15,
,
,
,
)与存储器的接线图。
要求:
1.地址采用1片74138进行全译码,其他逻辑芯片数量不限;2.ROM起始地址为F0000H,RAM起始地址为E0000H。
ROM:
F0000H–F1FFFH。
(0.5分)
RAM:
E0000H-E3FFFH。
(0.5分)
2732需要2片。
(0.5分)
6264需要2片。
(0.5分)
地址总线4分
AB1-12(8086)--->AB0-11(2732
(1))(0.5分)
AB1-12(8086)--->AB0-11(2732
(2))(0.5分)
AB1-13(8086)--->AB0-12(6264
(1))(0.5分)
AB1-13(8086)--->AB0-12(6264
(2))(0.5分)
DB0-7(8086)--->DB0-7(2732
(1))(0.5分)
DB8-15(8086)--->DB0-7(2732
(2))(0.5分)
DB0-7(8086)--->DB0-7(6264
(1))(0.5分)
AB8-15(8086)--->DB0-7(6264
(2))(0.5分)
数据总线3分
RD(8086)-->RD(2732
(1))(0.5分)
RD(8086)-->RD(2732
(2))(0.5分)
RD(8086)-->RD(6264
(1))(0.5分)
RD(8086)-->RD(6264
(2))(0.5分)
WR(8086)-->RD(6264
(1))(0.5分)
WR(8086)-->RD(6264
(2))(0.5分)
控制总线3分
AB19/18/17(8086)与接138G1(0.25分)
M/IO接138G2A(0.25分)
GND接138G2B
AB16(8086)接138C(0.5分)
AB15(8086)接138B
AB14(8086)接138A
VCC接6264
(1)CE2
VCC接6264
(2)CE2
138Y4或AB0(8086)或AB13(8086)接2732
(1)CE1(0.5分)
138Y4或BHE(8086)或AB13(8086)接2732
(2)CE1(0.5分)
138Y0或AB0(8086)接6264
(1)CE1(0.5分)
138Y0或BHE(8086)接6264
(2)CE1(0.5分)
四、综合题(第15题4分;第16题每空0.5分,共6分;第17题每空2分,共4分;第18题每空2分,共16分。
本题共30分)
得分
评卷人
由8086、8253、8255A和0809构成的数据采集显示系统如图所示。
采样的间隔以及采样的开始是由8253自动控制的。
8086通过查询PC0判断是否采样结束,读取AD的数值直接显示在8个指示灯LED0~7。
周而复始地采样和显示。
设采样频率为1Hz。
请回答以下问题。
15.要求将IO地址配置在0F0H~0FFH之间,请说明图中74LS138的
(1)和
(2)分别接Y6和为Y4时8255和8253的口地址是多少?
8255的地址:
F8H,FCH,FAH,FEH
8253的地址:
F0H,F2H,F4H,F6H
16.编写8253的初始化程序Init8253。
Init8253Proc
MOVAL,(B);定时器0初始化,方式2(3),输出1KHz,BCD
OUT(0F6H),AL
MOVAL,(00H)
OUT(0F0H),AL
MOVAL,(20H)
OUT(0F0H),AL
MOVAL,(B);定时器1初始化,方式2,输出1Hz,BCD
OUT(0F6H),AL
MOVAL,(00H)
OUT(0F2H),AL
MOVAL,(10H)
OUT(0F2H),AL
Init8253ENDP
17.编写8255的初始化程序Init8255A。
Init8255APROC
MOVAL,(B)
OUT(0FEH),AL
Init8255AENDP
18.编写程序实现上述的功能。
要求包含段定义,初始化程序采用子程序调用形式。
DATASegment数据段和代码段定义
TableDB00H,20H,40H,60H,80H,A0h,C0H,E0H
DATAends
CodeSegmeng
AssumeCS:
Code,DS:
Data
START:
MOVAX,DATA
MOVDS,AX
CALL(Init8255A)
CALL(Init8253)
MOVSI,0
NEXT:
MOVAL,Table[SI];取转换通道号
OUT(0FAH),AL
Wait:
;等待采样结束信号
INAL,(0FAH)
TestAL,(01H)
JZWait
INAL,(0FCH);读AD送LED显示
OUT(0F8H),AL
INCSI;采样下一通道
ANDSI,7;循环
JMP(NEXT)
CodeENDs
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 福州大学 学年第 学期考试B卷答案 学年 学期 考试 答案