汇编语言程序设计期末考试试卷及参考复习资料.docx

上传人:啊飒飒 文档编号:10236032 上传时间:2021-05-01 格式:DOCX 页数:7 大小:103.03KB
返回 下载 相关 举报
汇编语言程序设计期末考试试卷及参考复习资料.docx_第1页
第1页 / 共7页
汇编语言程序设计期末考试试卷及参考复习资料.docx_第2页
第2页 / 共7页
汇编语言程序设计期末考试试卷及参考复习资料.docx_第3页
第3页 / 共7页
汇编语言程序设计期末考试试卷及参考复习资料.docx_第4页
第4页 / 共7页
汇编语言程序设计期末考试试卷及参考复习资料.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《汇编语言程序设计期末考试试卷及参考复习资料.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计期末考试试卷及参考复习资料.docx(7页珍藏版)》请在三一文库上搜索。

1、【汇编语言程序设计】期末考试-试卷及参考答案课程编号:H61030005课程名称:汇编语言程序设计考试形式:闭卷学院:信息工程专业:计算机科学与技术考试日期:题号一二三四五六七八九十总分累分人题分2012182030100签名得分考生注意事项:1、本试卷共7页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、单项选择题(每小题2分,共20分)1一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区第一个字单元的物理地址是(A)。A12B5BH;B12B6BH;C12C59H;D12BFEH。2在下列指

2、令的中,不能实现把AX寄存器内容清零的指令是(C)。ASUBAX,AX;BXORAX,AX;CORAX,0000H;DANDAX,0000H。3条件转移指令JNE的测试条件为(A)。AZF=0;BCF0;CZF=1;DCF=1。48086CPU在基址加变址的寻址方式中,变址寄存器可以为(D)。ABX或CX;BCX或SI;CDX或SI;DSI或DI。5设(AX)=1000H,NEGAXNOTAX执行上述两条指令后,正确的结果是(B)。A(AX)=1001H;B(AX)=0FFFH;C(AX)=1000H;D(AX)=0111H。6串指令中的目的操作数地址一定是由_A_提供。()AES:DI;BS

3、S:BP;CDS:SI;DCS:IP。7将DX的内容除以2,正确的指令是(C)。ADIV2;BDIVDX,2;CSARDX,1;DSHLDX,1。8.用户为了解决自己的问题,用汇编语言所编写的程序,称为(B)。A目标程序;B汇编语言源程序;C可执行程序;D汇编程序。9用一条指令仅实现将AXBX+SI的方法是(D)。AXCHGAX,BXSI;BMOVAX,BX+SI;CLEAAX,BXSI;DLEAAX,BXSI。10设SP初值为2000H,执行指令“PUSHAX”后,SP的值是(C)。A1FFFH;B1998H;C1FFEH;D2002H。1.A2.C3.A4.D5.B6.A7.C8.B9.D

4、10.C二、指出下列指令的出错原因,并改正。(每小题2分,共12分)1MOVBX,DL;操作数类型不匹配,改正为:MOVBL,DL或MOVBX,DX2MOVCS,AX;代码段寄存器CS不能作目的操作数,改正为MOVDS,AX3ADDAX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为MOVBX,DSADDAX,BX4TESTBX,CX;不能使用CX实现寄存器间接寻址,改正为MOVSI,CXTESTBX,SI5SUBBX,BP+SI;两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOVAX,BXSUBAX,BP+SI或:MOVAL,BXSUBAL,BP+SI6S

5、HLDX;没有给出移位次数,改正为SHLDX,1或SHLDX,CL三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分)1在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。如果总和值超过AX寄存器的容量,则置AX寄存器内容不变。请在程序中的空格处填入适当指令使其完整。LEABX,TABLEMOVCX,10MOVSUM,AX;将AX的原值保存在SUM单元中MOVAL,00HMEXT:(1)ADDAL,BX;实现将表TABLE中的数据按字节累加到AL中ADCAH,0JNCDONE(2)MOVAX,SUM;总和值超过AX寄存器的

6、容量,恢复AX的原值JCEXITDONE:INCBX(3)LOOPNEXT;将计数器CX减1,并判断是否继续下一次循环EXIT:HLT2BUFFER为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据。请在程序中的空格处填入适当的指令使其完整。MOVCX,32H;循环50次LEASI,BUFFERMOVDI,SI(1)ADDDI,99;DI指向最后一个字节数据的存储单元的偏移地址NEXT:MOVAL,SI(2)XCHGAL,DI;交换SI和DI所指向单元的内容MOVSI,AL(3)INCSI;使指针SI加1,指向下一个字节的数据DECDILOOPNEX

7、THLT四、程序分析题(每小题4分,共20分)1设(AX)=X,X是无符号数且0X-32768),并存放在M_average单元中。(本小题10分)dataSEGMENTBufferDWXXXX,XXXX,XXXX;N个字countEQU($-Buffer)/2M_averagedw?dataENDScodeSEGMENTidivbxmovM_average,ax;存负数的平均值movah,4chASSUMEcs:code,da:datastart:movax,datamovds,axcwdmovcx,countleasi,Bufferxorax,ax;存负数的和movbx,ax;存负数的个数

8、next:testwordptrsi,8000Hjego_onint21haddax,sidataendsincbxendstartgo_on:addsi,2loopnext3从键盘接收一串不多于99个字符的字符串,对其进行分类统计,显示其中数字字符个数、大写英文字母个数、小写英文字母个数、以及其他字符的个数。要求使用子程序结构;数字字符的ASCII码为30H39H、大写英文字母的ASCII码为41H5AH、小写英文字母的ASCII码为61H7AH。(本小题12分)dataSEGMENTMSGDB0DH,0AH,输入一串字符:$MSG1DB0DH,0AH,大写字母个数:$MSG2DB0DH,0

9、AH,小写字母个数:$MSG3DB0DH,0AH,数字符号个数:$MSG4DB0DH,0AH,其它符号个数:$BUFFERDB99DB0DB99DUP(?)BIGDB0;大写字母个数LITTLEDB0;小写字母个数DIGDB0;数字符号个数OTHERDB0;其它符号个数dataENDScodeSEGMENTASSUMEcs:code,da:datastart:movax,datamovds,axleadx,MSGmovah,9;9号功能调用显示提示信息int21hleadx,BUFFERmovah,10;10号功能调用从键盘接收一串字符int21hmovcl,BUFFER+1;实际从键盘接收字

10、符个数movch,0leasi,BUFFER+2again:cmpbyteptrsi,30Hjbotherscmpbyteptrsi,39Hjbedigitalscmpbyteptrsi,41Hjbotherscmpbyteptrsi,5AHjbebigscmpbyteptrsi,61Hjbotherscmpbyteptrsi,7AHjbelittlesothers:incOTHERjmpokdigitals:incDIGjmpoklittles:incLITTLEjmpokbigs:incBIGok:incsiloopagainleadx,MSG1movbh,BIGcalldispdecleadx,MSG2movbh,LITTLEcalldispdecleadx,MSG3movbh,DIGcalldispdecleadx,MSG4movbh,OTHERcalldispdecmovah,4chint21h;DX待显示数据说明,BH待显示数据100dispdecPROCmovah,9int21hmoval,bhxorah,ahaammovdl,ahmovdh,aladddl,30Hmovah,2int21Hmovdl,dhadddl,30Hmovah,2int21HretdispdecENDPcodeENDSendstart

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1