汇编语言复习题附答案_第1页
汇编语言复习题附答案_第2页
汇编语言复习题附答案_第3页
汇编语言复习题附答案_第4页
汇编语言复习题附答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、汇编语言复习题注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦!一、选择题1.把要执行的程序与库文件连接起来形成可执行文件的系统程序是( B ) 。 A.汇编程序 B.连接程序 C.机器语言程序 D.源代码程序 2.在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是( C )。 A.SS和SP B.DS和DI C.CS和IP D.ES和SI 3.为了使主机访问外设方便起见,外设中的每个寄存器给予一个( C )。A

2、.物理地址 B. 逻辑地址 C. 端口地址 D.段地址 4.MOV AX,3064H,该指令中源操作数采用的寻址方式是( A )。 A.立即 B.直接 C.寄存器相对 D.寄存器间接5.换码指令的助记符是( C )。 A. XCHG B. LEAS C.XLAT D. MOV 6.如果AB(A、B有符号数)发生转移,应选择的条件转移指令是 ( JGE )。 7.下列符号中,可用作标识符的是( C )。A.MOV B.AX C.MSG1 D.1ABC8.X DB 10H DUP(1,2)内存变量定义语句拥有了( A )个字节的存储空间。 A.20D B.10D C.20H D.10H 9.当DF

3、=0时,执行串操作指令MOVSB,变址寄存器SI、DI的值将( C )。 A. 不变 B.减1 C.加1 D.无法确定 10.如下指令可将AX寄存器内容改变的是( A )。AAND AX , BXBTEST AX , BXCCMP AX , BXDXCHG AX , AX11.16位CPU支持的I/O地址范围是( D )。A00FFFFFHB00FFFFHC00FFFHD00FFH12.MUL CL指令实现的功能是( A )。A无符号乘法:AX ALCLB有符号乘法:AX ALCLC无符号乘法:DX ALCL D有符号乘法:DX ALCL13.DOS系统功能调用(INT 21H)中,显示字符串

4、的功能号是( D )。 A.01H B.02H C.08H D. 09H 14.在16位CPU读取指令时,需要用到的寄存器对是( C )。A.SS和SP B.DS和DI C.CS和IP D.ES和SI 15.下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是 ( B )。A.MOV AX,23H B. MOV AX,BX+SI C.SUB AX,BX D. ADD AX,BX 16.有内存变量定义语句:VAR DW 10 DUP(1,2),1234H,VAR的属性TYPE、LENGTH和SIZE的值分别是( D )。A.1,20,20 B.2,20,40 C.2,22,44 D. 2

5、,10,2017、在下列语句中,AGAIN称为( C ) 。AGAIN: INC SI A.指令 B.寄存器 C.标号 D.变量 18、十六进制数88H,可表示成下面几种形式,请找出错误的表示( A )。 A. 8位二进制数8的补码 B.带符号十进制数120 C. 压缩型BCD码十进制数88 D. 表示无符号十进制数13619、将AL中的最低4位置为0而不改变其他位的正确指令是( B )。A.OR AL,0F0H B.AND AL,0F0H C.OR AL,0FH D.AND AL,0FH20、某内存单元的物理地址为297E0H 其对应的逻辑地址表示错误的是( C )。A. 296EH: 10

6、0H B. 295EH: 200H C. 287EH:100H D. 297EH:0H21、与二进制数00011011等值的十进制数为( B ) 。A26 B27 C28 D3022、表达式“12H XOR 78H”的值是( C )。 A.3AH B. 80H C. 6AH D.90H23、某内存单元的逻辑地址为296EH:100H, 其对应的物理地址是( A )。A. 297E0H B. 2A6EH C.297F0H D.296E0H24、16位微机分段管理存储空间,但每段容量最大不超过( C )。A.8K B.16K C.64K D.1M 25、下列操作数的寻址方式正确的是 ( D )。

7、A.AX B.SI+DI C.BX+90 D.BX26汇编语言源程序经汇编程序汇编后产生的文件的扩展名是(B )。A、EXE B、OBJ C、ASM D、LST27在程序执行过程中,IP寄存器始终保存的是(C )。A、上一条指令的首地址 B、本条指令的首地址。C、下一条指令的首地址 D、需计算有效地址后才能确定地址。28设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,BX的源操作数的物理址为(A )。A、13000H B、23000H C、33000H D、 3000H29、汇编语言属于(D )。A、用户软件 B、系统软件 C、高级语言 D、机器语言30、当使用BP作

