汇编语言期末复习模拟题库.docx
《汇编语言期末复习模拟题库.docx》由会员分享,可在线阅读,更多相关《汇编语言期末复习模拟题库.docx(24页珍藏版)》请在冰豆网上搜索。
汇编语言期末复习模拟题库
一考试题型100分
1.数制码制10分
2.填空30分
3.判断题:
10分语句正确与否错误原因
4.选择题15分
5.阅读程序15分
6.编写程序20分
二.选择题59计算机基础8086寄存器寻址方式指令功能:
算术,逻辑,移位,循环标志位:
C,Z,S,O,P堆栈,SP汇编格式,变量,标号程序开发:
EDIT,MASMML,LINK,DEBUG1、通常说计算机的内存为32M、64M或128M指的是:
()
A.RAM的容量B.ROM的容量C.RAM和ROM的容量D.硬盘的容量
2.汇编语言的优点不包括。
A直接有效地控制硬件B生成的代码序列短小
C运行速度快D编程容易
3十六进制数88H,可表示成下面几种形式,请找出错误的表示()。
A.无符号十进制数136B.带符号十进制数-120
C.压缩型BCD码十进制数88D.8位二进制数-8的补码表示
4下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()A、AX,BX,CX,DXB、BX,BP,SI,DI
C、SP,IP,BP,DXD、CS,DS,ES,SS
5可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是()。
A.AX,BX,CX,DXB.DS,ES,CS,SS
C.SP,BP,IP,BXD.SI,DI,BP,BX
6.当运行结果为0时,ZF=。
A0B1C任意D不影响
7某次求和结果最高位为1,则SF=。
A0B1C任意D不影响
8设DS=5788H,偏移地址为94H,该字节的物理地址。
A57974HB5883HC57914HD58ECH
9.“MOVAX,[BP+DI]”指令从段取出数据送AX。
ACSBSSCDSDES
10.下面不能用于寄存器寻址的寄存器有()
A.CSB.AXCIPDSIE.CLF.SP
11存储器寻址方式在指令中给出操作数在内存中的地址,该地址是()
A逻辑地址B.有效地址C偏移地址D.物理地址E.段地址
12.堆栈的操作原则是。
A先进先出B后进先出C后进后出D循环
13“MOVSP,3210H”和“PUSHAX”指令执行后,SP寄存器值是。
A3211HB320EHC320FHD3212H
14假设当前SP=700H,执行popax指令后,SP内容变为
A6FEHB6FFHC701HD702H
15用一条指令实现将AX←BX+SI的方法是
AXCHGAX,[BX][SI]BMOVAX,[BX][SI]
CMOVAX,[BX+SI]DLEAAX,[BX][SI]
16.设AX=1000H,BX=2000H,则在执行了指令“SUBAX,BX”后,标志位CF和ZF的值分别为。
A0,0B0,1C1,0D1,1
17.设DH=10H,执行NEGDH指令后,正确的结果是()。
A.DH=10HCF=1B.DH=0F0HCF=0
C.DH=10HCF=0D.DH=0F0HCF=1
18.IMULCL指令实现功能
A有符号乘法:
AX←AL×CLB无符号乘法:
AX←AL×CLC有符号乘法:
DX←AL×CLD无符号乘法:
DX←AL×CL
19.执行除法指令后,影响的标志位是
A所有状态标志都不确定BCFOFCSF、ZFDAF、PF
20.下列4条指令中,有条指令需要使用DX寄存器
AX,20H、OUT21H,AL
D4
()。
MULBX、IDIVBL、IN
A1B2C3
21.执行下面指令序列后,结果是
MOVAL,82H
CBW
A、AX=0FF82H
B、AX=8082HC、AX=0082H
D、AX=0F82H
AL,80H后,可以肯定的执行结果是AL寄存器的
23.指令_
__实现对AX当中D15和D0位设置为0,
其他位不变的功能。
AAND
AX,7FFEH
BOR
AX,8001H
CXOR
AX,8001H
DNOT
AX
24.指令_
实现对
AX当中D15
和D0位设置为
1,其他位不变的功能。
AAND
AX,7FFEH
BOR
AX,8001H
CXOR
AX,8001H
DNOT
AX
25.执行ORAL,80H
后,可以肯定的执行结果是
AL寄存器的
B最高位为1
C低7位均为0
A最高位为0B最高位为1C低7位均为0D低7位均为1
26.指令实现对AX当中D15和D0位求反,其他位不变的功能。
AANDAX,7FFEHBORAX,8001H
CXORAX,8001HDNOTAX
27设AX=1000H
NEGAX
NOTAX
执行上述指令后,AX=
A1001HB0FFFHC1000HD0111H
28.下列指令中,执行后对标志未发生影响的是。
AMOVAX,[BX]BADDAX,0FFHH
CANDAX,[BX]DTESTAX,0FFHH
29.执行
“SAR
BX,1”指令后,
BX最高D15位等于
A0
B1
CD0D
D14
30.对寄存器AX
的内容乘以2
的指令是。
ASHR
AX,1
BSHL
AX,1
CRORAX,1DRCRAX,1
318086/8088CPU的条件转移指令Jcc采用地址寻址方式。
A相对B直接C寄存器间接D存储器间接
32.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有()。
A、CMPB、SUBC、ANDD、MOV
33当标志CF=1时转移到目的地址的条件转移指令是
AJCBJNCCJZDJNZ
34条件转移指令JA产生程序转移的条件是
ACF=0和ZF=1BCF=0和ZF=0CCF=1和ZF=1DCF=1和ZF=0
35.循环指令LOOPNZ继续循环的条件是
ACX=0,且ZF=0BCX=0,或ZF=1CCX≠0,且ZF=0
DCX≠0,或ZF=1
36.JCXZ指令发生转移的条件是。
ACX=0BCX≠0CZF=0DZF=1
37下面属于可屏蔽中断的是()
A外部中断B除法错中断CINT3D单步中断E溢出中断
38串操作指令LODS隐含使用寻址操作数
ABXBCXCSIDDI
39重复前缀在那个指令前没有意义()
A.STOSB.
40指令REPZA.CX=0且
LODSC.CMPSD.SCAS
CMPSB结束重复执行的情况是:
ZF=0B.CX≠0且ZF=0C.CX=0且ZF=1
D.CX≠0且
ZF=1
41.汇编语言源程序中,每个语句由四项组成,不影响语句功能的是
A名字项B操作码C操作数D注释
42.汇编语言源程序中,每个语句由四项组成,必须有的是A名字项B操作码C操作数D注释
43可执行代码段应该在定义的逻辑段中。
A.STACKB.DATAC.CODED.EXTR44.汇编语言中的”ENDBEGIN“中的BEGIN指的是。
A程序开始执行的位置B程序终止执行的位置
C程序开始汇编的位置D程序终止汇编的位置
45用户为了解决自己的问题,用汇编语言所编写的程序,称为()。
A.目标程序B.源程序C.可执行程序D.汇编程序
46.将OBJ文件转换为EXE可执行文件的是。
A
汇编程序B连接程序C
编辑程序
D
调试程序
47.
调试程序的文件是
A
汇编程序B连接程序C
编辑程序
D
调试程序
48.
在汇编语言中,如下各个进制常数,
是错误的。
A
64B64HCA0HD
0100B
49.
下列标号不合法的是
。
A
WANGBMOVCF8
DAB3
50.
在伪指令语句“NUMBERDW1234”H中的NUMBER
项称为
A
标号B变量C伪操作符
D数据
51.
已知NUM1DB3
NUM2DB4下面指令正确的是()
A)MOVAX,NUM1
B)
MOVAL,NUM2
C)
MOVAL,NUM1+NUM2
52.
对于采用DW伪指令定义的变量具有的类型属性是
___。
A
BYTEB
WORDCDWORD
D
FAR
53.
对于采用DB伪指令定义的变量具有的类型属性是
。
A
BYTEB
WORDCDWORD
D
FAR
54.
已知AGAIN
是一个标号,则指令”
JNZAGAIN”中,AGAIN包含__
A
NEAR类型
BBYTE类型
C逻辑地址
D
FAR类型
EWORD类型
55.
变量名的属性有等。
A
NEARB
FARCBYTE
D
WORD
E
DWORD
56.
标号的属性有
。
A
NEARB
FARCBYTE
D
WORD
E
DWORD
57.
汇编语言中,
可以作为有效的名字,
如标号、
变量名等。
A
MOVB
AGAINCCMP
D
ENDP
E
NEG
58.
汇编语言中,
可以作为有效的名字,
如标号、
变量名等。
A
0FFFHB
LOOP1CTEST
DADD
59.
在汇编语言程序中,对END语句的叙述正确的是
__。
A
END语句是一
可执行语句B
END语句表示程序执行到此结束
END语句表示源程序到此结束
END语句在汇编后要产生机器码
D
属性。
D.
()
D.光盘E.
A.WINDOWSB.MASMC.VisualC++
4下面所列通用数据传送MOV指令的几种传送中,不正确的传送方式是。
A立即数到寄存器B立即数到存储器C从寄存器到存储器
D从存储器到存储器E从存储器到寄存器
5下面的XCHG指令中,语法不正确的有。
AXCHGAL,DSBXCHGBL,[BX]
CXCHGAL,0FHDXCHGBUF1,BUF2EXCHGBL,BH
四判断40非法指令标志位程序开发
1.“46”用原码表示为:
(00101110)原码“-46”用原码表示为:
(10101110)原码对2.086/8088系统中,堆栈的操作可以是字节或字操作。
错
3已知AX=1234H、BX=4612H,计算1234-4612的差的算法不能写成下面的形式:
SUBAX,BXDAS
4已知CL=23H,指令“CMPCL,CL”执行后标志位的值是:
CF=0,ZF=1,SF=0对
5判断下列8086指令的对错:
SHLAX,3错
6.对寄存器AX的内容乘以4的正确指令序列是SHLAX,1;SHL,AX,1对
7.已知CL=0,指令INCCL的执行的结果CF=不变对
8.设DH=10H,执行NEGDH指令后,正确的结果是DH=0F0HCF=0错
9下列指令中,执行后对标志未发生影响的是AMOVAX,[BX]BADDAX,0FFHH
CANDAX,[BX]DTESTAX,0FFHH
10对寄存器AX的内容乘以2的指令是SHLAX,1对
11.8088按逻辑段组织程序,数据变量应该且必须在数据段中。
错
12.说明性语句可以在任何一个段中。
对
13.使用简化段定义源程序格式,必须具有.MODEL语句,且位于所有简化段定义语句之前。
对
14.使用简化段定义源程序格式,必须具有.MODEL语句,但写在何处没有关系.错
15.正误判断题:
源程序中只能用标号START表示程序的起始执行点。
错
16.完整段定义的程序入口点首先应该设置数据段寄存器的值。
对
17.汇编源程序可以用WORD文字处理系统处理,并保存为WORD文档。
错18.对于常数41H,在汇编语言中表达成字符?
A?
也是正确的,因?
A?
的ASCII码就是41H。
对
D错
19.EQU和=两个伪指令的功能和用法一样。
错
20.MOVAX,DI+SI有没有语法错误?
错21.MOVAX,0对
22.MOV[1000H],1000H错
23.MOVBL,AX错
24.MOV[0],AX对
25.PUSHPSW错26.SHRDX,BL错27.MULAL,BL错
28.ANDAX,[1000]对
29.XCHGCS,DS错
30.LDSAL,[BX]错
31.MOVCS,100H错
32.MOV[1000H],0错
33.MOVAX,1AFCH对
34.MOVCS,AX错
35.PUSHAX对
36.SHRDX,4错
37.MOVAL,CDH错
38.MOVAX,BUFFER对
39.XCHG1000H,AX错
40.LDSSS,[BX]错
五.填空题36
汇编语言程序的伪指令
8086CPU结构,寄存器地址计算:
有效地址,物理地址二进制运算指令功能
1.段的定义用的是伪指令()
2.程序结束的语句是()解答
3.用汇编语言编写的程序称为种机器语言程序被称为_
SEGMENT/ENDS
:
MOVAX,4C00HINT21H
,它必须用程序将它转换成二进制的机器语言程序,__,而转换的过程称为。
它还必须用程序连接,
生成可执行的程序汇编源程序,汇编程序,目标代码,汇编。
连接
4.汇编源程序不可以用word文字处理系统处理,并保存为word,师因为文档汇编源程序必须是
这才能
纯文
本文件
5.在表达存储容量时,1KB=B;1MB=KB。
10241024
6.8086/8088CPU的地址线有20条,它的存储容量为。
1MB
102010301020
1KB=210B=1024B,1MB=220B=210KB=1024KB,1GB=230B=210MB=220KB=1024MB
1TB=240B=230KB=220MB。
所以答案:
1024/2101024/210/1K
7.外设与系统之间必须通过连接。
系统通过与外设进行通信。
输入输出接口电路(I/O接口)I/O端口
8.机器指令是一组___,由__和__构成。
机器语言程序常被称作___。
二进制代码,操作码操作数目标程序
9.对于计算机内部的一个编码:
01001001,他代表什么含义01001001作为ASCII码,表示字符I
10.计算1101+11,1101-11,1101*11,1101/11的值。
1101+11=100001101-11=10101101*11=1001111101/11=100(余数1)e
11.8086CPU的主存寻址范围是(),数据线有()条主存寻址空间为1M,数据线有16条eee
12.8086CPU的内部结构分为总线接口(BIU)和执行单元(EU)两大部分。
BIU负责CPU对存储器和外设的访问;EU负责指令的译码、执行和数据的运算。
13.
完成一条指令的功能可以分为两个主要阶段:
(取指令)和(执行指令)
1十19进制数
01二11进01制11数
十六进制数
77
214129
11110010
F2
223
1110111010110
DF
23
00010111
DF
17
90
010010110011011
5A
120
01111000
5A
78
寻址方式是,物理地址是
17.标志寄存器中OF标志位的主要作用是
18.TEST指令的功能是。
19.指令LEA__AX,[SI+100H]的具体操作是。
20.有符号二进制字节数可表示的数的范围是。
21.执行一条POP__AX指令后,SP的内容发生的变化是。
22.AL寄存器的内容为28H,执行指令OR__AL,33H后,AL的值为。
23.测试寄存器AL和BL的值是否相等而不改变其值应使用指令。
24.Intel8086CPU的通用寄存器有。
25.Intel8086CPU的IP寄存器的作用是。
26.(CS)=1000H,(DS)=2000H,(ES)=3000H,(SS)=4000H,操作数[1000H]寻址方式是物理地址是。
27.标志寄存器中CF标志位的主要作用是。
28.NEG指令的功能是。
29.指令MUL__CL的具体操作是。
30.无符号二进制字节数可表示的数的范围是。
31.执行一条PUSH__AX指令后,SP的内容发生的变化是。
32.AL寄存器的内容为28H,执行指令AND__AL,33H后,AL的值为
33.测试寄存器AL和BL的值是否相等而不改变其值应使用指令。
35.
120
36.
十进制数
二进制原码
二进制反码
二进进制补补码
1199
00010011
00010011
00010011
--9922
11011100
10100011
10100100
--112277
11111111
10000000
10000001
六.回答问题3
地址计算
指令段运行结果
1.说明下列指令中源操作数的寻址方式?
如果BX=2000H,DI=40H,给出DX的值或有效地址EA的
值。
(1)MOVDX,[1234H]
(1)直接寻址,EA=1234H
(2)MOVDX,1234H
(2)立即数寻址,DX=1234H
(3)MOVDX,BX(3)寄存器寻址,DX=2000H
(4)MOVDX,[BX](4)间接寻址,EA=2000H
(5)MOVDX,[BX+1234H](5)相对寻址,EA=3234H
(6)MOVDX,[BX+DI](6)基址变址寻址,EA=2040H
(7)MOVDX,[BX+DI+1234H](7)相对基址变址寻址,EA=3274H
2已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12345678H,[21200H]~[21203H]依次存放2A4CB765H,说明下列每条指令执行完后AX寄存器的内容。
1)
MOVAX,1200H
(1)AX=1200H
2)
MOVAX,BX
(2)AX=
0100H
3)
MOVAX,[1200H](3)
AX=4C2AH
4)
MOVAX,[BX](4)AX
=3412H
5)
MOVAX,[BX+1100H](
5)AX=4C2AH
6)
MOVAX,[BX+SI](6)
AX=7856H
7)
MOVAX,[BX][SI+1100H]
(7)AX=65B7H
3、请分别用一条汇编语言指令完成如下功能:
(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。
(2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。
(3)用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。
(4)用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果送回该存储单元中。
(5)把数0A0H与AL寄存器的内容相加,并把结果送回AL中。
(1)ADDDX,BX
(2)ADDAL,[BX+SI]
(3)ADD[BX+0B2H],CX
(4)ADDWORDPTR[0520H],3412H
(5)ADDAL,0A0H
七编程序
顺序程序:
,符号函数,查表,表内为数据,地址分支程序:
循环程序:
多个字节数据,字数据求和,带符号数,无符号数拆字,合字
数据交换:
4位绝对值字母的大写与小写的转换求最大数,最小数统计正数,负数的个数数据排序,带符号数,无符号数数据显示:
ASCII码,二进制
DOS系统功能调用:
字符,字符串输入与输出
1.已知两个八位无符号数x和y,分别存放在BUF和BUF+1单元中,且x>y。
请编程序计算x-y,结果存回BUF单元。
(4.1)此题为两个八位无符号数相减,我们可以直接使用减法指令SUB
来实现。
源程序如下:
SSEG
SEGMENT
STACK,STACK?
STA
DW
100DUP(?
)
SSEG
ENDS
DSEG
SEGMENT
DATA?
BUF
DB
82,60
DSEG
ENDS
CSEG
SEGMENT
CODE?
ASSUME
C