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.为了使主机访问外设方便起见,外设中的每个寄存器给
2、予一个( C )。A.物理地址 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.
3、10H 9.当DF=0时,执行串操作指令MOVSB,变址寄存器SI、DI的值将( C )。 A. 不变 B.减1 C.加1 D.无法确定 10.如下指令可将AX寄存器容改变的是( A )。AAND AX , BX BTEST AX , BX CCMP AX , BX DXCHG AX , AX11.16位CPU支持的I/O地址围是( D )。A00FFFFFH B00FFFFH C00FFFH D00FFH12.MUL CL指令实现的功能是( A )。A无符号乘法:AX ALCL B有符号乘法:AX ALCLC无符号乘法:DX ALCL D有符号乘法:DX ALCL13.DOS系统功能调用(I
4、NT 21H)中,显示字符串的功能号是( 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
5、.2,22,44 D. 2,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 )。
6、A. 296EH: 100H 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、下列操作数的寻址方式正
7、确的是 ( D )。 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、机器
8、语言30、当使用BP作编程地址时,此时使用的是(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执
9、行前SP= 100H,执行后SP的容为。(C) A、 100H B 、102H C 、98H D 、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
10、、两个整数补码9CH和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、十进制数
11、字85所对应的非压缩型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,C
12、X ( 错 )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、中断
13、允许标志IF、陷阱标志TF。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,其后跟10
15、0个初值为0的连续字节。解: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 S
16、EGMENTV1 DW 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)该数据段占用的存
17、有多少字节?(116D)(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解:它们的存示意图如下:(注:此题中的存物理地址可以自己任意指定,只要连续即可)12下列操作可使用哪些寄存器?(1)加法和减法。(AX,BX,CX,DX,AL,AH,BL,BH,CL,CH,DL,DH,SI,DI)(2)循环计数。(CX,CL)(3)乘法和
18、除法。(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寄存器中的高字节和低字节容交换。 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,
19、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、在汇编语言中,如何表示二进制、八进制、十进制、十六进制的数值? 答:(1)二进制:在书写二进制时,在数据后面紧跟一个B,其一般形式为bn-1b1b0B,其表示元素只有0和1; (2)八进制:在书写八进制时,在数据后面紧跟一个Q,其基本元素为0、1、7; (3)十进制:在书写十进制时,在数据后面
20、紧跟一个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)与机器相关性; (2)执行的高效率性; (3)编写程序的复杂性; (4)调试程序的复杂性。17、设BX=1000H,SI=2000H,位移量D=3000H,请指出下列各种寻址方式的有效地址是什么?(1)使用D的直接寻址 EA=D=3000H(2)使用BX寄存器的间接寻址 EA=(BX)=1
21、000H(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.有下列程序,试分析该程序,并在程序的后面写出该程序实现的功能。 DATA SEGMENTSOURCE DB ?,? ;两个无符号数MAX DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAMOV AX,DATAMOV DS,AXMOV AL,SOURCECMP A
22、L, SOURCE+1JNC BRANCHMOV AL,SOURCE+1BRANCH: MOV MAX,AL HLTCODE ENDS END程序的功能是: 。参考答案:比较两个无符号数的大小,把大数存入变量MAX中。2、设A,B,C,X和Y都是有符号的字变量,阅读下列程序段,回答后面的问题。MOV AX, CSUB AX, 120D CWD MOV CX, DXMOV BX, AX MOV AX,AIMUL B ADD AX, BX ADC DX, CXIDIV C MOV X, AX MOV Y, DX请回答:上述程序段完成的运算公式是 。上述程序段执行后,商存于 ,余数存于 。参考答案:
23、(C-120+A*B)/C,X,Y3.将下列程序补充完整(即在画线的地方填入相应的容),使该程序实现如下的功能:DATA SEGMENTX DB ? Y DB ? DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAMOV AX,DATAMOV DS,AXMOV AL,X AL,0 JGE BIGPTRMOV Y, 3HLTBIGPTR: JE EQUPTR MOV Y, HLT:MOV Y,2HLTCODE ENDS END参考答案:CMP,1, EQUPTR:4、以ARRAY为首址的字单元中,存放了COUNT个有符号数,下面程序是找出其中最大数并送给变量B
24、IG,请把程序中所空缺的指令填上。DATA1 SEGMENTARRAY DW 1,2,9,-12,15,19COUNT EQU $BUFF BIG DW ?DATA1 ENDSCODE1 SEGMENTASSUME CS:CODE1,DS:DATA1START: MOV AX,DATA1 MOV 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参考答案
25、: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 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)指
26、令JLE的功能是 。(2)上述程序段的功能是 ,上述程序段执行后,X等于 。参考答案:若小于或等于则转移,数组BUFF的最小值送X,-56. 下面程序段使用1号DOS功能调用从键盘接受两个数字。如该程序段执行时,从键盘输入2和5,请问执行后,(AX)=_,(BL)= 。MOV AH, 01HINT 21HMOV 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,请在空格中
27、填入应有的容。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,SEG STRINGLEA , STRINGMOV CX , 20 ;假设字符串长度为20 CLDREPNZ JZ YESNO:MOV AL , -1 YES:MOV AL , 0EXIT: 参考答案:DIMO
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1