《汇编语言》练习题库参考答案讲解.doc_第1页
《汇编语言》练习题库参考答案讲解.doc_第2页
《汇编语言》练习题库参考答案讲解.doc_第3页
《汇编语言》练习题库参考答案讲解.doc_第4页
《汇编语言》练习题库参考答案讲解.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

华中师范大学网络教育学院汇编语言程序设计练习测试题库参考答案一、选择题答案:1.B2.C3.B4.C 5.C 6.C7.A8.A9.D10.C 11.B12.A13.C14.B15.A 16.D17.A18.A19.D20.A 21.A22.D23.C24.B25.C 26.D27.B28.D29.A30.A 31.D32.A33.D34.D35.D 36.D37.B38.C39.A40.D 41.A42.C43.B44.B45.C 46.D47.D48.D49.A50.A 51.D52.B53.C54.A55.B 56.C57.A58.C59.D60.C 61.A62.D63.C64.C65.D 66.A67.B68.C69.B70.D71.D72.A73.D74.C75.D76.C77.C78.D79.D80.B二、判断题答案:1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 1213. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 三、填空题答案:1运行 管理 程序2汇编程序 汇编 3存储器 译码分析4源地址 目标地址 存储器 IO设备 5. 6 3 664KD 字节 7不能 64K8. 00 9. 55 10. FF 11. 5512.源操作数 13.目的操作数 14.CNT 1 CL 15.字 字节 16.带符号数 无符号数 17.CF OF18.SI DI 19.AL AX DF 20.AL AX SI 21. + -22.段内转移段间转移23. 24.段地址偏移地址25.-128 +127 26.条件码 27.末尾 28.不影响 29.内部 外部 30.IP CS PSW31.第一个 32.不能 33.PTR 34. 标号 35. : 36. PTR 37. 地址表达式 38.SEG 39.OFFSET 40.TYPE 41. LENGTH 42. HIGH43. 标号、变量44. 指令、伪操作、宏指令的助记符 45. 表达式 46. 注释项 47. 操作数项48.顺序 线性法 49算法 存储 工作 501-几 没有 51.00H 4CH 52数据 工作 53.计数控制法 54.任一 55.256 56.已知 未知 57. 单重循环 58. 满足59. 条件 60.DO-UNTIL DO-WHILE 61. IF 62. EXE63. 堆栈 , SS 64. ;(或分号)65. AH66. 用寄存器传递 、 用存储单元传递、用堆栈传递(顺序可调换)67. 中断 , 中断源 。68. SI , DI 69. 接口 70. 16H 、 10H 和 17H 71. ASCII码 , 属性 72. 000DH 85B92H73. 85B92H74. SHL AX,1 SHL,AX,175. OF,AF,PF76. DH=0F0H CF=177. +65528_,_-32760_78. _状态_,_控制_79. _CF_,_ OF_80. 下一条指令的首地址81. _6_,_3_82. _ ES:DI_83. SI或DI84. 320EH85. 100H四、编程题答案:1 . 试编写一个程序段,要求能从键盘接收一个个位数N,然后响铃N次(响铃的ASCII码为07)。 MOV AH,01 INT 21H MOV CH,AL DOWN: MOV AH,02H MOV DL,07H INT 21H DEC CH JNZ DOWN 2 .编写一个完整的汇编语言程序,在屏幕上显示“华中师范大学”的英文名称。 DATA SEGMENT STR DB”HUA ZHONG SHI FAN DA XUE$”DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATAMOV DS,AXLEA DX,STRMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDS END BEGIN 3 .编程求从1开始连续50个奇数之和,并将结果存放在SUM字存储单元中。DATA SEGMENT SUM DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATAMOV DS,AXMOV CX,50MOV AX,1MOV BX,1LOP:ADD AX,BXADD BX,2DEC CXJNZ LOPMOV SUM,AXMOV AH,4CHINT 21HCODE ENDS END BEGIN4 .已知数组A包含6个互不相等的整数,数组B包含9个互不相等的整数,试编一程序将在A、B两数组中都出现的整数存放于数组C中。DATA SEGMENTA DB 2,B DB 5,.C DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATA MOV DS,AX LEA SI,A LEA DI,B LEA BX,CMOV CH,6LOP1:MOV CL,9LOP:MOV AH,SICMP DI,AHJNZ LMOV BX,AHINC BXL:INC DIDEC CLJNZ LOPINC SILEA DI.BDEC CHJNZ LOP1MOV AH.4CHINT 21HCODE ENDS END BEGIN5.试编写从内存BUF单元开始的256个字单元的清零程序。 DATA SEGMENTBUF DW 21,22,.DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATA MOV DS,AXLEA BX,BUFMOV CX,0FFHLOP:MOV BX,0ADD BX,2DEC CXJNZ LOPMOV AH,4CHINT 21HCODE ENDS END BEGIN6.设在变量ADR为起始地址的字节存储单元中存放一组有符号数据,编写程序分别统计: (1)正数的个数; (2)负数的个数; (3)0的个数。DATA SEGMENTADR BD 9,-1,3,-5,4,.SUM DB ?,?,?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATAMOV DS.AXLEA BX,ADRLOP:MOV AH,BXCMP AH,0JZ L1JL L2INC CHJMP DOWNL1:INC CL JMP DOWNL2:INC DLDOWN:DEC DLJNZ LOPMOV SUM,CLMOV SUM+1,CHMOV SUM+2,DLMOV AH,4CHINT 21HCODE ENDS END BEGIN7.在DATA1首址区有100个字节数据,试编写一个完整程序,将其中的奇、偶数分开。统计奇、偶数的个数,并将奇数送DATA2首址区,偶数送DATA3首址区。 DATA SEGMENT DATA1 DB 12,3,4,.DATA2 DB 100 DUP(?)DATA3 DB 100 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATAMOV DS,AXLEA BX,DATA1LEA SI,DATA2LEA DI,DATA3MOV CH,0MOV CL,0MOV DX ,100LOP:MOV AH,BXTEST AH,01HJNZ LMOV DI,AHINC DIINC CLJMP L1 L:MOVSI,AH INC SI INC CH L1:INC BX DEC DX JNZ LOPMOV AH,4CHINT 21H CODE ENDS END BEGIN8. 编写一程序段,将AL中的第7位和第0位,第6位和第1位,第5位和第2位,第4位和第3位互换。 MOV CX,8MOV AH,0K1:SHR AL,1RCL AH,1DEC CXJNZ K1MOV AL,AH 9. 编制一个程序求数组变量ARRAY中有多少个二进制位为1的程序。 DATA SEGMENTARRAY DW -l,7FFFH,-80000H+9,-56ABH DW 0B12H,-2,O,6578H,30EFH COUNT EQU ($-ARRAY)2 NUMBIT DB 2 DUP (?) TEM DW ?DATA ENDS STACK SEGMENT STAPN DB 1000 DUP(?) SYACK ENDSCODE SEGMENT ASSUME CS,CODE,DS:DATA,SS:STACK BEGIN PROC FAR PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV TEM,SP LEA BX,ARRAY MOV CX,COUNT GOON:MOV AX,LBX AGAIN:SHL AX,1 JNC NEXT ADD WORD PTR NUMBIT+1ADC NUMBIT+2,0NEXT:AND AX,AXJNZ AGAlN ADD BX,2LOOP GOON MOV SP,TEM RETBEGIN ENDPCODE ENDS10写一子程序CRLF,其功能是输出回车换行。 CRLF PROCPUSH AXPUSH DX MOV AH,2 MOV DL0DHINT 21HMOV DL,0AHINT 21H POP DXPOP AX RET CRLF ENDP11. 编一程序将字节变量DATAl中的压缩BCD数转换成二进制数,并将其存储到原变量中去的程序。 DATA SEGMENT DATAl DB 99H TEM DW ?DATA ENDSSTACK SEGMENT STAB DB l00 DUP(?)STACK ENDSCODE SEGMENTASSUME CS;CODE,DS:DATA,SS:STACKSTART PROC FARPUSH DSSUB AX,AXPUSH AXMOV AX,DATA MOV DS,AX MOV TEM,SP MOV AL,DATAl MOV CL4SHR AL,CL MOV DL,lOMUL BLMOV DL,Al MOV AL,DATAlAND AL,0FH ADD AL,BL MOV DATA1。AL MOV SP,TEMRETSTART ENDPCODE ENDSEND START12. 试编写一程序段,在CHAR为首址的26个字节单元中依次存放字母AZ。char db 26 dup(?). start:lea bx,charmov al,Amov cx,26lop1: mov bx,alinc alinc bxloop lop1. 13. 设在DAT1,DAT2字单元中存放一双字长有符号数,编一程序段,完成求出该双字长数的绝对值后送ABS1和ABS2字存储单元。 start:mov ax,dat1mov dx,dat2or dx,dxjns nextnot axnot dxadd ax,1adc dx,0next: mov abs1,axmov abs2,dx 14. 有两个无符号数分别存放于DATA1和DATA2单元,要求将两数中大的一个挑选出来,并送入DATA3单元。 MOV AL,DATA1 CMPAL,DATA2 JNCS1 MOVAL,DATA2S1: MOVDATA3,AL HLT 15. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。 BEGIN:MOV AH,1INT 21HCMP AL,aJB STOPCMP AL,zJA STOPSUB AL,20HMOV DL,ALMOV AH,2INT 21HJMP BEGINSTOP:RET 16. 编制程序段实现:将AX寄存器中的16位二进制数分成四组,每组4位,然后把这4组数分别放在AL、BL、CL、和DL中。 BCMOV BH,ALMOV CH,AHMOV AL,AHAND AL,0F0HMOV BL,AHAND BL,0FHMOV CL,BHAND CL,0F0HMOV DL,BHAND DL,0FH17. 编制完整程序实现下列算式:W=X+Y+36-Z。设X、Y、Z、W均为双字长数据,各自的低十六位数和高十六位数分别存放在X、X+2、Y、Y+2、Z、Z+2的存储单元中,结果的低十六位字和高十六位字分别存放在W和W2两个单元中。 BCDATA SEGMENTX DD Y DD Z DD W DD DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AX,XADD AX,YMOV BX,X+2ADC BX,Y+2ADD AX,36ADC BX,0SUB AX,ZSBB BX,Z+2MOV W,AXMOV W+2,BXCODE ENDSEND START18. 下述程序段完成计算220之间的偶数的和,并存于AX中。试把空白处填上适当的指令。 CXTK XOR AX,AX MOV BX,0 MOV CX,10或MOV CX,0AH CONT: ADD AX,BX ADD BX,2 LOOP CONT19. 试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为奇数

温馨提示

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

最新文档

评论

0/150

提交评论