汇编语言程序设计习题集(共24页).doc

上传人:飞****2 文档编号:14136270 上传时间:2022-05-03 格式:DOC 页数:24 大小:122.50KB
返回 下载 相关 举报
汇编语言程序设计习题集(共24页).doc_第1页
第1页 / 共24页
汇编语言程序设计习题集(共24页).doc_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《汇编语言程序设计习题集(共24页).doc》由会员分享,可在线阅读,更多相关《汇编语言程序设计习题集(共24页).doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上汇编语言程序设计习题一、 选择题1. 机器数为B, 它代表-127D,则它是(C)。A. 补码 B. 原码 C. 反码 D. 原码或反码2x1原=B, x2反=B, x3补=B(C)。A. x1最小 B. x2最小 C. x3最小 D. x2=x1=x33计算机的内存“溢出”是指其运算结果(3)。A为无穷大B超出了计算机内存储单元所能存储的数值范围C超出了该指令所指定的结果单元所能存储的数值范围D超出了一个字所能表示数的范围4. x1原=B, x2反=B, x3补=B,那么它们的关系是(4)。A. x3x1x2 B. x2x3x1 C. x3x2x1 D. x2x1x

2、35. 在计算机中表示地址时使用(A)。A 无符号数 B 原码 C 反码 D 以上都不对6. 下面说法错误的是(D)。A 8位二进制无符号数表示的最大十进制数是255B 8位二进制带符号数表示的最大十进制数是127C 计算机中无符号数最常用于表示地址D 计算机中小数点隐含在符号位之后,占一位7. 只有当与非门的输入变量A、B的值为(4 )时,其输出才为0。A 0,0 B 0,1 C 1,0 D 1,18. 只有当或非门的输入变量A、B的值为(1 )时,其输出才为1。A 0,0 B 0,1 C 1,0 D 1,19. 若逻辑运算Y=A+B, 当A=B=1时,Y为(2)。 A 0 B 1 C 10

3、 D 210. 若门电路的两个输入量为1、1,输出量为0,不可能完成此功能的是( 4)。A“异或”门 B “与非”门 C “或非”门 D “与”门11. 下列不正确的是( 4 )A B C D 12 已知VAR为字节变量,下面是关于MOV BX, OFFSET VAR和LEA BX, VAR指令的说明,正确的是( )。A指令执行速度比指令执行速度快B指令中OFFSET只能与简单的符号地址相连,不能与诸如VARSI等复杂数相连。指令LEA没有这个限制C指令有错误,因为VAR为字节变量,而BX为字D指令与指令的作用完全相同13下列指令中正确的是(D)。2AMOV 100,CL BMOV CL,10

4、0HCMOV CL,1000 DMOV CL,10014设(BX)=8D16H,执行指令序列MOV CL,7 SAR BX,CL 后BX寄存器的内容是(B)。A011AH B FF1AH C2D1AH D0B00H15在程序运行过程中,确定下一条指令的物理地址的计算表达式是(A)。 ACS*16+IP BBX*16+DI CSS*16+SP DES*16+SI16提示下列指令序列执行后的正确结果是( A )。 MOV BX,OFFFCH MOV CL,2 SAR BX,CL A3FFFH B0FFFH C0FFFCH D0FFF5H17下列指令中不影响标志位的是(C)。 ASUB AX,BX

5、BROR AL,1 CJNC LABLE DINT n18将寄存器AX的内容取负的正确操作是( 3 )。 ANEG AX BCMP AX,0FFFH CNOT AX DCMP AX,AX19. 指令SCAS的寻址方式是( )。A 源操作数为寄存器寻址,目的操作数为寄存器间接寻址B 源操作数为寄存器间接寻址,目的操作数为寄存器间接寻址C 源操作数为寄存器间接寻址,目的操作数为寄存器寻址D 源操作数为寄存器寻址,目的操作数为寄存器寻址20. TABLE为字变量,下面是关于指令MOV AX,TABLE与指令LEA AX,TABLE的说明,错误的是( )。A 指令送TABLE为偏移地址的单元的内容,指

6、令送TABLE的偏移地址给AXB 指令送TABLE的偏移地址,指令送TABLE为偏移地址的单元的内容给AXC 源操作数寻址方式是:指令为直接寻址,指令为立即数寻址D 源操作数寻址方式是:指令为直接寻址,指令为直接寻址21. 下列指令中正确的是(C)。 A MOV BX, AL B MOV BL, AX C MOV BL, AL D MOV BL, BP22. 下列指令中不合法的指令是(C)。 A IN AX, 03F8H B MOV BX, AX C REP CMPSB D SHR BX, CL23. 下列指令中正确的是( )。A MOV SS, 2400H B MOV SS, 2400H C

