下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【汇编语言程序设计】期末考试-试卷及参考答案课程编号:H61030005课程名称:汇编语言程序设计考试形式:闭卷学院:信息工程 专业: 计算机科学与技术考试日期:题号-一-二二三四五六七八九十总分累分人题分2012182030100签名得分考生考前须知:1、本试卷共7_页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、单项选择题每题2分,共20分1一个有128个字的数据区,它的起始地址为12ABH 00ABH请给出这个数据区第一个字单元的物理地址是A 。A. 12B5BH ;B 12B6BH ;C. 12C59HD . 12
2、BFEH2在以下指令的中, 不能实现把AX存放器内容清零的指令是 C 。A. SUB AX, AXB. XOR AX, AX;C. OR AX , 0000H;D. AND AX, 0000H。3. 条件转移指令JNE的测试条件为A 。A. ZF=0 ;B. CF= 0 ;C. ZF=1 ;D. CF=1。4. 8086CPU在基址加变址的寻址方式中,变址存放器可以为 D 。A.BX或CX ;B.CX或SI ;C.DX或SI ;D.SI 或DI。5. 设AX =1000H,NEG AXNOT AX执行上述两条指令后,正确的结果是B 。A. (AX) =1001H;B.(AX) =0FFFHC.
3、 (AX) =1000H;D .(AX =0111Ho6 .串指令中的目的操作数地址-疋疋由A提供。A. ES: DI;B.SS: BP;C. DS: SI;D.CS IP。7.将DX的内容除以2,正确的指令是 C 。A.DIV2 ;B.DIVDX, 2 ;C.SARDX, 1 ;D.SHLDX, 1。8.用户为了解决自己的问题,用汇编语言所编写的程序,称为B 。A .目标程序;B.汇编语言源程序;C .可执行程序;D.汇编程序。9 .用一条指令仅实现将 AX- BX+SI的方法是D 。A. XCHG AX BXSI ;B. MOV AX, BX+SI;C. LEA AX , BXSI;D.
4、LEA AX , BXSI。10.设SP初值为2000H,执行指令“ PUSH AX'后,SP的值是C 。 A . 1FFFHB. 1998H;C. 1FFEHD. 2002H。1. A 2. C 3.A 4.D 5.B 6.A 7.C 8.B 9.D 10.C二、指出以下指令的出错原因,并改正。每题2分,共12分1 . MOV BX DL;操作数类型不匹配,改正为:MOV BL DL或MOV BX DX2 . MOV CS AX;代码段存放器 CS不能作目的操作数,改正为 MOV DS AX3. ADD AX DS;段存放器DS的内容不能作为加法指令的操作数,改正为MOVBX DSA
5、DD AX BX4. TEST BX, CX;不能使用CX实现存放器间接寻址,改正为MOV SI , CXTEST BX, SI5. SUBBX , BP+SI;两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定, 改正为:MOV AX, BXSUB AX , BP+SI或:MOV AL , BXSUB AL, BP+SI6. SHL DX;没有给出移位次数,改正为SHL DX, 1或SHL DX , CL三、程序填空题注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分1 .在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在 AX存放器中。
6、如果总和值超过 AX存放器的容量,那么置 AX存放器内容不变。请在程序中的空格处填入适当指 令使其完整。LEA BX, TABLEMOV CX , 10MOV SUM, AX ;将AX的原值保存在 SUM单元中MOV AL , OOHMEXT (1) ADD AL, BX; 实现将表 TABLE中的数据按字节累加到 AL中ADC AH,0JNC DONE(2) MOV AX SUM ; 总和值超过 AX存放器的容量,恢复 AX的原值JC EXITDONE INC BX(3) LOOP NEXT ; 将计数器 CX减1,并判断是否继续下一次循环EXIT: HLT2 . BUFFER为起始地址的存
7、储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据。请在程序中的空格处填入适当的指令使其完整。MOV CX, 32H;循环 50 次LEA SI , BUFFERMOV DI , SI(1) ADD DI , 99;DI指向最后一个字节数据的存储单兀的偏移地址NEXT MOV AL, SI(2) XCHG AL , DI;交换SI和DI所指向单元的内容MOV SI , AL(3) INC SI;使指针SI加1,指向下一个字节的数据DEC DILOOP NEXTHLT四、程序分析题(每题 4分,共20分)1 .设(AX) = X , X是无符号数且0W X<
8、6000,分析下面程序段,答复以下问题;SHL AX,1;实现 X乘 2MOV BX,AXSHL AX,1SHL AX,1ADD AX,BX(1) 该程序段的功能是什么?实现无符号数 X乘10,结果存放在AX存放器中。一一2分(2) 该程序段执行完后,(AX) = 10X, ( BX) = 2X 。 2分2 .现有一子程序段:SUB1 PROCTEST AL, 80HJE PLUSTEST BL, 80H JNE EXITOJMP XCHANGEPLUS TEST BL, 80HJE EXITOXCHANGEXCHG AL, BLEXITO: RETSUB1 ENDP试答复:(1)子程序的功能
9、是什么? 答:子程序的功能是判别 AL和BL中的数是否为异号数,当为异号时交换,否那么不变。(2)假设调用子程序前(AL)=9AH( BL)=77H,那么返回主程序时,(AL)= _77H=, (BL)= 9AH.请答复:(1)该程序段占有的存储单元字节数是多少?画 出所分配的存储区的示意图3.现有如下程序段:DATA SEGMENTORG 0020H名 DA5的值是DA1 DW 12H, 23HDA2 DB 11H, 21HDA3 DB 31H, 32HDA4 EQU $-DA3DA5 EQU 1234H DATA ENDSXXH, XXH$-ADRR?CX, NUMBX, -1BXADRR
10、BX, 04 .阅读如下程序:ADRR DBNUM EQURET_VLAUE DWMOVMOVNEXT INCCMPLOOPNZ NEXTJZ DONEMOV BX, OFFHDONE MOV RET_VLAUE BXHLT请问:(1)该程序完成的功能是什么?功能:在以ADRF为起始地址的数组中,查找第一个是0的数据。(2)程序执行后指出 RET_VLAU单元中的内容是什么? 假设找到,那么将第一个是 0的数据在数组中的偏移量送入RET_VLAU单元中;假设无0数据,那么将0FFH送入 RET_VLAU单元中。5.阅读如下程序段,答复所提出的问题,假定 , X2,Xn为无符号数。ORG 100
11、HBLOCK DW X1, X2,,XnCOUNT EQU($-BLOCK /2RESULT DWCOUNT ?LEABX,BLOCK-2MOVCXRESULTXORAX,AXGO_ON ADDBX,2CMPAX,BXJAENEXTMOVAX,BXNEXT LOOP GO_ONMOV RESULT+2 AX 程序段执行完,答复下述问题RESULT+2字存储单元的内容 =MAX (X, X2,,Xn );BX = 100H+2X (COUNT-1);得分评阅人五、编写程序30分程序。26个单元中依此存放字母A'、1 .编写一程序,在letter为首地址的'B'、'
12、Z'。(本小题8分)data SEGMENTletter DB 26 DUP(?)cou nt EQU $-letterdata ENDScode SEGMENTASSUME cs:code,da:data start: mov ax,datamov ds,ax mov cx,co unt lea si,letter mov al, An ext: mov si,alinc alinc siloop n ext mov ah,4ch int 21h code endsend start2. 以Buffer为首地址的存储区,存放有长度为N有符号字数组,编写一程序求出其中负数的平均值所有负
13、数的和-32768 ,并存放在M_average单元中。本小题10分data SEGMENTBuffer DW XXXX,XXXX,XXXX; N 个字count EQU $-Buffer /2M_average dw ?data ENDScode SEGMENTASSUME cs:code,da:datastart: mov ax,datamov ds,axmov cx,co untlea si, Buffer xor ax,ax;存负数的和mov bx,ax;存负数的个数n ext: test word ptr si,8000Hje go_onadd ax,si inc bxgo_on:
14、add si,2loop n extcwdidiv bxmov M_average,ax;存负数的平均值mov ah,4chint 21hdata endsend start3 .从键盘接收一串不多于99个字符的字符串,对其进行分类统计,显示其中数字字符个数、大写ASCII -7AH本小题12分data SEGMENTMSG DB 0DH , OAH, MSG1 DB 0DH, 0AH, MSG2 DB 0DH, 0AH, MSG3 DB 0DH, 0AH, MSG4 DB 0DH, 0AH,'输入一串字符:$''大写字母个数:$''小写字母个数:$
15、39;'数字符号个数:$''其它符号个数:$'英文字母个数、小写英文字母个数、以及其他字符的个数。要求使用子程序结构;数字字符的 码为30H39H、大写英文字母的 ASCII码为4伯5AH小写英文字母的 ASCII码为61HBUFFER DB 99(?);大写字母个数 ;小写字母个数 ;数字符号个数 ;其它符号个数DB 0DB 99 DUPBIG DB 0LITTLE DB 0DIG DB 0OTHER DB 0data ENDS code SEGMENTASSUME cs:code,da:data start: mov ax,datamov ds,axlea
16、dx,MSGmov ah,9 ; 9号功能调用显示提示信息int 21h lea dx,BUFFERmov ah,10; 10号功能调用从键盘接收一串字符int 21hmov cl,BUFFER+1 ;实际从键盘接收字符个数 mov ch,0lea si,BUFFER+2aga in: cmp byte ptr si,30Hjb otherscmp byte ptr si,39Hjbe digitalscmp byte ptr si,41Hjb otherscmp byte ptr sil,5AHjbe bigscmp byte ptr si,61H jb otherscmp byte ptr si,7AH jbe littles others: inc OTHER jmp ok digitals:inc DIG jmp ok littles: inc LITTLE jmp ok bigs: inc BIG ok:inc siloop aga in lea dx,MSG1 mov bh,BIG call dispdec lea dx, MSG2 mov bh,LITTLE call dispdec lea dx, MSG3 mov bh,DIG cal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 世界地理 澳大利亚
- 一年级语文下册《语文园地八》课件
- 单位管理制度收录大全【员工管理】
- 港口生产组织与管理课件-港口企业的生产运作
- 消防整改项目可行性研究报告两
- 铜铝合金制品项目可行性研究报告
- 生活中的经济学课件
- 2025年瓦楞纸生项目可行性研究报告
- 氧气瓶项目安全风险评价报告
- 2025年中国公共云存储服务行业发展前景预测及投资战略研究报告
- 暖通工程合同
- 生产型企业规章管理制度(3篇)
- 钢结构之楼承板施工方案流程
- 2024年营销部工作人员安全生产责任制(2篇)
- ISO 56001-2024《创新管理体系-要求》专业解读与应用实践指导材料之3:4组织环境-4.1理解组织及其环境(雷泽佳编制-2025B0)
- 2024-2030年中国管道检测工程行业前景分析发展规划研究报告
- 新的护理交班模式
- 2024年安徽省高校分类对口招生考试数学试卷真题
- 2024电影数字节目管理中心招聘历年高频难、易错点练习500题附带答案详解
- 棋牌室消防应急预案
- 《ISO56001-2024创新管理体系 - 要求》之22:“8运行-8.2 创新行动”解读和应用指导材料(雷泽佳编制-2024)
评论
0/150
提交评论