汇编语言练习题库参考答案精选文档TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-华中师范大学网络教育学院《汇编语言程序设计》练习测试题库参考答案一、选择题答案:1.B2.C3.B4.C5.C6.C7.A8.A9.D10.C11.B12.A13.C15.A16.D17.A18.A19.D20.A21.A22.D23.C24.B25.C26.D27.B28.D29.A31.D32.A33.D34.D35.D36.D37.B38.C39.A40.D41.A42.C43.B44.B45.C47.D48.D49.A50.A51.D52.B53.C54.A55.B56.C57.A58.C59.D60.C61.A63.C64.C65.D66.A67.B68.C69.B70.D71.D72.A73.D74.C75.D76.C77.C79.D80.B二、判断题答案:1. ×2. ×3. √4. √5. ×6. √7. ×8. ×9. ×10. ×11. √12.√14. √15. √16. √17. ×18. ×19. √20. √21. √22. √23. √24. ×25. √26. ×27. √28 √30. √31. √32. √33. √34. √35. √36. √37. √38. √39. ×40. √41. ×42. √三、填空题答案:1.运行管理程序2.汇编程序汇编3.存储器译码分析4.源地址目标地址存储器 IO设备5. 6 36.64KD 字节7.不能 64K8. 009. 5510. FF11. 5512.源操作数13.目的操作数T 1 CL15.字字节16.带符号数无符号数17.CF OF18.SI DI19.AL AX DF20.AL AX SI21. + -22.段内转移段间转移23.IPCS24.段地址偏移地址25.-128 +12726.条件码27.末尾28.不影响29.内部外部30.IP CS PSW31.第一个32.不能33.PTR34. 标号35. ":"36. PTR37. 地址表达式38.SEG39.OFFSET40.TYPE41. LENGTH42. HIGH43. 标号、变量44. 指令、伪操作、宏指令的助记符45. 表达式46. 注释项47. 操作数项48.顺序线性法49.算法存储工作50.1-几没有51.00H 4CH52.数据工作53.计数控制法54.任一55.25656.已知未知57. 单重循环58. 满足59. 条件60.DO-UNTIL DO-WHILE61. IF62. EXE63. 堆栈 , SS64. ;(或分号)65. AH66. 用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)67. 中断 , 中断源。
68. SI , DI69. 接口70. 16H 、 10H 和 17H71. ASCII码 , 属性72. 000DH 85B92H?73. 85B92H?74. SHL AX,1 SHL,AX,175. OF,AF,PF?76. 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,01INT 21HMOV CH,ALDOWN: MOV AH,02HMOV DL,07HINT 21HDEC CHJNZ DOWN…2 .编写一个完整的汇编语言程序,在屏幕上显示“华中师范大学”的英文名称。
DATA SEGMENTSTR 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,4CHCODE ENDSEND BEGIN3 .编程求从1开始连续50个奇数之和,并将结果存放在SUM字存储单元中。
DATA SEGMENTSUM DWDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATAMOV DS,AXMOV CX,50MOV AX,1MOV BX,1LOP:ADD AX,BXADD BX,2JNZ LOPMOV SUM,AXMOV AH,4CHINT 21HCODE ENDSEND BEGIN4 .已知数组A包含6个互不相等的整数,数组B包含9个互不相等的整数,试编一程序将在A、B两数组中都出现的整数存放于数组C中。
DATA SEGMENTA DB 2,……B DB 5,…..C DBDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATA MOV DS,AX LEA SI,ALEA DI,BLEA BX,CMOV CH,6LOP1:MOV CL,9 LOP:MOV AH,[SI]CMP [DI],AHJNZ LMOV [BX],AHINC BXL:INC DIDEC CLJNZ LOPINC SILEA DI.BDEC CHJNZ LOP1MOV AH.4CHINT 21HCODE ENDSEND BEGIN5.试编写从内存BUF单元开始的256个字单元的清零程序。
DATA SEGMENTBUF DW 21,22,……..DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATAMOV DS,AXLEA BX,BUFMOV CX,0FFHLOP:MOV [BX],0ADD BX,2DEC CXJNZ LOPMOV AH,4CHINT 21HCODE ENDSEND BEGIN6.设在变量ADR为起始地址的字节存储单元中存放一组有符号数据,编写程序分别统计:(1)正数的个数;(2)负数的个数;(3)0的个数。
DATA SEGMENTADR BD 9,-1,3,-5,4,….SUM DB ,,DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA BEGIN:MOV AX,DATAMOV DS.AXLEA BX,ADRLOP:MOV AH,[BX]CMP AH,0JZ L1JL L2INC CHJMP DOWNL1:INC CLJMP DOWNL2:INC DLDOWN:DEC DLJNZ LOPMOV SUM,CLMOV SUM+1,CHMOV SUM+2,DLMOV AH,4CHINT 21HCODE ENDSEND BEGIN7.在DATA1首址区有100个字节数据,试编写一个完整程序,将其中的奇、偶数分开。
统计奇、偶数的个数,并将奇数送DATA2首址区,偶数送DATA3首址区。
DATA SEGMENTDATA1 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,[BX]TEST AH,01HJNZ LMOV [DI],AHINC DIINC CLJMP L1L:MOV[SI],AHINC SIINC CHL1:INC BXDEC DXJNZ LOPMOV AH,4CHINT 21HCODE ENDSEND 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,-56ABHDW 0B12H,-2,O,6578H,30EFHCOUNT EQU ($-ARRAY)/2NUMBIT DB 2 DUP ()TEM DWDATA ENDSSTACK SEGMENTSTAPN DB 1000 DUP()SYACK ENDSCODE SEGMENTASSUME CS,CODE,DS:DATA,SS:STACK BEGIN PROC FARPUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV TEM,SPLEA BX,ARRAYMOV CX,COUNTGOON:MOV AX,LBX]AGAIN:SHL AX,1JNC NEXTADD WORD PTR NUMBIT+1ADC NUMBIT+2,0NEXT:AND AX,AXJNZ AGAlNADD BX,2LOOP GOONMOV SP,TEMRETBEGIN ENDPCODE ENDS10.写一子程序CRLF,其功能是输出回车换行。
CRLF PROCPUSH AXPUSH DXMOV AH,2MOV DL.0DHINT 21HMOV DL,0AHINT 21HPOP DXPOP AXRETCRLF ENDP11. 编一程序将字节变量DATAl中的压缩BCD数转换成二进制数,并将其存储到原变量中去的程序。
DATA SEGMENTDATAl DB 99HTEM DWDATA ENDSSTACK SEGMENTSTAB DB l00 DUP()STACK ENDSCODE SEGMENTASSUME CS;CODE,DS:DATA,SS:STACKSTART PROC FARPUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV TEM,SPMOV AL,DATAlMOV CL.4SHR AL,CLMOV DL,lOMUL BLMOV DL,AlMOV AL,DATAlAND AL,0FHADD AL,BLMOV DATA1。