汇编语言自测试试题.docx
《汇编语言自测试试题.docx》由会员分享,可在线阅读,更多相关《汇编语言自测试试题.docx(24页珍藏版)》请在冰豆网上搜索。
汇编语言自测试试题
汇编语言自测试试题
-----------------------作者:
-----------------------日期:
汇编语言自测试题(3)
一.单选题(每小题1分,共10分)
在四个备选的答案中,选出一个正确答案,请将其序号填在题中的括号内
1.能被计算机直接识别的语言是()
A.C语言B.汇编语言C.机器语言D.面向对象语言
2.唯一代表存储空间中每个字节单元地址的是()
A.段地址B.偏移地址C.有效地址D.物理地址
3.在8086中,存储器是分段组织,每段最大长度是()
A.16KBB.32KBC.64KBD.128KB
4.下列四组寄存器中,属于通用寄存器的是()
A.AX,BX,CX,DXB.SP,BP,IP
C.SI,DI,FLAGSD.上属三者都是
5.VAR是数据段中定义的变量,指令MOVAX,VAR源操作数的寻址方式是()
A.立即寻址B.直接寻址C.相对寻址D.寄存器寻址
6.下列指令执行后,不影响标志位的指令是()
A.PUSHAXB.ADDDX,CXC.XORAX,AXD.CMPAX,5
7.下列指令执行后,一定能使CF=0的指令是()
A.NOTAXB.ORAX,AXC.SUBBX,SID.ROLAX,1
8.设(DS)=8260H(DI)=3500H,指令DECWORDPTR[DI]操作数的物理地址是()
A.11760HB.85B00HC.86100HD.以上都不时
9.循环指令LOOPAGAIN终止循环的条件是()
A.(AX)=0B.(BX)=0C.(CX)=0D.(DX)=0
10.对寄存器AX中的值除以2正确的指令序列是()
A.MOVAX,-51B.MOVAX,-51
SHRAX,1RORAX,1
C.MOVAX,-51D.以上都不是
SARAX,1
二.填空题(每空格1分,共15分)
1.在8086/8088系统中,存储器是分段组织的,存储器物理地址计算公式是⑴。
2.在程序执行过程中,指令的段地址存放在⑵寄存器中,偏移地址存放在⑶寄存器中。
3.下列六条指令语句正确的是⑷⑸二句。
A.PUSHCSB.ADDCX,[SI+DI]C.ANDAX,0FH
D.MOVCL,256E..MOVAX,[BL]F.ADDDS,AX
4.已知(DS)=2F00H(ES)=3F00H(SS)=1A80H(BX)=0800H
(SI)=0010H(DI)=0A00H(BP)=0040H计算下列指令源操作数的物理地
址,指出寻址方式
(1)MOVAX,[BP+6]物理地址⑹寻址方式⑺
(2)ADDAX,ES:
[BX]物理地址⑻寻址方式⑼
5.。
加减运算中,一字节有符号数能表达的数值范围是⑽,运算结果超出
范围称为⑾,此时标志位⑿。
6.乘法指令IMULBX一个乘数在BX中,另一个乘数一定在⒀中,乘积在⒁中。
.
7.与LEABX,VAR指令完全等效的指令是⒂。
三.简答题(每题8分,共24分)
1.按题意写出合适的指令语句,每小题写一条指令
(1)把DX寄存器和CX寄存器的内容相减,结果存入DX寄存器中。
(2)用BX和SI的基址变址寻址,将存储器中的一个字传送到CX寄存器中。
(3)取数组ARRAY的起始地址到BX寄存器中。
(4)将DX寄存器的高四位置1
2.执行下列指令语句,把执行结果填在空格中
(1)已知(AL)=0FFH,(BL)=10H,执行MULBL则(AH)=⑴(AL)=⑵
(2)已知(DS)=2500H(SI)=00A0H(250A0H)=01H(250A1H)=96H
执行ROLWORDPTR[SI],1则(250A0H)=⑶,(250A1H)=⑷,CF=⑸
(3)已知(SS)=3000H(SP)=200H(AX)=785AH(BX)=1234H,
先执行PUSHAX,再执行PUSHBX,此时(SS)=⑹(SP)=⑺数12H存放的物理地址是⑻.
3.已知数据段定义如下:
DATASEGMENT
VADB10H
VBDW3*20
MSGDB‘HELLO!
’
COUNTEQU15
BUFDWCOUNTDUP(5,3DUP(1,2),0)
DATAENDS
问题:
(1)执行MOVBX,0FFSETVA后,(BX)=
(2)执行MOVCX,TYPEBUF后,(CX)=
(3)用一条指令将字母’O’取到AL中.
(4)经汇编后,BUF占有的存储空间是字节
四.程序分析题(每题7分,共21分)
1.MOVAX,0
MOVBX,1
MOVCX,5
LOP:
ADDAX,BX
ADDBX,2
LOOPLOP
HLT
问题:
(1)程序的功能是什么(可用算式表示)?
(2)运行后,(AX)=.
2.已知(AX)=3200H,(DX)=0A000H,执行下列程序段:
NOTAX
NOTDX
ADDAX,1
ADCDX,0
HLT
问题:
(1)程序执行后,(AX)=(DX)=.
(2)程序功能是什么?
3.执行下列程序:
MOVAX,9B47H
MOVBX,0B568H
ADDAX,BX
JNOL1
JNCL2
SUBAX,BX
JNCL3
JNOL4
JMPSHORTL5
问:
程序执行后,(AX)=,程序转向
五.程序填空(每题5分,共10分)
1.下列程序段将AX中值乘以9,请将程序填写完整
⑴__________
MOVCL,3
⑵____________
POPBX
ADDAX,BX
2.设AX,BX。
CX中的数是数带符号,下列程序求AX、BX、CX中的最小值,
结果在AX中.请将程序填写完整。
CMPAX,BX
⑴_________________
XCHGAX,BX
NEXT:
CMPCX,AX
⑵___________________
XCHGAX,CX
EXIT:
六.按要求编程(每题10分,共20分)
1.测试AL寄存器的D5和D0位,若同时为0,程序转向ZERO,执行AX减去BX;否则将AL清0,同时清CF和OF标志。
写出程序段.
2.设X、Y、Z、W为十六位有符号数编程计算:
W←((X+Y*Z)/8)-Y除法余数丢弃
若ZF=1,程序转EQ;否则转NOT_EQ。
汇编语言自测试题(3)标准答案
一.单选题(每小题1分,共10分)
1.C2.D3.C4.A5.B
6.A7.B8.B9.C10C.
二.填空题(每空格1分,共15分)
(1)段地址*16+偏移地址
(2)CS(3)IP(4)(5)A,C(次序无关)(6)1A846H(7)寄存器相对寻址
(8)3F800H(9)寄存器间接寻址(10)-128~+127(11)溢出(12)OF=1(13)AX
(14)DX,AX(15)MOVBX,OFFSETVAR
三.简答题(每题8分,共24分)
1.
(1)SUBDX,CX
(2)MOVCX,[BX+SI]
(3)LEABX,ARRAY或MOVBX,OFFSETARRAY(4)ORDX,0F000H
2.
(1)0FH
(2)0F0H(3)03H(4)2CH(5)1(6)3000H(7)1FCH(8)1FDH
3.
(1)0
(2)2(3)MOVAL,MSG+4(4)240
四.程序分析题(每小题7分,共21分)
1.
(1)1+3+5+7+9
(2)25
2.
(1)0CE00H5FFFH
(2)双字长数DX,AX求补
3.
(1)9B47H
(2)L5
五.程序填空(每小题5分,共10分)
1.
(1)PUSHAX
(2)SHLAX,CL
2.
(1)JLENEXT
(2)JGEEXIT
六..按要求编程(每题10分,共20分)
1.TESTAL,00100001B
JZZERO
SUBAX,AX
JMPSTOP
ZERO:
SUBAX,BX
STOP:
HLT
2.MOVAX,Y
IMULZ
MOVBX,DX
MOVCX,AX
MOVAX,X
CBW
ADDAX,CX
ADCDX,BX
MOVCX,8
IDIVCX
SUBAX,Y
MOVW,AX
JZEQ
NOT_EQ:
2000年(下)高等教育自学考试----汇编语言程序设计试题
一、单项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
每小题1分,共20分)
1、设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是()。
A、85B92HB、86192HC、BB690HD、12169H
2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()。
A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS
3、循环指令LOOPNZ终止循环的条件是()。
A、CX=0,且ZF=0B、CX=0,或ZF=1
C、CX≠0,且ZF=0D、CX≠0,或ZF=1
4、对寄存器AX的内容乘以4的正确指令序列是()。
A、SHRAX,1
SHRAX,1
B、SHLAX,1
SHL,AX,1
C、ROLAX,1
ROLAX,1
D、RCRAX,1
RCRAX,1
5、执行INC指令除对于SF、ZF有影响外,还要影响的标志位是()。
A、OF,AF,PFB、OF,AF,CF
C、OF,PF,CFD、AF,PF,CF
6、设DH=10H,执行NEGDH指令后,正确的结果是()。
A、DH=10H
CF=1
B、DH=10H
CF=0
C、DH=10H
CF=0
D、DH=0F0H
7、下列传送指令中有语法错误的是()。
A、MOVCS,AXB、MOVDS,AX
C、MOVSS,AXD、MOVES,AX
8、下面指令执行后,改变AL寄存器内容的指令是()。
A、TESTAL,02HB、ORAL,AL
C、CMPAL,BLD、ANDAL,BL
9、执行除法指令后,影响的标志位是()
A、CF,OFB、SF,ZF
C、CF,OF,SFD、AF,CF,OF,PF,SF,ZF都不确定
10、执行下面指令序列后,结果是()。
MOVAL,82H
CBW
A、AX=0FF82HB、AX=8082H
C、AX=0082HD、AX=0F82H
11、与MOVBX,OFFSETVAR指令完全等效的指令是()。
A、MOVBX,VARB、LDSBX,VAR
C、LESBX,VARD、LEABX,VAR
12、在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是()。
A、WORDB、PAGEC、BYTED、PARA
13、MOVSP,3210H
PUSHAX
执行上述指令序理后,SP寄存器的值是()。
A、3211HB、320EHC、320FHD、3212H
14、BUFDW10HDUP(3DUP(2,10H),3,5)
上述语句汇编后,为变量BUF分配的存储单元字节数是()。
A、80HB、100HC、124D、192
15、在汇编语言程序的开发过程中使用宏功能的顺序是()。
A、宏定义,宏调用
B、宏定义,宏展开
C、宏定义,宏调用,宏展开
D、宏定义,宏展开,宏调开
16、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是()。
A、名字项B、操作项C、操作数项D、注释项
17、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有()。
A、CMPB、SUBC、ANDD、MOV
18、为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是()。
A、INCCX
JZMINUS
B、SUBCX,OFFFFH
JZMINUS
C、ANDCX,OFFFFH
JZMINUS
D、XORCX,OFFFFH
JZMINUS
19、AL和VAR字节单元中分别存放一个带符号数,执行CMPAL,VAR时,如AL>VAR,那么溢出位和符号位的关系是()。
A、OF=SFB、OF≠SFC、OF=SF=1D、OF=SF=0
20、检查BUF的内容是否为正偶数,如是正偶数,则0→AL。
下面程序段正确的是()。
A、MOVAL,BUF
JSK1
SHRAL,1
JNCK1
MOVAL,0
B、MOVAL,BUF
ANDAL,11
JNZK2
MOVAL,0
K2:
----
C、MOVAL,BUF
TESTAL,81H
JNZK3
MOVAL,0
K3:
----
D、MOVAL,BUF
JNPK4
TESTAL,80H
JNZK4
MOVAL,0
K4:
----
二、简答题(每小题4分,共12分)
1、在指令系统中,段内、段间返回均为RET指令。
试回答:
(1)执行段内返回RET指令时,执行的操作是:
(2)执行段间返回RET指令时,执行的操作是:
2、ARYDW10DUP(?
)
┆
MOVAL,TYPEARY
MOVBL,LENGTHARY
MOVCL,SIZEARY
上述MOV指令序列执行后的结果是什么?
3、设某数据段:
DATASEGMENT
ORG20H
NUM1=8
NUM2=NUM1+10H
DA1DB‘COMPUTER’
DB0AH,0DH
COUNTEQU$-DA1
DA2DW‘CO’,‘MP’,‘UT’,‘ER’
DATAENDS
试回答:
(1)DA1的偏移地址是:
______
(2)COUNT的值是______
(3)DA2+5字节单元的内容是______
三、程序分析题(每小题6分,共36分)
1、已知AX=0FF60H,CF=1
MOVDX,96
XORDH,0FFH
SBBAX,DX
执行上述指令序列后,AX=_____,CF=____
2、设寄存器AL,BL,CL中内容均为76H,
XORAL,0FH
ANDBL,0FH
ORCL,0FH
执行上述指令序列后,AL=_____,BL=____,CL=____
3、已知AX=0A33AH,DX=0F0F0H
ANDAH,DL
XORAL,DH
MNEGAH
NOTAL
执行上述指令序列后,AH=____,AL=______
4、DATASEGMENT
S9DB0,1,2,3,4,5,6,7,8,9
DATAENDS
┆
LEASI,S9
LEA,DI,S9+1
MOVCX,5
LOP:
MOVAL,[SI]
XCHGAL,[DI]
MOV[SI],AL
ADDSI,2
ADDDI,2
LOOPLOP
上述程序段运行后,S9开始的10个字节存储单元内容是什么?
5、MOVAL,38H
MOVBL,49H
CALLSUBO
INCAL
DECCL
┆
SUBOPROC
ADDAL,BL
MOVCL,AL
DAA
RET
SUBOENDP
上述程序段运行后,AL=____,CL=____
6、DA3EQUWORDPTRDA4
DA4DB0ABH,89H
┆
SHRDA3,1
MOVDX,DA3
SHLDA4,1
MOVCX,DA3
上述程序段运行后,CX=____,DX=____
四、程序填空题(注意:
下列各小题中,每空只能填一条指令!
每小题6分,共12分)
1、下面程序段是判断寄存器AH和AL中第3位是否相同,如相同,AH置0,否则AH置全1。
试把空白处填上适当指令。
---------------
ANDAH,08H
---------------
MOVAH,OFFH
JMPNEXT
ZERO:
MOVAH,0
NEXT:
----
2、以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。
BUFDB5,6,7,58H,62,45H,127,----
COUNTEQU$-BUF
MAXDB?
┆
MOVBX,OFFSETBUF
MOVCX,COUNT-1
MOVAL,[BX]
LOP1:
INCBX
---------------
JAENEXT
MOVAL,[BX]
NEXT:
DECCX
---------------
MOVMAX,AL
┆
五、编制程序题(第1小题6分,第2小题14分,共20分)
1、编写程序段,用DOS的1号功能调用通过键盘输入一字符,并判断输入的字符。
如字符是“Y”,则转向YES程序段;如字符是“N”,则转向NO程序段;如是其他字符,则转向DOS功能调用,重新输入字符。
(考生勿需写出源程序格式,只需写出与试题要求有关的指令序列)(YES和NO分别是两程序段入口处的标号)
2、在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。
DATASEGMENT
BUF1DW-56,24,54,-1,89,-8,----
BUF2DW45,-23,124,345,-265,----
SUMDW10DUP(0)
DATAENDS
2000年(下)高等教育自学考试---汇编语言程序设计参考答案
一、单项选择题(每小题1分,共20分)
1、A2、B3、B4、B5、A6、D7、A8、D9、D10、A
11、D12、D13、B14、B15、C16、B17、D18、C19、A20、C
二、简答题(每小题4分,共12分)
1、执行段内返回:
栈顶内容→IP,SP+2→SP(1分)
执行段间返回:
①栈顶内容→IP,SP+2→SP(1.5分)
②栈顶内容→CS,SP+2→SP(1.5分)
上述顺序错只得1分
2、AL=2(1分)
BL=10(1.5分)
CL=20(1.5分)
3、DA1的偏移地址是20H(1分)
COUNT的值是0AH(1分)
DA2+5字节单元的内容是‘U’的ASCII码(2分)
三、程序分析题(每小题6分,共36分)
1、AX=0(4分)CF=0(2分)
2、AL=79H(2分)BL=06H(2分)CL=7FH(2分)
3、AH=60H(3分)AL=35H(3分)
4、S9DB1,0,3,2,5,4,7,6,9,8
上述10个数据,错1个扣1分,扣完为止
5、AL=88H(3分)CL=80H(3分)
6、CX=44AAH(3分),DX=44D5H(3分)
四、程序填空题(每小题6分,共12分)
1、
(1)XORAH,AL(3分)
(2)JEZERO(3分)
2、
(1)CMPAL,[BX](3分)
(2)JNZLOP1(3分)
五、编制程序题(第1小题6分,第2小题14分,共20分)
1、参考答案:
KEY:
MOVAH,1
INT21H
CMPAL,‘Y’
JEYES
CMPAL,‘N’
JENO
JMPKEY
评分:
①1号功能调用2分
②分支判断4分
2、参考程序
DATASEGMENT
BUF1DW-56,24,54,-1,89,-8,----
BUF2DW45,-23,124,345,-265,----
SUMDW10DUP(0)
DATAENDS
STACK1SEGMENTPARASTACK
DW20HDUP(0)
STACK1ENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK1
START:
MOVAX,DATA
MOVDS,AX
MOVCX,10
LEASI,BUF1
LEADI,BUF2
LEABX,SUM
NEXT:
MOVAX,[SI]
MOVDX,[DI]
TESTAX,8000H
JETDX
NEGAX
TDX:
TESTDX,8000H
JEADDS
NEGDX
ADDS:
ADDAX,DX
MOV[BX],AX
ADDSI,2
ADDDI,2
ADDBX,2
LOOPNEXT
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
评分:
(1)判BUF1和BUF2内容为负数2分
(2)求绝对值1分
(3)求和1分
(4)存结果1分
(5)指针(SI,DI,BX)设置及修改3分
(6)循环正确2分
(7)程序段结构2分
(8)DS预置1分
(9)用户程序结束1分
测试题
一、填空题(每空1分,共19分)
1.用于控制字符*作地址增量方向的标志寄存器是,表示加法结果溢出的标
志寄存器是,允许产生中断时,IF=。
2.在移位指令中,用于指定移位位数的*作数只能是及。
3.内存0005CH处4个字节为D2,EF,00,F0,它是中断的入口地址存放
处,它表示该中断处理程序的起始地址为:
。
4.一条指令为MOVBX,X1,其中X1的偏移地址为16(十进制)。
在DEBUG下,
此指令会变为MOVBX,。
5.用于表示无符号数大于或等于的条件转移指令是;用于表示带符号数大于
或等于的条件转移指令是。
6.IBMPC中规定中断优先级次序(从高到低)依次为、、、。
7.在BIOSINT10h中,定义了多种显示方式,其中06代表的是一种CGA图形方式,
它的分辨率为,可以有种颜色;12h代表的是
一种VGA图形方式,它的分辨率为,可以有
种颜色。
二、判断题(每小题2分,共12分)
[判断下述指令的正误。
正确的打“√”,错误的打“×”并说明理由