福州大学 学年第 1 学期考试B卷正式版.docx
- 文档编号:10342995
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:10
- 大小:71.56KB
福州大学 学年第 1 学期考试B卷正式版.docx
《福州大学 学年第 1 学期考试B卷正式版.docx》由会员分享,可在线阅读,更多相关《福州大学 学年第 1 学期考试B卷正式版.docx(10页珍藏版)》请在冰豆网上搜索。
福州大学学年第1学期考试B卷正式版
课程名称微机原理与应用考试日期2012年2月18日
考生姓名学号专业或类别
题号
一
二
三
四
五
六
七
八
总分
累分人签名
题分
18
20
14
18
30
100
得分
考生注意事项:
1、本试卷共10页,请查看试卷中是否有缺页。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
教师注意事项:
如果整门课程由一个教师评卷的,只需在累分人栏目签名,题首的评卷人栏目可不签名
得分
评卷人
一、程序题A(第1题每空2分,共14分。
第2题4分。
本题共18分)
存储器中有一串字符串首地址为BUF,字符长度N小于256,要求分别计算出其中数字‘0’~‘9’,字母‘A’~‘Z’和其它字符的个数,并分别将他们的个数存放到此字符串的下面三个单元中。
程序清单如下:
1).DATASEGMENT
2).BUFDB7;字符长度N
3).DB01H,38H,47H,90H,33H,09H,76H
4).SUMDB3DUP(?
)
5).
6).CODESEGMENT
7).ASSUMECS:
CODE,DS:
DATA
9).START:
MOVAX,DATA;数据段初始化
10).MOVDS,AX
福州大学2011~2012学年第1学期考试B卷
11).MOVCH,BUF;数组个数N->CH
12).;数组指针SI初始化
13).MOVBX,0;BH计算数字的个数,BL计算字母的个数
14).LP:
MOVAH,BUF[SI]
15).CMPAH,‘0’;与数字‘0’比较
16).JLNEXT;小于‘0’转
17).CMPAH,‘9’;与数字‘9’比较
18).JGABC;大于‘9’转
19).;数字个数加1
20).JMPNEXT
21).ABC:
CMPAH,‘A’;与字母‘A’比较
22).JLNEXT;小于‘A’转
23).;与字母‘Z’比较
24).JGNEXT;大于‘Z’转
25).INCBL;字母个数加1
26).NEXT:
INCSI;数组地址加1
27).;计数减1
28).JNZLP
29).;数字的个数送入内存单元
30).MOVSUM[1],BL;字母的个数送入内存单元
31).MOVAH,BUF;去数组长度
32).;减去数字的个数
33).SUBAH,BL;减去字母的个数
34).MOVSUM[2],AH;其他字符的个数送入内存单元
35).HLT
36).CODEENDS
37).ENDSTART
1.根据题意补充完成上述程序,直接填写在程序的横线上,共7处。
2.上述程序执行完,变量SUM的内容为:
。
得分
评卷人
二、程序题B(第3题每空2分,共20分。
本题共20分)
现有一串字符数据,需要从中抽取出数据,然后进行冒泡排序。
字符串由ASCII码‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’和‘$’组成,其中‘$’作为每组数据的分隔符,每组数据值小于FFFFH。
冒泡排序算法:
从第一个数据开始相邻的数进行比较,若次序不对,两数进行交换位置。
第一遍比较(N-1)次后,最大的数已到数组尾,第二遍仅需比较(N-2)次就够了,共比较(N-1)遍就完成了排序,这样共有两重循环。
例字符串“1234$23$56”,那么可以提取3组数据为:
1234、23、56
冒泡排序后为:
23、56、1234
3.根据题意补充完整以下程序。
(共10空)
1).DATASEGMENT
2).StringDB‘234$23$56$8$324$’;字符串
3).LenEQU5;字符串中数组的个数
4).NumberDWLENDUP(0);数组
5).DATAENDS
6).CODESEGMENT
7).
8).START:
9).;数据段初始化
10).MOVDS,AX
11).CLD
12).
13).MOVDI,offsetNumber
14).;*************;提取数据
15).MOVCX,Len;码制转换(十进制的ASCII→二进制)
16).LL:
MOVBX,0
17).L0:
MOVAH,0
18).LODSB
19).CMPAL,‘$’
20).JZL1
21).XCHGAX,BX
22).MOVDX,10
23).MULDX
24).
25).ADDBX,AX
26).JMPL0
27).L1:
MOVWORDPTR[DI],BX
28).ADDDI,2
29).LOOPLL
30).;*****************
31).MOVBX,offsetNumber;数组指针初始化
32).MOVCX,Len-1;计数器CX
33).;调用冒泡排序子程序
34).MOVAX,4C00H;返回DOS
35).INT21h
36).;**************
37).OrderPROC;排序
38).MOVSI,0
39).L3:
MOVDX,CX;设计数器DX,外循环次数
40).L4:
MOVAX,[BX+SI];取BUF[SI],与BUF[SI+2]比较
41).;若BUF[SI]<=BUF[SI+2]转
42).JBENEXT
43).XCHGAX,[BX+SI+2];否则两数交换
44).
45).NEXT:
ADDSI,2;比较下一个数据,SI=SI+2
46).LOOPL4;内循环
47).;循环次数->CX
48).MOVSI,0;地址返回第一个数据
49).LOOPL3;外循环
50).
51).OrderENDP;子程序结束
52).CODEENDS
53).START
三、程序题C(第4-5题每空2分,共14分。
本题共14分)
得分
评卷人
设一个由17个字符组成的字符串放在SRTING开始的内存中,现要查找该字符串中是否包含字母’a’。
若没有找到该字母和尚未查完,则继续查找,直到找到第一个字母或查完了才退出来。
程序段如下:
1).STRINGDB‘PersonalComputer’;字符串
2).…
3).MOVBX,OFFSETSTRING;BX指向字符串的开始
4).DECBX;BX-1
5).MOVCX,17;CX=字符串长度
6).NEXT:
INCBX;指向下一个字符
7).CMP[BX],‘a’;字符串元素与‘a’比较
8).LOOPNENEXT;若不是‘a’和CX≠0,循环
9).…;找到或CX=0
4.语句7).目的操作数的寻址方式是()。
A.直接寻址B.寄存器寻址C.相对寄存器寻址D.基址变址寻址
5.本程序执行结束,BX=,CX=。
语句8).改为LOOP,那么程序执行结束,BX=,CX=。
语句8).改为LOOPE,那么程序执行结束,BX=,CX=。
四、存储器接口题(第6题共12分;第7-9题每空2分,共6分。
本题共18分)
得分
评卷人
6.要求采用8K×8的EPPROM芯片2764,8K×8的RAM芯片6264,译码器74LS138设计一个8K字ROM(地址0C000-0FFFFH)和8K字RAM(地址00000H-03FFFH)的存储器系统,系统配置为最小模式。
设8086系统已经通过锁存器扩展总线包含:
AB0-19,DB0-15,
,
,
,
。
7.8086CPU在从奇存储体读一个字节时,控制信号
,
,
是()。
A.001B.010C.100D.110
8.当8086访问存贮器4000H:
0010H单元时,其物理地址为( )。
A.04100H B.40010H C.10400H D.01040H
9.Reset信号到来后,8086CPU的起动地址为()。
A.00000HB.0FFFFH C.0000H:
FFFFHD.FFFFH:
0000H
得分
评卷人
五、IO接口综合题(第10题6分;第11题2分;第12题6分;第13题每空2分,共12分;第14题4分。
本题共30分)
设计由8086、ADC0809、8255A和8253组成的4路AD轮巡采样显示系统。
本系统需要采样的模拟量送给ADC0809的IN0-IN3。
ADC0809采样启动和数据读取直接通过8086的总线完成,ADC0809的转换结束是8086通过检测8255A的PA0口来完成的。
选取8253来实现2秒定时轮巡采样,输入时钟1MHz。
系统完成一次采样后,将数据通过8255A的PB口输出,送给显示设备进行显示。
系统连接图见图1。
(注:
本系统的IO地址为8位。
)
10.根据题意,写出8255A端口地址、8253端口地址和ADC0809的4通道AD采样地址。
8255A端口地址:
PAEQU;PCEQU;
PBEQU;PCtrlEQU;
8253端口地址:
T0EQU;T2EQU;
T1EQU;TCtrlEQU;
0809采样端口地址:
IN0EQU;PCIN2EQU;
IN1EQU;PCtrlIN3EQU。
图1接口综合题用图
11.根据题意,编写8255A初始化子程序Init8255A。
Init8255APROC
RET
Init8255AENDP
12.根据题意,编写8253初始化子程序Init8253。
Init8253PROC
RET
Init8253ENDP
13.以下程序为本系统的主程序部分,请补充完整。
CODESEGMENT
ASSUMECS:
CODE
START:
CALLInit8255A;调用8255A初始化子程序
CALLInit8253;调用8253初始化子程序
Again:
;AD通道IN0地址
WaitL:
INAL,PC;判断一个时间间隔是否到,判断PC4
JNZWaitL
WaitH:
INAL,PC
TESTAL,10H
JZWaitH
CALLAD_SUB;调用采样子程序AD_SUB
;将采样结果送给显示设备
ADDDX,2;采样下一通道
;周而复始,重新回到IN0
JMPAgain;下一次采样
AD_SUBPROCNEAR
;启动一次转换
POLL:
INAL,PA;读入EOC状态
TESTAL,01H;EOC=0?
即开始转换了?
JNZPOLL;非0,循环等待
NoEND:
INAL,PA;ECO=0,已开始转换
TEST AL,01H;再查EOC状态是否为1
JZNoEND;ECO=0,等待转换结束
;EOC=1,转换结束读取结果至AL
RET
AD_SUBENDP
CODEENDS
ENDSTART
14.结合图1简述AD采样过程的几个步骤。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 福州大学 学年第 学期考试B卷正式版 学年 学期 考试 正式版