7、 MOV SS, DS D MOV SS, SP24. 下列指令中正确的是(A)。 A XCHG AH, AL B XCHG AL, 20H C XCHG DS, AX D XCHG SP, 20H25. 下列指令中正确的是(B)。 A IN 100H, AL B IN AX, 21H C OUT 21H, AX D OUT 260H, AL26. 假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是( )。 A 20102H B 20101H C 200FEH D 200FFH27. 在下列指令中,有语法错误的是(A)。A

8、 MOV SI, DI B IN AL, DXC JMP WORD PTRBX D PUSH WORD PTR 20BX+SI228. 两个有符号的整数A和B比较后,为了判定A是否大于B,应使用下列(A)条指令。 A JG B JA C JNB D JNBE29. 下列程序段执行完后,BX寄存器中的内容是( C )。 MOV CL, 3 MOV BX, 0B7H ROL BX, 1 ROR BX, CL A 002DH B 00EDH C C02DH D 000DH30. 执行下列程序: MOV AX, 0 MOV BX, 1 MOV CX, 100A: ADD AX, BX INC BX L

9、OOP A HLT执行后的结果为:(AX)= ( C ),(BX)= ( )A 5050,99 B 2500,100 C 5050,101 D 2550,10231. JMP FAR PTR ABCD(ABCD是符号地址)是(D)。A 段内间接转移 B 段间间接转移 C 段内直接转移 D 段间直接转移32. 已知JNC指令的机器代码是73FCH(FC是根据条件转移确定的偏移量),CF=0,IP=1000H,试问执行该指令后,IP(C)。A 0FFFH B 10FEH C 0FFEH D 10FCH33. 满足转移指令JNE的测试条件是(C)。A ZF=1 B CF=0 C ZF=0 D CF=

10、134. 将累加器AX的内容清零的正确指令是(A)。A AND AX, 0 B XOR AX, BX C SUB AX, BX D CMP AX, BX35. 逻辑位移指令SHR用于(D),而算术位移指令SAR用于带符号数除2。 A 带符号数减2 B 带符号数除2 C 无符号数乘2 D 无符号数除236. 对于下列程序段:AGAIN: MOV AL, SI MOV ES: DI, AL INC SI INC DI LOOP AGAIN也可用指令( )完成同样的功能。A REP MOVSB B REP LODSB C REP STOSB D REPE SCASB37. JMP WORD PTRD

11、I是(B)。AA 段内间接转移 B 段间间接转移 C 段内直接转移 D 段间直接转移38. 直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为(C)。A 直接、立即、间接 B 直接、间接、立即 C 立即、直接、间接 D 不一定39. 执行下列指令后:MOV AX, 1234HMOV CL, 4ROL AX, CLDEC AXMOV CX, 4MUL CX寄存器AL的值是( B )。A 60H B 00H C 04H D 08DH 40. 下列程序执行后, (AL) = (B)。MOV AX, 1234HMOV BX, 5678HADD AL, BLDAAMOV CL, ALMOV A

12、L, AHADC AL, BHDAA A 69H B 78H C 56H D 34H41. 若AL, BL中是BCD数,且在执行ADD AL, BL之后,(AL)=0EH,CFAF10。再执行DAA后,(AL)=( )。 A 04H B 14H C 64H D 74H42. 下面程序段中,当满足条件转到NEXT标号执行时,AL中的值正确的是(D)。CMP AL,OFBHJNL NEXTNEXT: A AL=80H B AL=8FH C AL=0F0H D AL=0FFH43. 对于下列程序段:AGAIN: MOV ES:DI,AL INC DI LOOP AGAIN可用指令( )完成相同的功能

13、。A REP MOVSB B REP LODSB C REP STOSB D REPE SCASB44. 设AL和BL中都是带符号数,当ALBL时转至NEXT处,在CMP AL,BL指令后应选用正确的条件转移指令是(B)。A JBE B JNG C JNA D JNLE45. 使得JB指令执行转移操作的条件是( )。A CF=1 B CF=1且ZF=0 C ZF=0 D CF=0或ZF=146. 在“先判断后工作”的循环程序结构中,循环执行的次数最少是( )。 A 1 B 0 C 2 D 不定47. 下列指令中,指令( )先执行CX-1赋给CX操作,然后再根据CX的值决定是否转移、循环或进行重