8、编程地址时,此时使用的是(D )段。A、 B、 C、 D、31、汇编语言源程序是( A )程序。A不可直接执行的 B经连接后就可直接执行的C经汇编程序汇编后就可执行的 D可直接执行的32、8086/8088 CPU的寄存器组中,16位的寄存器共有( D )个。33、设BX=2000H,SI=3000H,指令MOV AX,BX+SI+8的源操作有效地址为(B )。A、5000H B、5008H C、23008H D、32008H34、伪指令是( C)规定的汇编说明符,它在源程序汇编时进行说明。A、DEBUG B、LINK C、MASM D、EDIT35、已知CALL BX执行前SP= 100H,

9、执行后SP的内容为。(C) A、 100H B 、102H C 、98HD 、0FEH36、若定义“A EQU 100”,执行“MOV AX,A”后,AX=(C )。A、A的偏移地址 B、A单元中的内容C、100 D、A的段地址37、一个段最大可定义(B )字节。A、1 M B、64K C、32K D、16K38、设A和B为字变量,C为标号,下列指令中不正确的是(C )。A、MOV AX,A B、MOV AX,B C、JNE A D、JMP C39、下述指令中不影响CF的指令是(B )。A、SHL AL,1 B、INC CXC、ADD BX,AL D、SUB AX,BX40、两个整数补码9CH

10、和7AH相加运算后,会产生(C )。A、无溢出且无进位 B、无溢出但有进位C、有溢出且有进位 D、有溢出但无进位41、指令JMP WORD PTR BX属于(A )寻址。A、段内直接 B、段内间接 C、段间直接 D、段间间接42、指令MOV AX,BX+SI+8的源操作数属于(D )寻址。A、直接 B、寄存器相对 C、基址变址 D、 相对基址变址43、指令(A )不改变CF的内容。A、DEC AL B、ADD AX,CXC、SUB BX,CL D、SBB AL,DL44、十进制数字74所对应的压缩型BCD码的形式是(B )。A、74 B、74H C、4AH D、4A45、十进制数字85所对应的

11、非压缩型BCD码的形式是(D )。A、0085 B、0085H C、0805 D、0805H46、设AL=67H,执行“CMP AL,76H”后,AL=(C )。A、76H B、0DFH C、67H D、00二、判断题MOV AL,BX ( 错 )MOV DS,SS ( 错 )MOV BX,DI ( 错 )POP CS ( 对 )MOV DS,5678H ( 错 )ADD 1234H,CX ( 错 )CLD ( 对 )SHL BX,AL ( 错 )MUL DX ( 对 )LEA AX,BX+DI ( 对 )ADD DS,5678H ( 对 )STC ( 对 )CMP 234H,CX ( 错 )

12、MUL DX,10H ( 错 )LEA AX,BX+DI ( 对 )XCHG ES,AX ( 对 )POP AL ( 错 )SUB AL,SI ( 错 )MOV DS,SS ( 错 )SAL DX,AL ( 错 )MOV AX,BL( 错 )MUL 25( 错 )SHR BX,CH( 错 )PUSH CS( 对 )LEA AX,BX+SI( 对 )三、简答题1、标志寄存器共有那些标志位?答:有运算结果标志位和状态控制标志位两大类,其中运算结果标志位有进位标志位CF、奇偶标志PF、辅助进位标志AF、零标志ZF、符号标志SF、溢出标志OF。状态控制标志位有方向标志DF、中断允许标志IF、陷阱标志T

13、F。2.标号和变量所具有哪三种属性? 答:段属性、偏移量属性、类型属性。3、写出16位CPU的段寄存器的助记符和中文名称。答:CS-代码段寄存器DS-数据段寄存器ES-附加段寄存器SS-堆栈段寄存器4、指出下列指令源操作数(第二操作数)的寻址方式。(1)MOV AX,1000 BXDI 基址变址相对寻址(2)MOV BX,1000H 直接寻址(3)ADD SI,AX 寄存器寻址(4)MOV AX,100 立即数寻址(5)MOV AX,SI 寄存器间接寻址5、在8088/8086的寻址方式中,与数据有关的寻址方式分为哪七种寻址方式?答:立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、相对寻址、

14、基址变址寻址、基址变址相对寻址。6、已知DS=1000H,BX=100H,SI=2,存储单元11200H11203H依次存放(十六进制)12、34、56、78,说明下列每条指令执行完后AX寄存器的内容。(1)MOV AX , 1200H 3412H(2)MOV AX , BX+1101H 5634H(3)MOV AX , BX+SI+1100H 7856H7、编写将字节数据70h输出到端口地址为220H的指令序列。解MOV DX,220H MOV AL,70HOUT DX,AL8、按要求写出下列相应的内存变量定义语句。(1)定义一个字节区域,第一个字节的值为10,其后跟100个初值为0的连续字

