汇编语言程序设计期末考试-试卷及答案_第1页
汇编语言程序设计期末考试-试卷及答案_第2页
汇编语言程序设计期末考试-试卷及答案_第3页
汇编语言程序设计期末考试-试卷及答案_第4页
汇编语言程序设计期末考试-试卷及答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、指令的中,不能实现把A*存放器内容清零的指令是 C 。SUB A*,A*;B*OR A*,A*;COR A*,0000H;DAND A*,0000H。3条件转移指令JNE的测试条件为 A 。AZF=0 ; BCF0 ;CZF=1 ; DCF=1 。48086CPU在基址加变址的寻址方式中,变址存放器可以为D 。AB*或C* ; BC*或SI ;CD*或SI ; DSI或DI。5设A*=1000H,NEGA*NOTA*【汇编语言程序设计】期末考试-试卷及参考答案执行上述两条指令后,正确的结果是B。AA*=1001H; BA*=0FFFH;CA*=1000H; DA*=0111H。6串指令中的目的

3、操作数地址一定是由_A_ _提供。 AES:DI ; BSS:BP;CDS:SI ; DCS:IP。7将D*的内容除以2,正确的指令是 C 。ADIV 2 ;BDIV D*,2 ;CSAR D*,1;DSHL D*,1。8.用户为了解决自己的问题,用汇编语言所编写的程序,称为B。 A目标程序; B汇编语言源程序; C可执行程序; D汇编程序。9用一条指令仅实现将A*B*+SI的方法是D。*CHGA*,B*SI ;MOVA*,B*+SI;CLEAA*,B*SI ;DLEAA*,B*SI。10设SP初值为2000H,执行指令“PUSHA*后,SP的值是C。 A1FFFH; B1998H;C1FFE

4、H; D2002H。1.A 2. C 3.A 4.D 5.B 6.A 7.C 8.B 9.D 10.C二、指出以下指令的出错原因,并改正。每题2分,共12分MOV B*,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV B*,D*MOV CS,A*;代码段存放器CS不能作目的操作数,改正为MOV DS,A*ADD A*,DS;段存放器DS的内容不能作为加法指令的操作数,改正为MOV B*,DSADD A*,B* TEST B*,C*;不能使用C*实现存放器间接寻址,改正为MOV SI,C*TEST B*,SI SUB B*,BP+SI;两个操作数不能同为存储器操作数,且两个操作数的

5、数据类型 不确定,改正为:MOV A*,B*SUB A*,BP+SI或:MOV AL,B*SUB AL,BP+SI 6SHL D* ;没有给出移位次数,改正为SHL D*,1或 SHL D*,CL三、程序填空题注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在A*存放器中。如果总和值超过A*存放器的容量,则置A*存放器内容不变。请在程序中的空格处填入适当指令使其完整。LEA B*,TABLEMOV C*,10MOV SUM,A* ;将A*的原值保存在SUM单元中 MOV AL,00HME*T:1ADD

6、 AL,B* ; 实现将表TABLE中的数据按字节累加到AL中 ADC AH,0JNC DONE2MOVA*,SUM ; 总和值超过A*存放器的容量,恢复A*的原值 JC E*ITDONE:INCB*3LOOP NE*T ; 将计数器C*减1,并判断是否继续下一次循环 E*IT:HLTBUFFER为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据。请在程序中的空格处填入适当的指令使其完整。MOV C*,32H ;循环50次LEA SI,BUFFERMOV DI,SI(1) ADD DI,99 ;DI指向最后一个字节数据的存储单元的偏移地址 NE*T:

7、MOV AL,SI (2) *CHG AL,DI;交换SI和DI所指向单元的内容 MOV SI,AL(3) INC SI ;使指针SI加1,指向下一个字节的数据 DEC DILOOPNE*THLT四、程序分析题每题4分,共20分设A*= *,*是无符号数且0*-32768,并存放在M_average单元中。本小题10分data SEGMENT Buffer DW *,*,*;N个字 count EQU $-Buffer/2 M_average dw data ENDS code SEGMENT ASSUME cs:code,da:datacwd idiv b*mov M_average,a*;

8、存负数的平均值mov ah,4ch int 21hdata ends end start start: mov a*,data mov ds,a* mov c*,count lea si, Buffer *or a*,a* ;存负数的和 mov b*,a* ;存负数的个数ne*t: test word ptr si,8000H je go_onadd a*,siinc b* go_on: add si,2 loop ne*t 3从键盘接收一串不多于99个字符的字符串,对其进展分类统计,显示其中数字字符个数、大写英文字母个数、小写英文字母个数、以及其他字符的个数。要求使用子程序构造;数字字符的A

9、SCII码为30H39H、大写英文字母的ASCII码为41H5AH、小写英文字母的ASCII码为61H7AH。本小题12分data SEGMENT MSG DB 0DH,0AH,输入一串字符:$MSG1 DB 0DH,0AH,大写字母个数:$MSG2 DB 0DH,0AH,小写字母个数:$MSG3 DB 0DH,0AH,数字符号个数:$MSG4 DB 0DH,0AH,其它符号个数:$BUFFER DB 99 DB 0DB 99 DUP?BIG DB 0 ;大写字母个数LITTLE DB 0 ;小写字母个数DIG DB 0 ;数字符号个数OTHER DB 0 ;其它符号个数 data ENDS

10、code SEGMENT ASSUME cs:code,da:datastart: mov a*,data mov ds,a* lea d*,MSGmov ah,9 ;9号功能调用显示提示信息int 21hlea d*,BUFFERmov ah,10 ;10号功能调用从键盘接收一串字符int 21h mov cl,BUFFER+1;实际从键盘接收字符个数mov ch,0lea si,BUFFER+2again: cmp byte ptr si,30H otherscmp byte ptr si,39He digitalscmp byte ptr si,41H otherscmp byte pt

11、r si,5AHe bigscmp byte ptr si,61H others cmp byte ptr si,7AHe littlesothers: inc OTHER jmp okdigitals:inc DIG jmp oklittles: inc LITTLE jmp okbigs: inc BIGok: inc siloop again lea d*,MSG1mov bh,BIGcall dispdeclea d*, MSG2mov bh,LITTLEcall dispdec lea d*, MSG3mov bh,DIGcall dispdec lea d*, MSG4mov bh, OTHERcall dispdec mov ah,4ch int 21h;D*待显示数据说明,BH待显示数据1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论