14、复操作。 A JNC B REP C JCXZ D LOOP48. 指令LOOPZ的循环执行条件是( )。A CX0并且ZF=0 B CX=0或ZF=0 C CX0并且ZF=1 D CX=0或ZF=149. 向量中断是( )。A 外设提出中断B 由硬件形成中断服务程序入口地址C 由硬件形成向量中断地址,再由向量地址找到中断服务程序入口地址D 以上都不正确50. 寄存器间接寻址方式中,操作数在(C)中。A 通用寄存器 B 堆栈 C 主存单元 D 段寄存器51. 运算型指令的寻址和控制转移型指令的寻址,其不同点在于( )。A 前者取操作数,后者决定程序的转移地址B 后者取操作数,前者决定程序的转移

15、地址C 两者都是取操作数D 两者都是决定程序的转移地址52. 在PC系列机中调试汇编语言程序的工具软件是DEBUG。用DEBUG调试程序时,可以在目标程序中设断点,或用单步跟踪来找出程序中的毛病。断点只能在RAM中设置,不能在ROM中设置,这是因为( )。A ROM不能存放汇编程序 B ROM中数据不能修改C ROM不能放入断点中断指令 D ROM不能保护断点53. 汇编语言语句格式中的名字项,下列哪一个不正确?() A. FFFFFH B. Variable C. 0FFFFH D. Third_street54. 下列语句中错误的有( ) A. MOV BL,0A7H B. MOV CX,

16、COUNT C. MOV BX,5 D. IN AL,PORT-VAL55. (A)不是数值 变量的类型属性。 A. 字符型 B. 字型 C. 字节型 D. 双字型56. 用ASSUME伪指令指定某个段分配给那个寄存器后,还需要通过MOV指令来给段寄存器赋值,其中(C)不能这样做,而是在程序初始化时自动完成的。 A. 数据段寄存器DS B. 堆栈段寄存器SS C. 代码段寄存器CS D. 附加段寄存器ES57. 有关宏指令和子程序,下列说法哪一个不正确?(D) A. 宏指令并不能简化目标程序 B. 子程序可以简化目标程序,但执行时间要长些 C. 子程序或过程在执行时,由CPU处理 D. 宏指令

17、在执行时要保护现场和断点58. 下列哪一个伪指令对符号名可以重复定义(A) A. B. EQU C. DB D. PURGE59. 下面指令序列执行后的正确结果是( A )。 MOV BX,0FFFCH MOV CL,2 SAR BX,CL A. 3FFFH B. 0FFFFH C. 0FFFCH D. 0FFF5H60. 一般用条件转移指令JZ、JNZ、JC、JNC等来实现程序的(B)结构。 A. 顺序 B. 分支 C. 循环 D. 模块化61. 下列哪一种不是多分支程序设计的形式?( ) A. 开关法 B. 转移表法 C. 地址表法 D. 逻辑分解法62. 下面程序段中,当满足条件转到NE

18、XT标号执行时,AL中的值正确的是(D)。 CMP AL,0FBH JNL NEXT NEXT:. A. AL=80H B. AL=8FH C. AL=0F0H D. AL=0FFH63. 循环程序的基本结构形式不包括下面哪一部分?( ) A. 循环参数置初值部分 B. 循环工作部分 C. 循环控制部分 D. 设置段寄存器部分64. 数值计算中的反复迭代计算的过程是循环结构,该类问题使用( )控制循环。 A. 计数控制法 B. 条件控制法 C. 开关控制法 D. 逻辑尺控制法65. 在循环设计中循环体的重复执行次数已知的情况下,一般采用哪种计数方法来控制循环?( ) A. 正计数法 B. 倒计

19、数法 C. 两者相同 D. 两者都不是 66. 子程序结构中不包括(B)。 A. 子程序的说明文件 B. 子程序的现场保护和现场恢复 C. 子程序的调用和返回 D. 入口参数的设置67. (D)不是系统功能调用的功能。 A. 文件管理 B. 设备管理 C. 作业管理 D. 总线管理68. DOS系统功能调用中,将子程序编号送入(A)寄存器。 A. AH B. AL C. BH D. BL69. 表达式19 MOD 7的结果为(B)。A 2 B 5 C 2 D 570. 执行伪指令语句STR DDAB后,下列说法正确的是( )。 A 存入41H,42H B 存入42H,41H C 存入41H,4

