汇编语言程序设计专升本复习题及答案本科复习题.docx
《汇编语言程序设计专升本复习题及答案本科复习题.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计专升本复习题及答案本科复习题.docx(23页珍藏版)》请在冰豆网上搜索。
![汇编语言程序设计专升本复习题及答案本科复习题.docx](https://file1.bdocx.com/fileroot1/2022-12/7/a4a10d46-1093-4788-83d4-0c89bec69a64/a4a10d46-1093-4788-83d4-0c89bec69a641.gif)
汇编语言程序设计专升本复习题及答案本科复习题
复习题一
一、单项选择题
1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。
A:
无符号十进制数136 B:
带符号十进制数-120
C:
压缩型BCD码十进制数88 D:
8位二进制数-8的补码表示
2.指令指针寄存器是()。
A:
IP B:
SP C:
BP D:
PSW
3.当执行指令ADDAX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。
A:
表示结果中含1的个数为偶数 B:
表示结果中含1的个数为奇数
C:
表示该数为偶数 D:
表示结果中低八位含1的个数为偶数
4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。
A:
MOVAL,00H B:
ANDAL,00H C:
XORAL,AL D:
SUBAL,AL
5.下列指令执行后总是使CF=0,OF=0的是()。
A:
AND B:
NEG C:
NOT D:
INC
6.完成同指令XCHGAX,BX相同功能的指令或指令序列是()。
A:
MOVAX,BX B:
MOVBX,AX
C:
PUSHAX D:
MOVCX,AX
POPBX MOVAX,BX
MOVBX,CX
7.设AH=0,AL=06H,BL=09H,执行指令
ADDAL,BL
AAA之后,其结果应是()。
A:
AH=01,AL=05 B:
AH=1AL=15
C:
AH=0AL=0FH D:
AH=0AL=05
8.设AL=0B4H,BL=11H,指令“MULBL”和指令“IMULBL”分别执行后OF,CF的值为()。
A:
OF=1,CF=0 B:
OF=1,CF=1
C:
OF=0,CF=0 D:
OF=0,CF=1
9.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。
A:
CX=0且ZF=0 B:
CX=0且ZF=1
C:
CX=0或ZF=0 D:
CX=0或ZF=1
10.下面指令中,合理而有意义的指令是()。
A:
REPLODSB B:
REPSCASB C:
REPCMPSB D:
REPMOVSB
11.在汇编语言程序中,对END语句的叙述正确的是()。
A:
END语句是一可执行语句 B:
END语句表示程序执行到此结束
C:
END语句表示源程序到此结束 D:
END语句在汇编后要产生机器码
12.下面的数据传送指令中,错误的操作是()。
A:
MOVSS:
[BX+DI],1000H B:
MOVDX,1000H
C:
MOVWORDPTR[BX],1000H D:
MOVDS,2000H
13.下面指令执行后,变量DAB中的内容是()。
DAWDW2A05H
DABDB0FAH
:
MOVAL,BYTEPTRDAW
SUBDAB,AL
A:
0DAH B:
0FAH C:
0F5H D:
0D0H
14.执行下列指令后,正确的结果是()。
MOVAL,100
MOVBL,-2
A:
AL=100HB:
AL=64HC:
AL=64HD:
AL=100H
BL=02HBL=0FEHBL=82HBL=0FEH
15.设数据段中已有:
DA1DB12H,34H
DA2DW56H,78H
下面有语法错误的语句是()。
A:
ADR1DWDA1 B:
MOVDA1+1,AX
C:
MOVBYTEPTRDA2+1,AL D:
MOVWORDPTRDA1+1,AX
16.DATASEGMENT
TA1DW0102H,0304H,0506H
TA2DB02H,03H,04H
:
MOVBX,[0006H]
ANDBX,0FFH
ORBH,[BX]
上述指令序列运行后,BX的内容是()。
A:
0605H B:
0402H C:
0606H D:
0204H
17.当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是()。
A:
JLE B:
JNL C:
JNLE D:
JL
18.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()。
TESTBH,01H
_________K1
A:
JNE B:
JZ C:
JS D:
JC
19.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是( )
A.ADD BH,01H B.OR BH,01H
C.XOR BH,01H D.TEST BH,01H
20.下面各传送指令中,正确的是( )
A.MOV [DI],[SI] B.MOV[DX+DI],AL
C.MOV WORD PTR [BX],0100H D.MOV AL,BX
21.一个字为()位二进制数。
A、8位B、16位C、32位D、64位
22.下列四个寄存器中,可作为八位寄存器的是()。
A、AXB、CHC、BPD、IP
23.8086系统的存储器,存储单元的物理地址是()位。
A.16B.8C.20D.32
24.在双操作数指令中,目的操作数不能使用()。
A.存储器B.寄存器C.立即数D.段寄存器
25.执行MOVBX,OFFSETTTR,结果相当的指令是()。
A、MOVBX,TTRB、LEABX,TTR
C、PUSHTTRD、XCHGBX,TTR
26.在下列指令中,有错误的是()。
A、MOVAX,5634H;B、MOVBL,3456H
C、MOVAL,75H;D、MOVBX,57H
27.下列指令中有错误的是()。
A、POP AX B、MOV DS,AX C、ADDBX,25H D、SHRAX,8
28.要使串操作指令从高地址向低地址执行,应把标志位置为()。
A.TF=0B.SF=1C.IF=0D.DF=1
29.在INAL,PORT指令中,PORT称为()。
A.立即数B.有效地址C.端口地址D.寄存器名
30.下列语句格式有错误的是()。
A、LEABX,STRB、XCHGBL,AL
B、DATA:
DB‘AB’D、EMP=EMP+1
二、填空题
1.ZF标志位是标志结果是否为零的,若结果,ZF为(),否则ZF为()。
当ZF为1时,SF为()
2.标号可以有两种类型属性。
它们是()和()
3.8位无符号整数的表示范围为0--255,写成16进制形式为(),8位有符号整数的表示范围为-128--+127,写成16进制形式为()
4.伪指令DB,GROUP和NAME三个标号名字域必须有名字的是(),不得有名字的是(),可有可无名字的是()。
5.循环程序通常由()()()和循环结果外理四部分构成
6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/()于+,-;XOR,OR()于AND,LT()于GT
7.宏指令定义必须由伪指令()开始,伪指令()结束,两者之间的语句称为()
8.调用程序与子程序之间的参数传递方法有四种,即堆栈法()()()
9.分别用一条语句实现下述指明的功能
(1)栈顶内容弹出送字变量AYW()
(2)双字变量AYD存放的地址指针送ES和SI()
(3)变量AY2类型属性送AH()
(4)不允许中断即关中断()
(5)将字符串‘HOWAREYOU!
’存入变量AYB()
(6)子程序返回调用程序()
(7)地址表达式AYY[4]的偏移地址送字变量ADDR()
(8)AX的内容加1,要求不影响CF()
(9)BX的内容加1,要求影响所有标志位()
(10)若操作结果为零转向短号GOON()
三、简答题
1.在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。
例如:
PUSHAX\
PUSHBX\保护现场
PUSHCX/
PUSHDX/
:
}恢复现场
试写出恢复现场时的指令序列。
2.D1DB20HDUP(?
)
D2DWD1
请写出用一条指令实现取D1的偏移地址=>SI中的三种方法。
3.试述子程序的一般结构组成
4.标号有哪三个属性?
其含义是什么?
5.试述CMPAX,BX和SUBAX,BX两条语句的异同点?
6.如TABLE为数据段中0100单元的符号名,其中存放的内容为0FF00H,试问以下两条指令有什么区别?
指令执行后,AX寄存器的内容是什么?
(3分)
MOVAX,TABLE
MOVAX,OFFSETTABLE
7.对于下面的数据定义,三条MOV指令分别汇编成什么?
(3分)
TAB1DW10DUP(?
)
TAB2DB10DUP(?
)
TAB3DB‘1234’
┇
MOVAX,LENGTHTAB1
MOVBL,LENGTHTAB2
MOVCL,LENGTHTAB3
8.子程序的说明文件中应包括哪几方面的内容?
(5分)
9.分别指出下列指令中源操作数的寻址方式:
(5分)
A.MOVSI,100
B.MOVCX,DATA[SI]
C.MOV[SI],AX
D.ADDAX,[BX][DI]
E.POPHF
四、程序分析题
1.ADW1234H
BDW5678H
:
PUSHA
PUSHB
POPA
POPB
试回答:
上述程序段执行后(A)=______,(B)=_____设执行前SP=200H,执行后SP=______
2.现有下列程序段:
MOVAX,6540H
MOVDX,3210H
MOVCL,04
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
试问上述程序段运行后,
(AX)=______
(BL)=______
(DX)=______
3.分析下面程序段,
MOVAL,200
SARAL,1
MOVBL,AL
MOVCL,2
SARAL,CL
ADDAL,BL
试问程序段执行后(BL)=_____(AL)=______
4.程序段如下:
BLK1DB46,84,34,-5,20,122,73
:
MOVCX,7
LEAS1,BLK1
NEXT:
MOVAL,[SI]
INCSI
TESTAL,81H
LOOPZNEXT
MOVBL,[SI]
:
请回答程序段运行后:
(AL)=(BL)=___
5.
ANDAL,AL
JZBRCH1
RCRAL,1
JZBRCH2
RCLAL,1
INCAL
JZBRCH3
:
上述程序运行后,试回答:
(1)当(AL)=__________时,程序转向BRCH1
(2)当(AL)=__________时,程序转向BRCH2
(3)当(AL)=__________时,程序转向BRCH3
6.下列一段信息是用DEBUG命令的结果,填充空白处的内容。
(D:
\>DEBUGEXAM.EXE
-U01C
5246:
0000B84752MOVAX,5247
5246:
00038ED8MOVDS,AX
5246:
0005A10700MOVAX,[0007]
5246:
000803060900ADDAX,[0009]
5246:
000C7902JNS0010
5246:
000EF7D8NEGAX
5246:
0010A30B00MOV[000B],AX
5246:
0013B44CMOVAH,4C
5246:
0015CD21INT21
5246:
00171234ADCDH,[SI]
5246:
001956PUSHSI
5246:
001A7800JS001C
5246:
001C00D9ADDCL,BL
-R
AX=0000BX=0000CX=011DDX=0000SP=0100BP=0000SI=0000DI=0000DS=5226ES=5226SS=5236CS=5246IP=0000NVUPEIPLNZNAPONC
5246:
0000B84752MOVAX,5247
-G0013
AX=BX=0000CX=011DDX=0000SP=0100BP=0000SI=0000DI=0000DS=5247ES=5226SS=5236CS=5246IP=NVUPEIPLNZACPOCY
5246:
0013B44CMOVAH,4C
-D000B000C
:
000B
五、程序填空题
1.设AX,BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上。
TESTAX,8000H
____A_______
MOVPLW,BX
JMPDONE
K1:
_____B________
DONE:
2.现有下列数据段:
DATASEGMENT
STR1DB‘ABCDEFGHIJKL'
COUNTEQU$-STR1
BUFDBCOUNTDUP(0)
DATAENDS
下面程序段是实现把STR1中所有字符逆向传送到BUF缓冲区(即STR1中第一个字符送到BUF的最后一个单元,STR1中最后一字符送到BUF的第一个单元)。
试把程序中所空缺的指令填上。
MOVSI,OFFSETBUF-1
MOVDI,OFFSETBUF
MOVCX,COUNT
_______A__________
LOP:
MOVSB
_______________B________________
LOOPLOP
复习题二
1、单项选择题
1.CPU要访问的某一存储单元的实际地址称( )
A.段地址 B.偏移地址
C.物理地址 D.逻辑地址
2.某存储单元的物理地址是12345H,可以作为它的段地址有( )
A.2345H B.12345H
C.12340H D.1234H
3.执行后使BX=0的同时也使CF=0,OF=0的指令是( )
A.XORBX,BX B.ORBX,BX
C.ANDBX,BX D.CMPBX,BX
4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是( )
A.CX≠0且ZF=1 B.CX≠0且ZF=0
C.CX≠0或ZF=1 D.CX≠0或ZF=0
5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是( )
A.DAA校正指令的功能已自动加在AH中
B.进位值在AF中,校正后根据AF内容再加在AH中
C.进位值在CF中,校正后根据CF内容再加在AH中
D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中
6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( )
A.指令XORAX,AX执行后,AX内容不变,但设置了标志位
B.指令ORDX,1000H执行后,将DX最高位置1,其余各位置0
C.指令ANDAX,OFH执行后,分离出AL低四位
D.NOTAX,执行后,将AX清0
7.在执行下列指令时,需要使用段寄存器DS的指令是( )
A.STOSW B.ADDAL,CL
C.NEGBX D.INCDA[BX]
8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是( )
A.ADDBH,01H B.ORBH,01H
C.XORBH,01H D.TESTBH,01H
9.完成对CL寄存器的内容乘以4的正确操作是( )
A.ROLCL,1 B.MUL4
ROLCL,1
C.SHLCL,1 D.MOVCL,2
SHLCL,1 SHLCL,CL
10.下面各传送指令中,正确的是( )
A.MOV[DI],[SI] B.MOV[DX+DI],AL
C.MOVWORDPTR[BX],0100H D.MOVAL,BX
11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法( )
A.名字的第一个字符可以是大写英文字母及小写英文字母
B.名字的第一个字符可以是字母、数字及、@、_
C.名字的有效长度≤31个字符
D.在名字中不允许出现$
12.要实现使BETA的值为56,应采用语句为( )
A.BETADB56 B.BETADB56H
C.BETAEQU56 D.BETAEQU56H
13.REPZCMPSW指令,重复执行的终止条件是( )
A.CX=0或ZF=0 B.CX=0且ZF=0
C.CX=0或ZF=1 D.CX=0且ZF=1
14.下面程序段执行后,AL中的内容是( )
MOVAX,8833H
ADDAL,AH
DAA
A.21 B.21H
C.0C1H D.0DDH
15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为( )
A.ZF=1 B.ZF=0
C.SF=1 D.SF=0
16.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMPAL,BL”指令后应跟的分支指令是( )
A.JNCLOP1 B.JA LOP1
C.JCLOP1 D.JGE LOP1
17.在下列串操作指令中,同时使用源串和目的串地址指针的指令是( )
A.STOSW B.LODSW
C.SCASW D.CMPSW
18.设AL=0AH,下列指令执行后能使AL=05H的是( )
A.NOTAL B.ANDAL,0FH
C.XORAL,0FH D.ORAL,0FH
19.DA1 DW‘AB’,‘CD’,‘EF’,‘GH’( )
┇
MOVAX,DA1+3
指令执行后AX中的内容是
A.‘EF’ B.‘CD’
C.‘BC’ D.‘FC’
20.使用DOS系统功能调用时,使用的软中断指令是( )
A.INT21 B.INT10H
C.INT16H D.INT21H
21.把若干个模块连接起来成为可执行文件的系统程序是()
A.汇编程序B.连接程序C.机器语言程序D.源代码程序
22.使汇编程序执行某种操作的命令是()
A.变量B.指令C.伪指令D.宏指令
23.串操作指令中,目的操作数的段地址一定在()寄存器中
A.CSB.SSC.DSD.ES
24.在下列语句中,AGAIN称为()
AGAIN:
INCSI
A.符号B.助记符C.标号D.变量
25.MOVBH,1000[SI],该指令中源操作数采用的寻址方式是()
A.立即B.直接C.寄存器相对D.寄存器间接
26.ORAL,AL是()操作指令。
A.异或B.加法C.右移D.逻辑或
27.DOS系统功能调用中,显示单个字符的系统调用号是()H。
A.01HB.02HC.08HD.09H
28.使计算机执行某种操作的命令是()
A.宏指令B.指令C.伪指令D.语句
29.换码指令的助记符是()
A.XCHGB.LEASC.ALXTD.MOV
30.计算机能直接识别并执行的语言是()
A.汇编语言B.机器语言C.高级语言D.低级语言
二、填空题
1.十六进制数0FFF8H表示的十进制正数为________,表示的十进制负数为________。
2.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOVAX,(SI+COUNT)中,源操作数的有效地址EA为________,其物理地址为________。
3.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为________标志位,另一类称为________标志位。
4.当标志位________=1时表示无符号数运算产生溢出,而当标志位________=1是表示带符号数运算产生溢出。
5.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是________,而后两个字节存放的是________。
6.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是________或________才有实际意义。
7.假设BL=0C5H,CL=2,CF=1,确定下