2016《汇编语言》练习题库参考答案分析
- 格式:doc
- 大小:72.00 KB
- 文档页数:16
汇编语言试题及答案一、单项选择题(每题2分,共20分)1. 汇编语言是一种()。
A. 高级语言B. 低级语言C. 机器语言D. 符号语言答案:D2. 汇编语言程序必须经过()才能被计算机执行。
A. 编译B. 汇编C. 链接D. 解释答案:B3. 在汇编语言中,指令通常由()组成。
A. 操作码和操作数B. 操作码和地址码C. 操作码和数据D. 地址码和数据答案:A4. 汇编语言中的寄存器主要用于()。
A. 存储数据B. 存储指令C. 存储地址D. 存储控制信息答案:A5. 汇编语言中的立即寻址方式是指()。
A. 操作数在寄存器中B. 操作数在内存中C. 操作数在指令中D. 操作数在输入/输出端口中答案:C6. 在汇编语言中,指令“MOV AX, 1234H”的作用是()。
A. 将内存地址1234H的内容移动到AX寄存器B. 将立即数1234H移动到AX寄存器C. 将AX寄存器的内容移动到内存地址1234HD. 将AX寄存器的内容移动到另一个寄存器答案:B7. 汇编语言中的循环结构通常使用()指令实现。
A. JZB. JNZC. LOOPD. CALL答案:C8. 在汇编语言中,子程序调用通常使用()指令。
A. JZB. JNZC. CALLD. RET答案:C9. 汇编语言中的堆栈操作通常使用()指令。
A. PUSHB. POPC. MOVD. ADD答案:A10. 在汇编语言中,中断服务程序的结束通常使用()指令。
A. INTB. IRETC. RETD. CALL答案:B二、填空题(每题2分,共20分)1. 汇编语言中的指令通常由______和______两部分组成。
答案:操作码;操作数2. 汇编语言中的寄存器可以分为______、______和______三类。
答案:通用寄存器;段寄存器;控制寄存器3. 汇编语言中的寻址方式包括______、______、______和______等。
答案:立即寻址;直接寻址;间接寻址;寄存器寻址4. 在汇编语言中,指令“MOV AX, BX”的作用是将BX寄存器的内容______到AX寄存器。
2012汇编语言试题A一.单项选择题(每题1分,共20分)1.指令指针寄存器是(C)。
A)BP B)SP C)IP D)PSW2.DA1 DB 67HNUM EQU 80H则执行AND DA1,NUM语句后DA1中的内容是(D)。
A)E7HB)80HC)67HD)03.与指令MOV AX,NOT 0F0H等效的汇编语言指令是(B)。
A)MOV AX,0FH B)MOV AX,0FF0FHC)MOV AX,000FH D)MOV AX,0F0H4.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是(D)。
A)CMP B)SUB C)AND D)MOV5.将高级语言的程序翻译成机器码程序的实现程序是(A)。
A)编译程序B)汇编程序C)解释程序D)目标程序6.在程序顺序执行时,每取一条指令语句,IP指针增加的值是(D)。
A)1B)2C)3D)由指令长度决定的7.假设字节单元(02398H)=12H,(02399H)=34H,(0239AH)=56H,则(02399H)字单元的内容是(C)。
A)3412H B)3456H C)5634H D)1234H8.INC WORD PTR [BX] 指令中的操作数的数据类型是(A)。
A)字B)双字C)字节D)四字9.在循环程序中使用LOOP指令作为循环结束的判断,其计数值一般应放在寄存器是(B)。
A)DX B)CX C)BP D)IP10.在汇编语言程序设计中,伪指令OFFSET的含义是回送变量或标号的(B)。
A)段地址值B)偏移地址值C)物理地址值D)操作数11.下面的数据传送指令中,错误的操作是(D)。
A)MOV SS:[BX+DI],1000H B)MOV DX,1000HC)WORD PTR [BX],1000H D)MOV DS,2000H12.在下列指令的表示中,不正确的是(C)。
A)MOV AL,[BX+SI]B)JMP SHORT DON1C)DEC [BX]D)MUL CL13.在一列段寄存器中,堆栈段寄存器是(D)。
专题1:语言运用之语音.字形、标点.修辞及综合运用等一、【2016年高考山东卷】 (每小题3分,共15分)黟县的西递和宏村,拥有蜚声海内外的徽派建筑群。
两村背依青山,清流抱村穿户。
数 百幢明清时期的民居静静伫.立。
高大奇伟的马头墙有骄傲睥睨的表情、跌宕飞扬的韵质、① _错误!未找到引用源。
灰白的屋壁被时间涂画出斑驳的线条。
李白的“黟县小桃源,烟霞百 里间。
地多灵草木,人尚古衣冠”,道出了这里山水风物的(优美/幽美)、民风人情的淳.厚从容。
要真正(领略/领悟)徽派建筑之美,该是在西递村。
②_ 错误!未找到引用源。
在都市 的暄哗之外,西递向我们呈现了一种宁静质朴卜..的民间生活。
从远处望去,西递是一片线条简 洁的黑瓦铺成的屋顶和高大的白墙,黑白相间,③错落有致。
迈入老屋你会发现,这些老屋内部的(繁杂/繁复)精致与外部的简洁纯粹..形成鲜明的对照,徽派建筑中著名的三雕一一④ _____________ 木雕、砖雕、石雕在这里体现得淋漓尽至..。
1. 文中加点的字的注音和加点词语的字形,都正确的一项是2.依次选用文中括号里的词语,最恰当的一项是A . 优美 领略 繁杂.幽美 领略 繁复 C . 幽美 领悟 繁杂卜优美 领悟繁复3.文中画线处的标点,使用错误的一项是A.① B . ② C .③D .④【答案】 1. B 2.. B 3. A1.试题分析:A 血暄哗”应为“喧哗,形容声音大而朶乱.C "■伫(血应为"伫(如)”,伫立: 长时间地站立,没有动作;也泛指站立.漓尽至”应为“牀漓尽致”,形容文章或说话表达得非 常充分、透彻,或非常痛快口【考点定位】识记现代汉语普通话常用字的字音,识记并正确书写现代常用规范汉字。
能力 层级为识记A 。
【名师点睛】本题考查识记现代汉语普通话常用字的字音字形并正确书写现代常用规范汉字的能力,延续了 2015年高考题型,让考生在具体的语言环境中完成字音及字形的辨析。
计算机技术汇编语言试题含答案第一部分:选择题1. 汇编语言是计算机硬件的一种低级编程语言,其特点是()。
A. 高级、易读易写B. 低级、复杂C. 低级、易读易写D. 高级、复杂答案:C2. 汇编语言是一种()。
A. 人机交互语言B. 低级语言C. 高级语言D. 自然语言答案:B3. 汇编语言最主要的作用是()。
A. 提高计算机运行速度B. 完成特定的计算任务C. 方便程序员编写高级语言程序D. 简化计算机指令的执行过程答案:C4. 汇编语言的指令是由()组成的。
A. 二进制代码B. 十进制代码C. 字母和数字D. 中文字符答案:A5. 汇编语言与机器语言之间的关系是()。
A. 完全相同B. 相似但不完全一样C. 完全不同D. 无法确定答案:B第二部分:简答题1. 什么是汇编器?它的作用是什么?汇编器是一种用于将汇编语言代码翻译成机器代码的软件工具。
其作用是将人类可读的汇编语言指令转换成计算机能够理解的二进制代码,以便计算机能够执行相应的操作。
2. 谈谈汇编语言的优点和缺点。
汇编语言的优点包括:- 直接操作底层硬件,可精确控制计算机执行指令,提高程序执行效率。
- 可以直接访问和利用硬件资源,如寄存器、内存等。
- 可以编写高效的程序,适用于对性能要求较高的场景。
- 编写汇编语言程序相对来说较为简单,可以更好地理解计算机的工作原理。
汇编语言的缺点包括:- 难以学习和掌握,对于初学者来说门槛较高。
- 编写的程序复杂度高,维护困难。
- 汇编语言代码的可移植性差,不同的计算机体系结构需要不同的汇编指令集。
- 缺乏高级语言的抽象和封装特性,代码可读性差。
第三部分:编程题请编写一段汇编语言代码,实现将数组 A 中所有元素加 1 的功能。
数组 A 的起始地址保存在寄存器 AX 中,数组长度保存在寄存器 BX 中。
假设数组 A 的元素都是字节类型。
```asmMOV CX, 0 ; 用于循环计数的寄存器MOV SI, AX ; 用于保存数组起始地址的寄存器LOOP_START:MOV AL, [SI] ; 将当前数组元素的值加载到 AL 寄存器ADD AL, 1 ; 将 AL 寄存器中的值加 1MOV [SI], AL ; 将 AL 寄存器中的值存回数组对应位置INC CX ; 循环计数器加 1INC SI ; 数组地址指针加 1CMP CX, BX ; 比较循环计数器和数组长度JL LOOP_START ; 如果循环计数器小于数组长度,则跳转到LOOP_START 继续循环```答案:以上汇编语言代码实现了将数组 A 中的所有元素加 1 的功能。
汇编语言习题答案第一题:MOV AX, 0FEDCHMOV BX, 0A4EFHADD AX, BXMOV CX, AX答案分析:这道题目要求使用汇编语言计算两个十六进制数的和,并将结果存储在CX寄存器中。
解答步骤如下:1. 将0FEDCH赋值给AX寄存器,表示将十六进制数0FEDC存储在AX中。
2. 将0A4EFH赋值给BX寄存器,表示将十六进制数0A4EF存储在BX中。
3. 使用ADD指令将AX和BX的值相加,结果存储在AX中。
4. 最后,将AX的值赋值给CX寄存器,表示将求和结果存储在CX中。
第二题:MOV AL, 01HXOR AL, 01H答案分析:这道题目要求使用汇编语言将AL寄存器中的值与十六进制数01H 进行异或操作。
解答步骤如下:1. 将十六进制数01H赋值给AL寄存器,表示将十六进制数01存储在AL中。
2. 使用XOR指令对AL寄存器的值和01H进行异或操作,结果仍存储在AL中。
第三题:MOV AH, 0B7HOR AH, 08H答案分析:这道题目要求使用汇编语言将AH寄存器中的值与十六进制数08H 进行或操作。
解答步骤如下:1. 将十六进制数0B7H赋值给AH寄存器,表示将十六进制数0B7存储在AH中。
2. 使用OR指令对AH寄存器的值和08H进行或操作,结果仍存储在AH中。
第四题:MOV AX, 5CMP AX, 3JA Label1JB Label2JMP Label3Label1: MOV BX, 10JMP EndLabel2: MOV BX, 20JMP EndLabel3: MOV BX, 30End:答案分析:这道题目要求使用汇编语言编写一个条件语句,根据AX寄存器的值选择执行不同的代码段。
解答步骤如下:1. 将十进制数5赋值给AX寄存器,表示将十进制数5存储在AX 中。
2. 使用CMP指令将AX和3进行比较,如果AX大于3,则跳转到Label1;如果AX小于3,则跳转到Label2;如果相等,则跳转到Label3。
汇编语言试题及参考答案汇编语言试题及参答案一、填空题1. ZF标志位是标志结果是否为零的,若结果,ZF为(),否则ZF为()。
当ZF 为1 时,SF 为()2. 标号可以有两种类型属性。
它们是()和()3.8 位无符号整数的表示范围为0--255 ,写成16 进制形式为(),8 位有符号整数的表示范围为-128--+127, 写成16 进制形式为()4. 伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是(),不得有名字的是(),可有可无名字的是()。
5. 循环程序通常由()()()和循环结果外理四部分构成6. 在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/()于+,-;XOR ,OR()于AND,LT ()于GT7. 宏指令定义必须由伪指令()开始,伪指令()结束,两者之间的语句称为()8. 调用程序与子程序之间的参数传递方法有四种,即堆栈法()()()9. 分别用一条语句实现下述指明的功能( 1 )栈顶内容弹出送字变量AYW ()(2)双字变量AYD 存放的地址指针送ES 和SI()(3)变量AY2 类型属性送AH ()( 4 )不允许中断即关中断()(5)将字符串‘ HOW ARE YOU 存入变量AYB ()( 6 )子程序返回调用程序()(7)地址表达式AYY[4]的偏移地址送字变量ADDR()(8)AX 的内容加 1 ,要求不影响CF()(9)BX 的内容加1,要求影响所有标志位()(10)若操作结果为零转向短号GOON ()二、单选题1.IBM PC 微机中,有符号数是用()表示的1 .原码2.补码3.反码4.BCD 码2. 把汇编源程序变成代码程序的过程是()1 .编译2.汇编3.编辑4.链接三、己知:VAR1 ,VAR2 的类型属性分别为字和字节,标号LPFAR 的类型属性为FAR。
指出下列非法语句的错误原因1. POP CS ()2.INC [BX] ()3. MVL 8()4. JLE LPFAR()5. MOV DB,1800()6. MOV[DI],VAR17.SUB AX,VAR2()8.CMP SS AX()四、简答题1. 试述子程序的一般结构组成2. 标号有哪三个属性?其含义是什么?3. 试述CMP AX ,BX 和SUB AX ,BX 两条语句的异同点?五、阅读如下程序段,回答所提出的问题,假定X1,X2,...XN 为无符号数。
汇编语言练习题及习题答案选择1、用户为了解决自己的问题,用汇编语言所编写的程序,称为___________。
A 、目标程序B、源程序C、可执行程序D、汇编程序2、无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是___________。
A、ADD BH,01HB、OR BH,01HC、XOR BH,01HD、TEST BH,01H3、设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1,执行SBB AL,[SI]后,正确的结果是___________。
A、AL=5FH SF=1 CF=1B、AL=60H SF=1 CF=0C、AL=5FH SF=0 CF=1D、AL=60H SF=0 CF=04、设AX=1000HNEG AXNOT AX执行上述指令后,正确的结果是___________。
A、AX=1001HB、AX=0FFFHC、AX=1000HD、AX=0111H5、CBW指令的功能是___________。
A、把源操作数的符号位扩展到目的操作数中B、把AL中的符号位扩展到AH中C、把AH中的符号位扩展到AL中D、把AX中的符号位扩展到DX中6、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是A、指令XOR AX,AX执行后,AX内容不变,但设置了标志位B、指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C、指令AND AX,OFH执行后,分离出AL低四位D、NOT AX,执行后,将AX清07、执行下列指令序列后,正确的结果是___________。
MOV AL,81HADD AL,ALADC AL,ALA、AL=05HB、AL=204HC、AL=04HD、AL=205H4、TEST DL,55HJE NEXT….NEXT:……上述程序段,执行JE指令时能产生转移的情况是。
A、DL>55HB、DL<55HC、DL=55HD、DL中第0、2、4、6位均为05、设CL=05H,要获得CL=0AH,可选用的指令是。
*教材:机械工业出版社主编《80x86汇编语言程序设计》第2版•马力妮CH1思考题:1-2、7-8、12、14【1.1】填空题(1)把汇编语言源程序转换为相应的目标程序的翻译程序称为(),这个翻译过程称为()。
(2)汇编语言源程序经()后,形成目标文件,再经()后,形成可执行文件。
(3)()是计算机中表示信息的最小单位,8位二进制数为一个(),而()是在操作中作为一个单元处理的一组数据。
(4)BCD码有两种存储方式:()和()。
(5)8位二进制的无符号数可表示的最大范围为()。
8位二进制的带符号数可表示的最大范围为()。
【1.2】选择题(1)下面各8位二进制数的补码中,绝对值对小的是()A. 01111111B. 10000001C. 01101101D.11111111(2)补码11001000表示的十进制真值是( )A. 200B. –200C. –56D. -184(3)16位带符号数所能表示的范围是( )A.–32767~+32768B.0~65535C.-65535~+65536D.-32768~+32767(4)与100.5不相等的数据是()A. 64.8HB. 1100100.1BC. 64.5HD. 144.4Q(5)将目标程序转换为可执行程序的是()A. 编辑程序B. 汇编程序C. 连接程序D.调试程序【1.7】将下列二进制数转换为十六进制数和十进制数。
(1)101011 B(2)11010011B (3)10110101B (4)1101100B【1.8】将下列十六进制数转换为二进制数和十进制数。
(1)2DH (2)1512H (3)1C5H (4)21F0H【1.12】将下列十进制数分别用组合型BCD码和非组合型BCD码表示。
(1)35 (2)74 (3)98 (4)14【1.14】有一个8位的数值00110101,回答问题:(1)如果它是一个二进制数,它表示的十进制数是多少?(2)如果它是BCD码,它表示的数是什么?(3)如果它是ASCII码,它表示的字符是什么?CH2思考题:1-3、6--9、11-12、16书面题:10、13-15【2.1】填空题(1)微型计算机硬件系统结构主要是由三部分组成,它们是()、()、()。
华中师范大学网络教育学院《汇编语言程序设计》练习测试题库参考答案一、选择题答案:1.B2.C3.B4.C5.C6.C7.A8.A9.D10.C11.B12.A13.C14.B15.A16.D17.A18.A19.D20.A21.A22.D23.C24.B25.C26.D27.B28.D29.A30.A31.D32.A33.D34.D35.D36.D37.B38.C39.A41.A42.C43.B44.B45.C46.D47.D48.D49.A50.A51.D52.B53.C54.A55.B56.C57.A58.C59.D60.C61.A62.D63.C64.C65.D66.A67.B68.C69.B70.D71.D72.A73.D74.C75.D76.C77.C78.D79.D80.B二、判断题答案:1. ×3. √4. √5. ×6. √7. ×8. ×9. ×10. ×11. √12.√13. ×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 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. 中断 , 中断源。
《IBM—PC汇编语言程序设计》习题参考答案第一章.习题1.1用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3将下列十六进制数转换为二进制数和十进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。
(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6) -85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H;CF=0;OF=0 1.6下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为-40,D8H表示的无符号数为216;(2) FFH表示的带符号数为-1,FFH表示的无符号数为255。
2016年全国中考语文试题分类汇编10《语言表达一》仿写、续写、扩写、修辞、对联【北京市】春节是团圆的日子,也是传承民族优秀文化的日子。
请你根据要求,完成1—5题。
(共16分)3.下面适合春节张贴的上联和下联分别是()(2分)【答案】A C【解析】本题考查对联知识,第一需要根据实际语境选出与春节相关的对联,第二需要根据平仄原则确定出上联和下联。
【重庆市A卷】5.重庆创建文明卫生城市,需要人人参与,从我做起。
请参照划线句,在横线上仿写两个句子。
(要求:语意连贯,句式一致)(4分)校园里,你的文明,也许就表现在上下楼梯时的靠右行走,,表现在阅览室取书时的轻拿轻放;校园外,你的文明,也许就表现在公交站台上的有序上下车,,表现在公共场所中的轻言细语……【答案】5.(4分)意合即可。
示例:表现在接受同学帮助时的真诚道谢表现在参观博物馆时的静静观赏(每句2分)【重庆市B卷】6.请从备选事物中任选一个,参照示例,仿写一句话,句式不限。
(4分)示例:阳光:午后的阳光穿枝拂叶而来,温柔地亲吻着我的脸庞。
备选事物:月亮枯叶小溪事物:仿写:【答案】6.(4分)示例一:月亮我抬头望天,月亮温柔地注视着我;我举步行走,月亮默默地陪伴我走那夜行的路。
示例二:枯叶枯叶轻叹一声,从枝头飘落,投入大地的怀抱。
示例三:小溪小溪一路欢歌,奔向远方。
(拟人2分,情感2分)【福建省福州市】3.阅读下面的文字,请你为三坊七巷中衣锦坊的一副槛联选择恰当的下联。
(3分)在福州三坊七巷,曲艺文化是最时尚、最风雅的视听盛宴。
观戏听曲历来是百姓的喜乐之事,有些富贵人家热衷于在自己的家里搭设独具特色的宅院戏台,时常唱演些福州的伬唱、戏剧等曲艺节目,为坊巷的生活平添了无穷的乐趣。
衣锦坊的郑氏宅院里保留着福州城内唯一流传至今的水上戏台,其设计精美,意境雅致。
夜晚听戏,更以隔水听音的效果为人所称道。
上联:春暖华堂人衣锦下联:(只填序号)A.管竹琴弦乐齐鸣B.婉转莺歌凌紫烟C.千秋雅调遥相闻D.月明水榭客听歌【答案】3.(3分)D【解析】根据对联知识,上联是两个动宾短语组成,下联要对应,只有D项吻合。
汇编语言程序设计习题及答案汇编语言程序设计习题及答案汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。
虽然在现代计算机编程中,高级语言如C、Java等更为常见,但了解汇编语言的基本原理和编程技巧对于理解计算机底层工作原理和进行性能优化非常重要。
本文将介绍一些汇编语言程序设计的习题及其答案,帮助读者巩固和提升汇编语言编程能力。
一、基础习题1. 编写一个汇编程序,将存储器中的某个字节的值加1,并将结果存回原位置。
答案:```assemblyMOV AL, [地址]INC ALMOV [地址], AL```2. 编写一个汇编程序,计算存储器中一个数组的和,并将结果存放在指定的寄存器中。
答案:```assemblyMOV CX, 数组长度MOV BX, 数组首地址MOV AX, 0LOOP_START:ADD AX, [BX]ADD BX, 2LOOP LOOP_START```二、进阶习题1. 编写一个汇编程序,实现字符串的逆序输出。
答案:```assemblyMOV SI, 字符串首地址MOV DI, 字符串尾地址MOV CX, 字符串长度DEC CXREVERSE:MOV AL, [SI]MOV AH, [DI]MOV [DI], ALMOV [SI], AHINC SIDEC DILOOP REVERSE```2. 编写一个汇编程序,实现两个16位无符号整数的相乘,并将结果存放在指定的寄存器中。
答案:```assemblyMOV AX, 第一个数MOV BX, 第二个数MUL BX```三、挑战习题1. 编写一个汇编程序,实现一个简单的计算器,支持加法、减法、乘法和除法运算。
答案:```assemblyREAD_INPUT:; 读取用户输入; ...PARSE_INPUT:; 解析用户输入,获取操作数和运算符; ...CALCULATE:; 根据运算符进行相应的计算; ...DISPLAY_RESULT:; 将计算结果显示给用户; ...LOOP:; 循环执行计算器程序; ...```2. 编写一个汇编程序,实现一个简单的迷宫游戏,玩家通过键盘控制角色在迷宫中移动,并找到出口。
《汇编语言程序设计》考试练习题及答案一、单选题1. 计算机中存取信息或数据的最小单位为()A 、位B 、字节C 、字D 、双字答案:B2. 调用子程序的指令为()A 、CALLB 、RETC 、HLTD 、NOP答案:A3. DOS功能调用是通过()指令去调用DOS系统提供的软件中断处理程序A 、INT 21HB 、INT 23HC 、INT 12HD 、INT 11H答案:A4. 满足()时,CPU允许中断A 、IF=0B 、IF=1C 、DF=0D 、DF=1答案:B5. 完成对CL寄存器的内容乘以4的正确操作是()。
A 、ROL CL,1 ROL CL, 1B 、MUL 4C 、SHL CL, 1 SHL CL, 1D 、MOV CL , 2 SHL CL, CL答案:C6. 下面寄存器中可以分为两个独立8位寄存器的是()A 、AXB 、DIC 、CSD 、SI答案:A7. ()是用二进制编码的机器指令的集合及一组使用机器指令的规则,是CPU能直接识别的唯一语言。
A 、汇编语言B 、机器语言C 、JAVA语言D 、C语言答案:B8. 源程序模块结束语句为()A 、ORGB 、ENDC 、SEGMENTD 、START答案:B9. 8位补码表示的有符号数的表示范围是()A 、0~255B 、-128~+127C 、0~65535D 、-32768~+32767答案:B10. 在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来,下列说法正确的是()A 、占内存空间小,但速度慢B 、占内存空间大,但速度快C 、占内存空间相同,但速度快D 、占内存空间相同,但速度慢答案:B11. 与LEABX ,BUF指令完全等效的指令是()。
A 、MOV BX ,BUFB 、LDS BX ,BUFC 、MOV BX ,OFFSET BUFD 、MOV BX ,WORD PTR BUF答案:C12. 14的非压缩BCD码为()A 、00010100B 、01000001C 、0000000000010100D 、0000000100000100答案:D13. 要实现使BETA的值为56,应采用的语句是()A 、BETA DB 56B 、BETA DB 56HC 、BETA EQU 56HD 、BETA EQU 56答案:D14. ()不可以做目的操作数A 、立即数B 、寄存器C 、存储器操作数D 、累加器答案:A15. 计算机一般由中央处理器、存储器和输入/输出子系统组成,其中()可以存放程序、数据、信息及中间结果。
一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
)1.为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是(D)A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546HC.DW ‘AB’,‘CD’,‘EF’D.DW ‘BA’,‘DC’,‘FE’2.DA2 DB‘AB’,‘CD’┇MOV AX,WORD PTR DA2+1上述语句执行后AX中的值是(D)A.‘AD’B.‘BC’C.‘DA’D.‘CB’3.下列数据定义语句中可实现留空20H个字节存储单元的是(D)A.DB 20 DUP(?) B.DW 20H DUP(?)C.DB 10H DUP(4 DUP(?)) D.DD 08H DUP(?)4.如某存储器分段时,表示偏移地址是17位二进制代码,那么一个段最多的存储单元数是(D)A.32K字节B.32K字C.64K字节D.64K字5.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(B)A.BX B.BPC.SI D.DI6.下列指令中有语法错误的是(C)A.PUSH AX B.PUSH [20H+SI+BX]C.POP CS D.PUSH CS7.执行PUSH BP指令时,目的操作数的物理地址表达式是(D)A.16*SS+BP B.16*DS+BPC.16*CS+IP D.16*SS+SP8.把BL中的数据输出到端口8CH中正确指令是(C)A.OUT 8CH,BL B.IN 8CH,BLC.MOV AL,BL D.MOV AL,BLOUT 8CH,AL IN 8CH,AL9.结果为零的条件转移指令,其测试条件是(A)A.ZF=1 B.ZF=0C.SF=l D.SF=010.下面程序段完成测试DA-BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中方框里应填的语句是MOV CH,0MOV CH,0FFHZERO:MOV DH,CH(C)A.JNZ ZERO B.JS ZEROC.JZ ZERO D.JC ZERO11.汇编源程序时,出现语法错误的语句是(C)A.MOV [BX+SI],BX B.MOV CL,[BP+DI]C.MOV CS,AX D.MOV DS,AX12.设SP初值为3050H,执行指令PUSH BX后,SP的值是(B)A.304FH B.304EHC.3048H D.3049H13.串操作指令中,每次操作后使SI/DI为减量应设置(C)A.DF=0 B.TF=1C.DF=1 D.TF=014.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为(B)A.AL=57H,BL=24H B.AL=33H,BL=24HC.AL=57H,BL=33H D.AL=33H,BL=015. 当执行ADD AX ,BX 指令后,若AX的内容为4E52H 时,设置的奇偶标志位PF=0 ,下面的叙述正确的是( A)A. 表示结果中含 1 的个数是奇数B. 表示结果中含1 的个数是偶数C. 表示该数是奇数D. 表示结果中低8 位中含1 的个数是奇数16. 设物理地址(21000H)=20H, (21001H)=30H,(21002H)=40H 。
一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。
1.用来存放下一条将要执行的指令地址的寄存器是(B)A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为(D)A.IF=1B.TF=0C.DF=1D.DF=03.使状态标志位CF清零的错误指令是(C)A.OR AX,AX B.SUB AX,AXC.MOV CF,0D.CLC4.设SP=1110H,执行PUSH AX指令后,SP的内容为(B)A.SP=1112H B.SP=110EHC.SP=1111H D.SP=110FH5.汇编源程序出现语法错误的指令有(D)A.MOV[BX+SI],AL B.MOV AX,[BP+DI]C.MOV DS,AX D.MOV CS,AX6.下列串操作指令中,必须同时指明源串和目的串地址的指令是(D)A.STOSW B.LODSWC.SCASW D.CMPSW7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是(B)A.SHR BL,1B.SHL BL,1C.SAR BL,1D.RCR BL,18.执行PUSH AX指令的正确步骤是(A)A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL2.(SP)←AL,SP←SP+19.CF=1时转移到目标地址的条件转移指令是(B)A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是(C)A.对正数求补时,CF=0B.对负数求补时,CF=0C.对非零数求补时,CF=1D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A)A.目的操作数最高位为0B.目的操作数最高位为1C.目的操作数为任意情况D.无论什么情况都不可能相同12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是(D)A.AX=0032H B.AX=00E0HC.AX=03E0H D.AX=0FFE0H13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是(D)A.MOV AX,BUFl*BUF2B.MOV AX,BUF1/BUF2C.MOV AX,BUF1+ES:BUF2D.MOV AX,BUF2-BUF114.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是(C )A.INC WORD PTR [BX+SI]B.INC CX,[SI+COUNT]C.NEG BYTE PTR [BX]D.ADD AX,B15.NUM EQU 80HDA DB 34HAND DA,NUM上述语句执行后,DA 中的内容是(D )A.0B4H B.80H C.34H D.016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为(A )A.立即、直接、间接B.直接、间接、立即C.直接、立即、间接D.不一定17.语句DA1DB 2DUP(3,5,7)汇编后,该语句可等同于的语句是(D )A.DA1DB 3,5,7B.DA1DB 2,3,5,7C.DA1DB 3,5,7,2D.DA1DB 3,5,7,3,5,718.MOV AL,80HMOV CL,2SAR AL,CL上述指令序列执行后,结果是(D )A.AL=40H B.AL=20HC.AL=0C0H D.AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是(A )A.INC AL B.ADD AL,1DAA DASC.ADD AL,1D.STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H 设AL=01H,BX=0100H,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A.AL=20H B.AL=38HC.AL=00H D.AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是(B )A.0041H B.4100H 20H38H41H55HC.xx41H D.41xxH[注]选项C.和D.中的XX表示任意数据。
`00第一章课外练习题一、单项选择题:1.从键盘输入的字符,在计算机内存储的是它的(A)(A)二进制编码(B)四进制编码(C)八进制编码(D)十六进制编码2.6位无符号二进制数能表示的最大十进制数是(B)。
(A)64 (B)63 (C)32 (D)31 3.十进制数269变换为十六进制数是(C)。
(A)10B (B)10C (C)10D (D)10E 4.8位的微型计算机系统是以16位来表示地址,则该微机系统有(C)个地址空间。
(A)255 (B)65535 (C)65536 (D)1048576 5.8位有符号二进制数能表示的最大十进制数是(D)。
(A)256 (B)255 (C)128 (D)127 6.十六进制数88H,可表示成下面几种形式,请找出错误的表示(D)。
(A)无符号十进制数136 (B)带符号十进制数-120(C)压缩型BCD十进制数88 (D)8位二进制数-8的补码表示7.有一个数值152,它与十六进制数6A相等,那么该数值是(B)。
(A)二进制数(B)八进制数(C)十进制数(D)四进制数8.7位ASCII总共可表示(C)个符号。
(A)256 (B)127 (C)128 (D)255 9.4B的字长是(C)。
(A)8位(B)16位(C)32位(D)64位二、判断题(判断每题正误,对的在题后括号内划“√”,错的划“×”)1.字节通常用英文单词“Bit”来表示(×)。
2.目前广泛使用的Pentium计算机其字长为5个字节(×)。
3.存储器中将8个相邻的二进制位作为一个单位,这种单位称为字节(√)。
4.微型计算机的字长并不一定是字节的整数倍(×)。
三、填空题1.8位有/无符号整数的表示范围写成16进制形式为(80~~7F)/(00~~FF)。
2.己知:计算机中有一个“01100001”编码,如果把它看作是无符号数,它是十进制什么数(97);如果认为它是BCD,则表示(01100001)BCD;认为它是某个ASCII,则代表(a)字符。
1第一章1.1 解:五代,详细见书1.2 解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统。
PC 机:PC(Personal Computer)机就是面向个人单独使用的一类微机。
单片机:用于控制的微处理器芯片,内部除CPU 外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A 转换电路等。
数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用1.3 解:微机主要有存储器、I/O 设备和I/O 接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:CPU:统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O 设备:实现微机的输入输出功能I/O 接口:I/O 设备与CPU 的桥梁操作系统:管理系统所有的软硬件资源1.4 解:系统总线:传递信息的一组公用导线,CPU 通过它们与存储器和I/O 设备进行信息交换。
好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线。
其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。
1.5 解:(1)用于数值计算、数据处理及信息管理方向。
采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。
(2)用于过程控制及嵌人应用方向。
采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。
1.6 解:21.7 解:I/O 通道:位于CPU 和设备控制器之间,其目的是承担一些原来由CPU 处理的I/O 任务,从而把CPU 从繁杂的I/O 任务中解脱出来。
华中师范大学网络教育学院《汇编语言程序设计》练习测试题库参考答案一、选择题答案:1.B2.C3.B4.C5.C6.C7.A8.A9.D10.C11.B12.A13.C14.B15.A16.D17.A18.A19.D20.A21.A22.D23.C24.B25.C26.D27.B28.D29.A30.A31.D32.A33.D34.D35.D36.D37.B38.C39.A41.A42.C43.B44.B45.C46.D47.D48.D49.A50.A51.D52.B53.C54.A55.B56.C57.A58.C59.D60.C61.A62.D63.C64.C65.D66.A67.B68.C69.B70.D71.D72.A73.D74.C75.D76.C77.C78.D79.D80.B二、判断题答案:1. ×3. √4. √5. ×6. √7. ×8. ×9. ×10. ×11. √12.√13. ×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 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 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,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,4CHINT 21HCODE ENDSEND BEGIN3 .编程求从1开始连续50个奇数之和,并将结果存放在SUM字存储单元中。
DATA SEGMENTSUM 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 ENDSEND BEGIN4 .已知数组A包含6个互不相等的整数,数组B包含9个互不相等的整数,试编一程序将在A、B两数组中都出现的整数存放于数组C中。
DATA SEGMENTA DB 2,……B DB 5,…..C DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATAMOV DS,AXLEA SI,ALEA DI,BLEA BX,CMOV CH,6LOP1:MOV CL,9LOP: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:DATABEGIN: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 D B 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 DW ?DATA ENDSSTACK SEGMENTSTAPN DB 1000 DUP(?)SYACK ENDSCODE SEGMENTASSUME CS,CODE,DS:DATA,SS:STACKBEGIN 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 DW ?DATA 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。