20、2H,00H,00H D 存入42H,41H,00H,00H 71. 下列伪指令语句正确的有(D)。 A ERR1:DW 99 B EXPR DB 2*3+7 C ERR2 DB 25*60 D ERR3 DD ABCD72. 下列说法正确的是(B)。SEGMENT与ENDS是段定义语句的伪指令,而ASSUME不是SEGMENT和ENDS语句成对使用,把汇编语言源程序分为段代码段中存放指令和伪指令,但不存放宏指令SEGMENT与ENDS伪指令前的段名可以不同73. 汇编语言在上机过程中用不到的程序为(D)。A 编辑程序 B 汇编程序 C 连接程序 D 编译程序74. 程序设计的结构化的首要问题

21、是( )。A 程序的模块化B 程序设计时采用“自上而下,逐步求精”的实施方法C 模块之间的组合问题D 各个结构的出口点和入口点75. 下面指令序列执行后完成的运算,正确的算术表达式应是(C)。 MOV AL,BYTE PTR X SHL AL,1 DEC AL MOV BYTE PTP Y,ALA Y=2X+1 B X=2Y+1 C Y=2X-1 D X=2Y-176. 若各分支条件不满足线性规律,是一些跳跃性很大的离散值。则在程序设计时,一般采用()。 A 开关法 B 转移表法 C 地址表法 D 逻辑分解法77. 实现“=”转移的伪指令是(C)。 A JAE/JNB B JBE/JNA C

22、JGE/JNL D JG/JNLE78. 在程序设计的实际应用中往往存在要重复执行的某些操作的一类问题,这类问题由(C)来解决。 A 顺序结构程序 B 分支结构程序 C 循环结构程序 D 以上都不是79. 下列说法中,错误的有( )。A 内循环必须完整地包含在外循环中,内外循环不能相互交叉B 内循环在外循环中位置可根据需要任意设置C 从内循环中可以直接跳到外循环,从外循环也可以直接跳到内循环D 每次由外循环再次进入内循环中,初始条件必须重新设置80. ( )是循环程序设计的一个核心问题。 A 循环的控制 B 循环结构的选择 C 循环体的设计 D 循环参数的置初值81. 循环体不包括下列哪项?(

23、 ) A 重复操作的程序段 B 循环参数的修改 C 循环控制参数的修改 D 循环参数置初值部分82. 如果在一个循环结构中包含若干个循环体,每个循环体对应一个条件,当满足某一条件后就执行对应循环体。进行这种循环结构的程序设计,常用( )。 A 计数控制法 B 条件控制法 C 开关控制法 D 逻辑尺控制法83. 下列说法错误的是( )。A 子程序结构简化了程序设计过程,使程序设计时间大量节省B 子程序结构缩短了程序的长度,节省了程序的存储空间C 子程序结构不利于对程序的修改、调试D 子程序结构方便了程序的模块化、结构化和自顶向下的程序设计84. ( )不是子程序的参数传递方法。A 立即数传递 B

24、 寄存器传递 C 堆栈传递 D 存储器传递二、填空1异或门的逻辑表达式为 ,其运算规则是 。2请用最小的二进制位表示下列符号数。 -24补= ; +67补= 3设(AL)= 45H,若是无符号数,它代表 ,若是带符号数,它代表 ,若是BCD数,它代表 ,若是ASC码,它代表 4. 已知某机器数为B,若为原码,它表示的十进制数是 ;若为反码,它表示的十进制数是 ;若为补码,它表示的十进制数是 。5. 在字长相同的原码、反码和补码, 表示数的范围较宽,这是因为 。 6若累加器AX中的内容为4142H,执行指令CMP AX,4041H后,(AX)= 4142H 。执行SUB AX,4041H后,(A

25、X)= 101H 。7若AL中的内容为7DH,下列指令单独执行后AL为: (1)指令AND AL,0FH后,AL= 0DH ; (2)指令AND AL,0F0H后,AL= 70H ; (3)执行指令OR AL,0FH后,AL= 7FH ; (4)执行指令OR AL,0F0H后,AL= FDH ; (5)执行指令XOR AL,0FH后,AL= 72H ; (6)执行指令XOR AL,0F0H后,AL= 8DH 。8若AL=24H,CL=8,CF=1,执行ROL AL,CL指令AL=, 24H CF= 0 。9设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问: (1)执行