15、节。解:DB 10,100 DUP(0)(2)先定义一个字符串STRING,其偏移量指定为10,其初值为“abcdef”,然后再定义5个字类型的数组ARRAY,要求STRING和ARRAY偏移量相同。解:ORG 10 STRING DB abcdef ORG 10ARRAY DW 5 DUP (?)(3)定义一个以-1为结束符的字符串,该串中含有换行符和回车符。解:db 0dh,0ah,-1(4)从偶地址开始定义20个字,其初值为1。解:EVEN DW 20 DUP (1)(5)定义100个字,其初值为0。解:DW 100 DUP (0)9、设数据段定义如下: DATA SEGMENTV1 D

16、W 1234h,3456hV2 DB abV3= $+5V4 DB 10 DUP(?)V5 DW v4DATA ENDS请回答:(1)该数据段占用的内存有多少字节?(18D)(2)v3的值为多少?(11D)(3)执行“MOV AX,v5”指令后,AX值为多少?(6H)(4)执行“MOV AL,BYTE PTRv2”指令后,AL值为多少?(a)10、设数据段定义如下:DATA SEGMENTv1 DB0ah,0c4hv2 DW 1,2,3v3 DB4,100 DUP(?)v4 DB ABCDEv5 DW v3v6 EQU $v3DATA ENDS请回答 :(1)该数据段占用的内存有多少字节?(1

17、16D)(2)v5单元中的值是多少?(8H)(3)v6的值是多少?(108D)(4)执行“MOV AL,v4+2”指令后,AL的值是多少?。(C)11、下列数值在内存中连续存储,试画出其在内存的存储形式。(1)字节:7,8,1、a、A和-1(2)字:12H、0AB56H和-1,0(3)双字:-765H、56789256H和0,-1解:它们的内存示意图如下:(注:此题中的内存物理地址可以自己任意指定,只要连续即可)0708316141FF120056ABFFFF000012340H12341H12342H11200H11201H11202H第(1)题第(2)题9BF8 FFFF 569278 5

18、6 0000 00 00FF FF FF FF13000H13001H13002H第(3)题12下列操作可使用哪些寄存器?(1)加法和减法。(AX,BX,CX,DX,AL,AH,BL,BH,CL,CH,DL,DH,SI,DI)(2)循环计数。(CX,CL)(3)乘法和除法。(BX,CX,AH,BL,BH,CL,CH,DL,DH)(4)指示程序已执行到哪条指令的地址。(CS,IP)(5)指示当前从堆栈中弹出数据的地址。(SP) (6)表示运算结果为零。(ZF)13、按要求编写指令序列。(1)将立即数1234H与BX指示存储单元偏移地址的内容相加。 ADD BX,1234H(2)将AX寄存器中的高

19、字节和低字节内容交换。 XCHG AH,AL(3)右移DX4位,并把0移入最高位。 MOV CL,4 SHR DX,CL(4)用一条指令实现把(BX)和(SI)之和传送给DX。 LEA DX,BX+SI(5)检测BX中的第2、8和10位中是否有1位为1。 TEST BX,1000000010B(6)将DXAX中的32位数算术左移1位。 SHL AX,1 RCL DX,1(7)以BX和SI寄存器作基址变址寻址方式,把该单元中的一个字传送到AX。 MOV AX,BX+SI14编写从端口地址为220H的端口读入一个字节的指令序列。 MOV DX,220H IN AL,DX15、在汇编语言中,如何表示

20、二进制、八进制、十进制、十六进制的数值? 答:(1)二进制:在书写二进制时,在数据后面紧跟一个B,其一般形式为bn-1b1b0B,其表示元素只有0和1; (2)八进制:在书写八进制时,在数据后面紧跟一个Q,其基本元素为0、1、7; (3)十进制:在书写十进制时,在数据后面紧跟一个D,其基本元素为0、1、9; (4)十六进制:在书写十六进制时,在数据后面紧跟一个H,其基本元素为0、1、A、B、C、D、E、F,其中A、B、C、D、E、F分别代表10、11、12、13、14、15。若十六进制的第一个字符是字母,则在之前必须添加一个“0”。16、汇编语言的主要特点有哪些? 答:(1)与机器相关性; (

21、2)执行的高效率性; (3)编写程序的复杂性; (4)调试程序的复杂性。17、设BX=1000H,SI=2000H,位移量D=3000H,请指出下列各种寻址方式的有效地址是什么?(1)使用D的直接寻址 EA=D=3000H(2)使用BX寄存器的间接寻址 EA=(BX)=1000H(3)使用BX寄存器的相对寻址 EA=(BX)+D=1000H+3000H=4000H(4)基址变址寻址 EA=(BX)+(SI)=1000H+2000H=3000H(5)相对基址变址寻址 EA=(BX)+(SI)+D=1000H+2000H+3000H=6000H四、程序阅读题1.有下列程序,试分析该程序,并在程序的

