大学汇编题库及答案
一、单项选择题
1.在汇编语言中,指令MOVAX,[BX]中,源操作数的寻址方式是()。
A.立即寻址B.直接寻址C.寄存器寻址D.寄存器间接寻址
答案:D
2.若某数据段定义如下:
DATASEGMENT
NUMDB10H,20H,30H
DATAENDS
则执行指令MOVAX,NUM+2后,AX的值为()。
A.20HB.30HC.0020HD.0030H
答案:C
3.汇编语言中,段寄存器CS的作用是()。
A.存放代码段的段地址B.存放数据段的段地址
C.存放堆栈段的段地址D.存放附加段的段地址
答案:A
4.下列指令中,会改变标志位CF的是()。
A.ADDAX,BXB.MOVAX,BXC.CMPAX,BXD.ANDAX,BX
答案:A
5.已知(AL)=0FFH,执行指令ADDAL,01H后,标志位ZF的值为()。
A.0B.1C.不确定D.无影响
答案:A
6.汇编语言中,伪指令DB用于定义()。
A.字节数据B.字数据C.双字数据D.字符串
答案:A
7.若(DS)=1000H,(BX)=2000H,([12000H])=30H,执行指令MOVAX,[BX]后,AX的值为()。
A.3000HB.0030HC.30HD.0000H
答案:C
8.汇编语言中,用于循环控制的指令是()。
A.JMPB.LOOPC.CALLD.RET
答案:B
9.下列寄存器中,不属于通用寄存器的是()。
A.AXB.BXC.CXD.SS
答案:D
10.汇编语言中,指令JNZ表示()。
A.等于则跳转B.不等于则跳转C.大于则跳转D.小于则跳转
答案:B
二、多项选择题
1.下列指令中,属于数据传送指令的有()。
A.MOVB.PUSHC.POPD.XCHG
答案:ABCD
2.汇编语言中,段定义伪指令有()。
A.SEGMENTB.ENDSC.ASSUMED.STRUC
答案:AB
3.关于堆栈操作,以下说法正确的有()。
A.进栈操作使栈顶指针减1。
B.出栈操作使栈顶指针加1。
C.堆栈遵循后进先出原则。
D.堆栈操作可用于子程序调用和返回。
答案:CD
4.下列寄存器中,可作为基址寄存器的有()。
A.BXB.BPC.SID.DI
答案:AB
5.汇编语言中,条件转移指令的测试条件有()。
A.相等/不相等B.大于/小于C.高于/低于D.进位/无进位
答案:ABCD
三、判断题
1.汇编语言是一种高级语言。()
答案:错误
2.指令MOVAX,[BP]中,BP是基址寄存器,默认的段寄存器是SS。()
答案:正确
3.汇编语言程序中,段寄存器的值可以直接修改。()
答案:错误
4.堆栈操作只影响堆栈指针寄存器SP的值。()
答案:错误
5.条件转移指令的转移目标地址必须是在当前代码段内。()
答案:正确
6.汇编语言中,伪指令在程序运行时被执行。()
答案:错误
7.指令ADDAX,BX执行后,CF标志位反映的是加法运算的结果是否产生进位。()
答案:正确
8.数据定义伪指令DB、DW、DD分别用于定义字节、字、双字类型的数据。()
答案:正确
9.寄存器间接寻址方式中,寄存器的内容是操作数的有效地址。()
答案:正确
10.汇编语言程序中,一个段的最大长度为64KB。()
答案:正确
四、简答题
1.简述汇编语言中寄存器的分类及作用。
答:汇编语言中的寄存器分为通用寄存器、段寄存器、控制寄存器和标志寄存器。通用寄存器可用于数据运算和存储等操作;段寄存器用于指定代码段、数据段、堆栈段等的段地址;控制寄存器用于控制处理器的操作模式等;标志寄存器用于反映运算结果的状态等信息,如进位标志、零标志等。
2.解释直接寻址和间接寻址的区别。
答:直接寻址中,操作数的地址直接在指令中给出,指令执行时直接找到操作数;间接寻址中,操作数的地址存放在寄存器或存储单元中,指令执行时先从指定的寄存器或存储单元中取出操作数的地址,再根据该地址找到操作数。
3.说明堆栈的工作原理及用途。
答:堆栈是一种数据结构,遵循后进先出原则。入栈时,数据压入栈顶,栈顶指针减