《汇编语言程序设计》期末复习题Word格式文档下载.docx
《《汇编语言程序设计》期末复习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《汇编语言程序设计》期末复习题Word格式文档下载.docx(45页珍藏版)》请在冰豆网上搜索。
29.8086/8088CPU允许最大的存储空间为1MB,因此CPU的地址总线是20位
30.与LOOPyeqianyi指令功能等效的两条指令依次是DECCX和JNEyeqianyi
31.将AX寄存器清零的逻辑指令是ANDAX,0或XORAX,AX
32.在指令语句操作数项上,引用一个段名,就是获取段地址的立即数据
33.执行查表指令XLAT时,要先将表地址存放在BX中,将位移量存放在AL
34.十进制调整指令DAA或AAA必须放置在ADD或ADC指令之后,只对AL内容进行修正。
35.假设执行前AX=7862H,指令XORAX,AX执行后AX中的值是0
36.指令CBW只能实现对寄存器AL的内容进行扩展,而它当中存放的数据应该是一个
带符号数。
37.比较两个带符号A与B的大小,若(OF)
(SF)=0,则A-B>
0
38.变量的类型属性指的是该变量对应存储单元的字节数
39.VAR1DD10HDUP(?
)语句实现留空40个字节单元。
40.在源程序中定义一个逻辑段,使用SEGMNT语句表示一个段的开始,用语句表示一个段的结束。
41.汇编语言源程序中的语句有三种类型,它们是宏指令语句,指令语句及伪指令语句
42.ARRAYDB0,2DUP(1,2),0,3汇编时生成的数据依次是0,1,2,1,2,0,3
43.在指令语句和伪指令语句中常用符号$表示地址计数器的当前值。
44.指令MOVAX,SEGBUF的执行,是把BUF的段地址送到AX中。
45.用DW1200H语句定义的一个字,如改用DB语句定义时,该语句是DB00H,12H
45.如果过程与调用的主程序处在同一代码段,这样的过程属性是NEAR,与调用它的主程序处于不同的代码段,则该过程属性是FAR
47.在数据段或代码段中,常用伪指令“ORGn”来定义本段的偏移地址初值,该初值的范围是0000H-0FFFFH
48.在存储单元yeqianyi开始,欲保留100个字长的存储单元,应使用的数据定义伪指令
是yeqianyiDw100Dup(?
)
49.在存取一个存储器操作数时,段地址必须由段寄存器提供。
二、选择题
1.能够将目标模块或子程序连接起来,生成可执行文件的系统程序是2
DEBUGLINKMASMEDIT
2.用汇编语言编写的程序称为2
汇编程序源程序可执行文件目标程序
3.汇编语言源程序文件的扩展名为4
.OBJ.EXE.COM.ASM
4.设(101)x=(41)16求x=3
61082
5.内存某字节单元中存放的二进制代码为94H,若将它看作是一个压缩BCD码,则其对应的数值为4
148-20-10894
6.当执行ADDAX,BX指令后,若AX的内容为4E52H时,设置的奇偶标志位PF=0,下面的叙述正确的是4
①表示结果中含1的个数是奇数②表示结果中含1的个数是偶数
③表示该数是奇数④表示结果中低8位中含1的个数是奇数
7.要输入端口1234H中的8位数据,其指令应是2
①MOVDX,1234H②MOVDX,1234H
OUTDX,ALINAL,DX
③INAX,1234H④OUTDX,1234H
8.下列寄存器组中,在访问存储器操作数地址时,可以提供偏移地址的是1
①BP、BX、SI、DI②AX、BX、CX、DX
③SP、IP④BX、SI、DI、DS
9.IBMPC机的存储器单元的物理地址是用2表示的。
①5位十进制数②20位无符号二进制数
③4位十六进制数④20位带符号二进制数
10.能够与SS寄存器组合形成堆栈区物理地址的寄存器是2
①BX②BP③IP④SI
11.若AX=-15要得到AX=15应执行的指令是1
①NEGAX②NOTAX
③INCAX④DECAX
12.取指令的物理地址表达式为4
①(DS)×
10H+(BX)②(SS)×
10H+(SP)
③(ES)×
10H+(SI)④(CS)×
10H+(IP)
13.可以作为一个段的起始地址的是3
①21002H②00104H③01000H④F0008H
14.在标志寄存器FLAGS中,用以记录当前运算结果是否为零的标志是4
①CF②OF③SF④ZF
15.8086/8088对I/O端口寻址范围是3
①16KB②32KB③64KB④1MB
16.8086/8088系统执行传送指令MOV时1
①不影响标志位②影响DF方向标志
③影响SF符号标志④影响CF进位标志
17.设物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H,如从地址21001H中取出一个字的内容是4
①2030H②3040H③3020H④4030H
18.若内存中有100个字节数据区,其首地址为10210H,那么其最末一个字节单元的地址是3
①10274H②10310H③1021H:
0063H④1021H:
0064H
19.假设存储器中从7462H单元开始的四个相邻字节单元中的内容依次是32H,46H,52H,OFEH,则存放字数据0FE52H的字地址是3
①7462H②7463H③7464H④7465H
20.将-1存入AX中,其内容为1
①FFFFH②-0001H③FFH④8001H
21.在段内寻址时,可以提供偏移地址的寄存器组是2
①AX,BX,CX,DX②BX,BP,SI,DI
③SP,BP,SI,DI④DS,ES,CS,SS
22.将AX的内容存入堆栈正确的指令是3
①MOV[SP],AX②POPAX
③PUSHAX④MOVSS:
[SP],AX
23.MOVAL,79
ADDAL,0B1H
上面指令执行后,设置的标志位CF和OF的值是4
①CF=0,OF=1②CF=1,OF=1
③CF=0,OF=0④CF=1,OF=0
24.能够将BL的低四位清“0”的指令是1
①ANDBL,0F0H②ORBL,00H
③ORBL,0F0H④ANDBL,00H
25.已知AX、BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是2
①DIVBX②CWD
IDIVBX
③XORDX,DX④CBW
DIVBXIDIVBX
26.没有语法错误的输入指令是1
①INAL,30H②IN30H,AL
③INDX,AL④INAL,[BX]
27.设(AL)=63H(BL)=29H执行下面指令后
SUBAL,BL
DAS
AX的内容是3
①(AX)=0304H②(AX)=0034
③(AX)=0034H④(AX)=0304
28.算术右移指令SAR和逻辑右移指令SHR,两条指令执行结果完全相同的条件是1
①目的操作数最高位为0②目的操作数最高位为1
③目的操作数为任意情况④无论什么情况都不可能完全相同
29.设OP1、OP2是变量,下面哪条指令是非法的2
①CMPAX,OP1②CMPOP1,OP2
③CMPBX,OP2④CMPOP,0FFH
30.在执行十进制调整指令前,必须先把需要调整的数送入1
①AL②AX③DL④DX
31.下列指令中操作数在代码段中的是1
①MOVEAX,123400FEH②ADDEBP,EAX
③SUB[BX],DI④INCWORDPTR[BX]
32.设AL=0A8H,CL=23H,执行乘法指令MULCL后,标志位OF,CF的值分别是1
①OF=1,CF=1②OF=1,CF=0
③OF=0,CF=1④OF=0,CF=0
33.设DF=0,SI=20H,CX=10,执行REPLODSW指令后,SI中的内容是3
①20H②30H③34H④40H
34.在串操作指令中,使用重复操作前缀不正确的是2
①REPMOVSB②REPLODSB
③REPSTOSB④REPNZSCASB
35.设有变量VAR和标号LAB,不正确的指令是3
①LEAAX,VAR②LEAAX,LAB
③JMPNEARPTRVAR④JMPSHORTLAB
36.指令CALLDWORDPTRVALUE属于4寻址方式。
①段内直接调用②段内间接调用
③段间直接调用④段间间接调用
37.用REPESCASB指令对字符串进行扫描,如CX≠0时,扫描结束,那么表示4
1在字符串中遇上第一个AL中指定的字符
2在字符串中有一个AL中指定的字符
3在字符串中有一个不是AL中指定的字符
④在字符串中遇上第一个不是AL中指定的字符
38.指令LOOPNELOP的循环条件是2
①(ZF)=0,(CX)=0②(ZF)=0,(CX)≠0
③(ZF)=1,(CX)=0④(ZF)=1,(CX)≠0
39.累加器AX内的内容为01H,执行CMPAX,01H指令后,(AX)=2
①0H②1H③-2H④2H
40.指令执行后可能改变了累加器内容的是3
①ORAL,00H②ANDAL,0FFH
③XORAL,AL④TESTAL,0FFH
41.在指令PUSHAX的执行过程中,要进行1操作
①(SP)-2SP②(SP)+1SP
③(SP)-1SP④(SP)+2SP
42.设A、B均为无符号数,若A≥B则转向VALUE处,给出错误的条件转移指令是4
①JNBVALUE②JAEVALUE
③JNCVALUE④JNSVALUE
43.设SP的初值为1000H,执行指令PUSHAX后SP的值是3
①0FFFH②1001H③0FFEH④1002H
44.下列指令中,非法的是1
①MOVAL,DX②SHRDX,CL
③INAL,DX④OUT02,AL
45.下列指令执行后对源操作数和目的操作数均无影响的是4
①MOV[BX+2],AX②SUBAX,2476H
③SBB[SI],BX④CMPAX,BX
46.设AX中存放的是带符号数,对其进行除8操作,能够完成此项功能的指令序列是4
1SHRAX,2②SARAX,2
SHRAX,2SARAX,1
③MOVCL,3④MOVCL,3
SHRAX,CLSARAX,CL
47.设AL中是无符号数,试将AL内容扩展后送入BX中,能够完成此项功能的指令序列是2
1CBW②MOVAH,0
MOVBX,AXMOVBX,AX
③MOVAH,0FFH④MOVBL,AL
MOVBX,AXMOVBH,AH
48.若(AX)=1234H,(DX)=89ABH,执行XCHGAX,DX指令后,AX、DX中的内容应是3
①(AX)=1234H(DX)=1234H②(AX)=12ABH(DX)=8934H
③(AX)=89ABH(DX)=1234H④(AX)=89ABH(DX)=89ABH
49.(CF)=1时转移到目标地址的条件转移指令是2
①JNC②JC③JZ④JS
50.汇编语言源程序,可以是4
1可以直接由机器执行
②必须由编译程序生成目标程序才能执行
③必须由解释程序生成目标程序才能执行
④必须由汇编程序汇编成目标程序才能执行
51.完成(BX)-(CX)AX的错误指令是2
①SUBBX,CX②XCHGAX,CX
MOVAX,BXSUBAX,BX
③XCHGAX,BX④MOVAX,BX
SUBAX,CXSUBAX,CX
52.下列指令中操作数在代码中的是2
①MOVAL,[100H]②MOVAL,00H
③MOV[20H],AL④MOVAL,BL
53.下列指令中,影响或修改PSW内容的指令是2
①PUSHF②POPF③JCXZ④LOOPZ
54.下列有语法错误的语句是3
①DB12H②DW4567H
③DD‘ABCD’④DB‘ABCD’
55.AL、BL中都是无符号数,若(AL)>
(BL)时,转到NEXT处。
在执行CMPAL,BL指令后应选用的指令是1
①JNBENEXT②JNLENEXT
③JBENEXT④JLENEXT
56.使状态标志位CF清零的错误指令是4
①CLC②XORAX,AX③SUBAX,AX④MOVCF,0
57.执行POPAX指令正确的CPU操作过程是3
①i(SP)+1SP,((SP))AL②i(SP)+1SP,((SP))AH
ii(SP)+1SP,((SP))AHii(SP)+1SP,((SP))AL
③i((SP))AL,(SP)+1SP④i((SP))AH,(SP)+1SP
ii((SP))AH,(SP)+1SPii((SP))AL,(SP)+1SP
58.MOVBX,0FFFEH
NEGBX
NOTBX
上述三条指令执行后,BX中的内容是3
①-1②-2③-3④-4
59.ORG200H
BUFDB12H,34H
MOVAX,WORDPTRBUF
上述指令语句执行后,AX中的内容是1
①3412H②1234H③0200H④0012H
60.执行NEG指令对状态标志位CF有影响,其规则是3
①对正数求补时,(CF)=0②对负数求补时,(CF)=0
③对非零数求补时,(CF)=1④对零求补时,(CF)=1
61.已知AL内容为压缩BCD码,对它进行加“1”操作,其中错误的指令序列是3
①INCAL②ADDAL,1
DAADAA
③ADCAL,1④STC
DAAADCAL,0
DAA
62.设数据段有:
DA1DBXX;
是任一数据
DA2DB0FEH
则下列两条指令:
MOVDL,DA1
ORDL,DA2
执行后,DL中的内容可能是1
①0FFH或0FEH②只能是0FEH
③只能是0FFH④只能是01H
63.DB1DB8DUP(2DUP(3),3DUP
(2))
MOVAX,WORDPTRDB1[04H]
上面指令执行后,AX的内容是1
①0302H②0203H
③0202H④0303H
64.伪指令DA1DB04HDUP(3DUP
(2),2DUP(3))在数据区中能构成0203H操作数共有3
①7个②4个③3个④2个
65.设BUF1和BUF2均为变量名,操作数部分合法的指令是4
①ADDAL,BUF1*BUF2②ADDAL,BUF1/BUF2
③ADDAL,BUF1+BUF2④ADDAL,BUF2-BUF1
66.MOVBL,80H
MOVCL,2
SARBL,CL
上述指令序列执行后,结果是4
①(BL)=40H②(BL)=20H
③(BL)=0C0H④(BL)=0E0H
67.已知(SP)=1FFFH,执行下列指令后,(SP)=4
POPF
PUSHAX
①2000H②2002H③1FFCH④1FFFH
68.设NUM1EQU100
NUM2=64H
下面指令执行后,使BL中全为1的指令是1
①MOVBL,NUM1EQNUM2②MOVBL,NUM1LTNUM2
③MOVBL,NUM1NENUM2④MOVBL,NUM1GTNUM2
69.设(AL)=04H,(BL)=0F8H,执行MULBL指令后,结果为1
①(AX)=03E0H②(AX)=0FEE0H
③(AX)=0032H④(AX)=00E0H
70.ORG100H
NUMEQU8042H
DA1DB56H
MOVBX,OFFSETDA1
上述程序段执行后BX中的值是2
①56H②100H③101H④102H
71.设(AL)=63H(BL)=29H执行下面指令后
③(AX)=0034H④(AX)=0304
72.实现对AX中的带符号数除以2的指令是2
①IDIV2②SARAX,1
③RORAX,1④SHRAX,1
73.MOVAL,-1
NEGAL
XORAL,65
上述程序段执行后,AL的内容是1
①40H②64H③01H④61H
74.设数据段中定义语句
DA1DB12H,34H
DA2DW12H,34H
下面有语法错误的语句是2
①BUF1DWDA1②MOVDA1+1,AX
③MOVBYTEPTRDA2+1,AL④MOVWORDPTRDA1,AX
75.DA1DW2A05H
DA2DB0FAH
MOVAL,BYTEPTRDA1
SUBDA2,AL
上述指令执行后,DA2中的内容是3
①0DAH②0FAH
③0F5H④0D0H
76.在执行POP[BX]指令,寻找目的操作数时,段地址和偏移地址分别是1
①在DS和BX中②在ES和BX中
③在SS和BX中④在CS和BX中
77.MOVAL,79
执行上述指令后,标志位CF和OF的值是3
①(CF)=0,(OF)=0②(CF)=0,(OF)=1
③(CF)=1,(OF)=0④(CF)=1,(OF)=1
78.DA1EQUWORDPTRDA2
DA2DB0ABH,0CDH
SHLDA1,1
SHRDA2,1
上述两条指令执行后,DA2中两字节单元内容分别是2
①0ABH,0CDH②2BH,9BH
③4DH,57H④56H,9BH
79.TESTVAR,55H
JEZER0
ZER0:
……
上述程序段执行JEZER0指令后能够产生分支的条件是4
①VAR=0②VAR=55H
③VAR中第1,3,5,7位均为0④VAR中第0,2,4,6位均为0
80.XORAX,AX
MOVAL,90H
CWD
执行上述指令后,结果为4
①(DX)=0000,(AX)=FF90H②(DX)=FFFFH,(AX)=0090H
③(D