22、后面写出该程序实现的功能。 DATA SEGMENTSOURCE DB ?,? ;两个无符号数MAX DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAMOV AX,DATAMOV DS,AXMOV AL,SOURCECMP AL, SOURCE+1JNC BRANCHMOV AL,SOURCE+1BRANCH: MOV MAX,AL HLTCODE ENDS END程序的功能是: 。参考答案:比较两个无符号数的大小,把大数存入变量MAX中。2、设A,B,C,X和Y都是有符号的字变量,阅读下列程序段,回答后面的问题。MOV AX, CSUB AX,

23、120DCWDMOV CX, DXMOV BX, AXMOV AX,AIMUL BADD AX, BXADC DX, CXIDIV CMOV X, AXMOV Y, DX请回答:上述程序段完成的运算公式是 。上述程序段执行后,商存于 ,余数存于 。参考答案:(C-120+A*B)/C,X,YY=1 X02 X03 X0-128X1273.将下列程序补充完整(即在画线的地方填入相应的内容),使该程序实现如下的功能:DATA SEGMENTX DB ? Y DB ? DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAMOV AX,DATAMOV DS,AXMOV

24、 AL,X AL,0 JGE BIGPTRMOV Y, 3HLTBIGPTR: JE EQUPTR MOV Y, HLT:MOV Y,2HLTCODE ENDS END参考答案:CMP,1, EQUPTR:4、以ARRAY为首址的字单元中,存放了COUNT个有符号数,下面程序是找出其中最大数并送给变量BIG,请把程序中所空缺的指令填上。DATA1 SEGMENTARRAY DW 1,2,9,-12,15,19COUNT EQU $BUFF BIG DW ?DATA1 ENDSCODE1 SEGMENTASSUME CS:CODE1,DS:DATA1START: MOV AX,DATA1 MOV

25、 DS,AX MOV AX,ARRAYMOV CX, COUNT/2JCXZ EXITLEA BX, BUFFAGAIN: JGE NEXT MOV AX, BXNEXT:ADD BX,2 MOV BIG,AXEXIT:MOV AH,4CHINT 21HCODE1 ENDSEND START参考答案:CMP AX, BX LOOP AGAIN5、阅读下列程序,回答后面的问题。DATA1 SEGMENTBUFF DW -1,3,11,-2,-5,9X DW ?DATA1 ENDSCODE1 SEGMENTASSUME CS:CODE1,DS:DATA1START: MOV AX,DATA1MOV

26、 DS,AX MOV AX,BUFFMOV CX,6LEA BX, BUFFAGAIN:CMP AX, BXJLE NEXT MOV AX, BXNEXT:ADD BX,2LOOP AGAINMOV X,AXMOV AH,4CHINT 21HCODE1 ENDSEND START请回答:(1)指令JLE的功能是 。(2)上述程序段的功能是 ,上述程序段执行后,X等于 。参考答案:若小于或等于则转移,数组BUFF的最小值送X,-56. 下面程序段使用1号DOS功能调用从键盘接受两个数字。如该程序段执行时,从键盘输入2和5,请问执行后,(AX)=_,(BL)= 。MOV AH, 01HINT 21

27、HMOV BL,ALMOV AH,01HINT 21HXOR AH,AHADD AL,BLAAAMOV BL,0JC EXITMOV BL,1EXIT:参考答案:0007H,01H7、设V 、X、 Y和Z都是有符号的字变量,下面程序段是实现运算公式:(V-(X*Y+Z-540)/ X,请在空格中填入应有的内容。MOV AX , XIMUL YMOV CX , AXMOV BX , MOV AX , ZCWDADD CX , AX BX , DXSUB CX , 540 BX , 0MOV AX , VCWDSUB AX , CXSBB DX , BX 参考答案:DX,ADCSBBIDIV X8、下面程序查找字符串STRING 中是否有字母B,有则AL=0;否则AL= -1,请将程序填写完整。MOV ES,

温馨提示

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

评论

0/150

提交评论