26、指令PUSH AX后SP= 1FFEH 。 (2)再执行PUSH BX及POP AX后,SP= 1FFEH ,AX= 5000H 。 (3)最后执行POP BX后,SP= 2000H ,BX= 3000H 10已知程序段如下:指令执行后,完成填空。 MOV AX,1234H ;(AX)= H,CF= ,SF= ,ZF= MOV CL,4 ROL AX,CL ;(AX)= H,CF= ,SF= ,ZF= DEC AX ;(AX)= H,CF= ,SF= ,ZF= MOV CX,4 MUL CX ;(AX)= H,(DX)= H,CF= ,SF= ,ZF= INT 20H11已知:(AX)=01C

27、DH,(BX)=0AFH,(CX)=0BE02H,CF=1,写出单步执行每条指令时CF,ZF及相关寄存器的内容。 TEST AX,BX ;AX=01CDH,BX=0AFH;CF= ,ZF= ,(AX)= H,(BX0= H ROL BX,CL ;(BX)=2BC H,(CL)=02H;CF= ,ZF= ,BX= H,CL= H12执行下列指令序列后完成的功能是将(DX,AX)的值 。MOV CX,04NEXT: SHR DX,1 RCR AX,1 LOOP NEXT13对于字除法指令,目的操作数存放在 AX 中,指令执行后,商放在 AL ,余数在 AH 中。14. 用CBW指令生成双倍长度的被

28、除数存放在 AX 中,用CWD指令生成双倍长度的被除数存放在 DX:AX 中。15. 在除法指令IDIV BX中,被除数隐含为 AX或DX:AX 。16. 在乘法指令MUL WORD PTEBX中,被乘数隐含为 AX ,乘积在DX:AX 中。17. 执行XLAT指令前,要将表的首地址放在 BX 中,表内偏移地址放在 AL 。18. 若AL=34H,CL=4,CF=0,执行SAL AL, CL指令后,AL= 40H , CF= 1 。19. 若用2个字节存放非压缩BCD码,其可表示的十进制数据范围是 099 ,存放压缩BCD码,其可表示的十进制数据范围是 09999 。20. 若DF=1,执行指

29、令LODSB后,SI的内容会自动 。21. 若CF=1,执行指令CMC后,CF= 。22. 利用指令JO实现转移的条件为 。23. 利用指令JZ后,程序顺序执行下一条指令的条件是 。24. 执行指令JAE后,欲使程序跳转,条件为 = 。25. 执行指令JNGE后,欲使程序跳转条件为 。26. 写出以下指令中内存操作数的地址。 MOV AL, BX+5;有效地址: BX+5 ,物理地址 (DS)*16+(BX)+5 。(下面差不多的) MOV BP, AX;有效地址: (BP) ,物理地址 (SS) *16+(BP) 。 INC BYTE PTRSI+3 ;有效地址:(SI)+3 ,物理地址 (

30、DS)*16+(SI)+3 。 MOV DL, ES:BX+DI ;有效地址: (BX)+() ,物理地址 ()16+(BX)+() 。 MOV BX, BX+SI+2 ;有效地址:()() ,物理地址 ()(BX)+(SI)+2 。27. 假设(BX)=0E3H,变量VALUE中存放的内容为76H,确定下列各条指令单独执行后的结果。 XOR BX,VALUE ;(BX)= 95 H AND BX,VALUE ;(BX)= 62 H OR BX,VALUE ;(BX)= F7 H XOR BX,0FFH ;(BX)= 1C H AND BX,0 ;(BX)= 0 H TEST BX,01H ;

31、(BX)= 0E3 H28. 试分析下列程序段: ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4 JMP SHORT L5如果AX和BX的内容给定如下,问该程序执行完后转向哪里? AX BX 147B 80DC 转向 L1 。 B568 54B7 转向 L5 。 42C8 608D 转向 L1 。 D023 9FD0 转向 L5 。 94B7 B568 转向 L5 。我也不会29. 有程序段如下,该程序段的功能是 。 CLD MOV CX,10 LEA SI,FIRST LEA DI,SECONDREP MOVSB30. 条件转移指令的目标地址应在本条件转移指令的下一条指令地址的 字节范围内。31. 指令LOOPZ/LOOPE是结果为 或相等发生转移的指令。32. 一个有16个字的数据区,它的起始地址为70A0:DDF6,那么该数据区的最后一个字单元的物理地址为 H。33. 假设(DS)=B000H,(BX)=080AH,(0B080AH)=05AEH,(0B080CH)=4000H,执行指令“LES DI,BX”后,(DI)= , (ES)= 。34. 指令SAR可用来实现对 数除2。35. 当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是 。36. 令(AL)=98H, (BL)=12H, 则执行指令MUL BL后

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