汇编语⾔程序设计练习题及答案
⼀、单项选择题:
1.设DS=5788H,偏移地址为94H,该字节的物理地址是 B 。
(A)57974H (B)57914H
(C)5883H (D)58ECH
2.IP指令指针寄存器是属于 D 。
(A)通⽤寄存器(B)段寄存器
(C)变址寄存器(D)控制寄存器
3.下⾯有语法错误的指令是 D 。
(A)ADD AL,AH
(B)ADD [BX+3],AL
(C)ADD AH,[DI]
(D)ADD [BX],DA1(DA1是变量名)
4.完成对DX的有符号数除以2的指令是 B 。
(A)IDIV 2 (B)SAR DX,1
(C)DIV 2 (D)RCR DX,1
5.使进位位置1的指令是 C 。
(A)CLC (B)CMC
(C)STC (D)NOP
6.设AL=-100,要使AL=100应执⾏的指令是 A 。
(A)NEG AL (B)NOT AL
(C)INC AL (D)DEC AL
7.在条件转移指令中,结果为负数则转移的指令是 C 。
(A)JNS (B)JZ
(C)JS (D)JC
8.下⾯的XCHG指令中,语法正确的是 B 。
(A)XCHG AL,DS (B)XCHG BH,[BX]
(C)XCHG AL,OFH (D)XCHG BUF1,BUF2
9.⼀条指令中⽬的操作数不允许使⽤的寻址⽅式是 B 。
(A)寄存器寻址(B)⽴即数寻址
(C)变址寻址(D)直接寻址
10.设SP=1FFFH,执⾏下列指令后,SP寄存器的值是 1fffd 。(这道题没有正确答案,正确答案为1ffd,可能印错了)
POPF
PUSH BX
PUSH BX
(A)2000H (B)2002H
(C)1FFCH (D)1FFEH
11.LES SI ,[2000H]指令的全部功能是 C 。
(A)把地址2000H送SI
(B)把地址2000H字单元的内容送SI
(C)把地址2000H字单元内容送SI,把2002H字单元内容送ES
(D)把地址2000H字单元内容送ES,把2002H字单元内容送SI
12.设AL=04H,CL=0F8H,执⾏MUL CL指令后,结果是 C 。
(A)AX=0032H (B)AX=00E0H
(C)AX=03E0H (D)AX=0FFE0H
13.设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5
个字节单元内容分别是44H,43H,42H,41H。执⾏REPNZ SCASB指令后,正确的结果是 C 。
(A)DI=0104H,CX=0000H (B)DI=0103H,CX=0001H
(C)DI=0102H,CX=0002H (D)DI=0101H,CX=0003H
14.某数据段如下:
DATA SEGMENT
ORG 20H
X DB 12H,'AB'
Y DW 789AH
DATA ENDS
Y单元的偏移地址是 D 。
(A)20H (B)21H
(C)22H (D)23H
15.下⾯指令语句中,语法正确的是 D 。
(A)INC [BX] (B)CMP [BX],20
(C)JMP FAR OPR (D)MOV WORD PTR[BX],20
16.DATA SEGMENT
DA1 DB 30 DUP(?)
DA2 DW 1456H,789AH
DA3 DW DA2
DATA ENDS
MOV BX,DA3
上述指令执⾏后,BX中的内容是 A 。
(A)30 (B)31
(C)32 (D)21H
17.数据定义如下: BUF1 DB 10
BUF2 DW 20DUP(?)
实现将BUF1单元的内容与BUF2开始的条三个字节单元内容相⽐较的指令是
C 。
(A)CMP BUF1,BYTE PTR BUF2+3
(B)MOV AL,BUF1
CMP AL,BUF2+2
(C)MOV AL,BUF1
CMP AL,BYTE PTR BUF2+2
(D)MOV AL,BUF1
CMP AL,BUF2+3
18.执⾏循环指令 LOOPNZ END0 时,若要使其重复执⾏,应满⾜的条件是 A 。
(A)CX≠0且ZF=0 (B)CX≠0或ZF=0
(C)CX≠0且ZF=1 (D)CX≠0或ZF=1
19.当⼀个程序使⽤DOS系统功能调⽤退出⽤户程序时,在编写INT 21H指令前,应选⽤的指令是 C 。
(A)MOV AH,01H (B)MOV AX,4CH
(C)MOV AH,4CH (D)RET
20.⽤CMP指令对两个⽆符号数进⾏A-B的⽐较后,⽤A=B或A>B,则分别产⽣转移,这种情况应选择的条件转移指令是 D 。
(A)先⽤JE指令,再⽤JNC指令
(B)先⽤JNC指令,再⽤JE指令
(C)上述两条条件转移指令(JE和JNC)⽆先后次序
(D)⽤上述两条条件转移指令不能完成上述功能要求
下⾯的题⽬正确答案⽤红⾊的标注
21.下⾯四个寄存器中,不能作为间接寻址的寄存器是 CX 。
BX CX
BP DI
22.⽤来表⽰堆栈指针的寄存器是 SP 。
IP BP
SP SI
完成将AX清零,并使标志位CF清零,下⾯错误的指令是。
SUB AX,AX OR AX,AX
MOV AX,00H AND AX,00H
23.下⾯数据传送指令中,正确的指令是。
MOV BUF1,BUF2 MOV CS,AX
MOV CL,1000H MOV DX,WORD PTR[SP+SI]
24.下⾯指令中,源操作数的寻址⽅式为直接寻址的指令是。
ADD AX,WORD PTR[BX+DI] ADD AX,B
INC CX MOV BX,7FFFH
25.下⾯表⽰段定义结束的命令是。
ENDP ENDS
ENDM NED
26.设AL,BL中都是有符号数,当AL≤BL时转⾄NEXT处,在CMP AL,BL指令后应选⽤正确的条件转移指令是。JBE JNG
JNA JNLE
27指令LOOPZ的循环执⾏条件是。
CX≠0并且ZF=0 CX≠0或ZF=0
CX≠0并且ZF=1 CX≠0或ZF=1
28.执⾏下列指令后,SP寄存器的值是。
MOV SP,1000H
PUSHF
0FFEH OFFFH
1001H 1002H
29.完成将有符号数BX的内容除以2的正确指令是。
SHR BX,1 SAR BX,1
ROR BX,1 RCR BX,1
30.下⾯指令中影响状态标志位CF的指令是。
INC AX DEC AX
NOT AX NEG AX
31.判断当CX=0时,转ZERO执⾏的错误指令是 B 。
CMP CX,0 JZ XERO MOV AX,CX JX ZERO
OR CX,CX
JZ ZERO
JCXZ ZERO
32.调⽤2号DOS系统功能,在屏幕上显⽰⼀个字符,事先要其ASCII码存放在。AL中BL中
CL中DL中
33.设数据定义如下:
ARRAY DW 1,2,3
执⾏指令ADD SI,TYPE ARRAY相当于完成下⾯同等功能的指令是。
ADD SI,O ADD SI,2
ADD ST,3 ADD SI,0
34.设数据定义如下:
BUF DW 100 DU(?)
执⾏指令MOV CX,LENGTH BUF相当于完成下⾯同等功能的指令是。
MOV CX,00C8H MOV CX,0200H
MOV CX,0064H MOV CX,0100H
35.完成对字单元BUF的内容加1运算,下⾯错误的指令是 D 。
A)MOV CX,BUF
INC BX
MOV BUF,BX
B)NOT BX
INC BX
(C)XOR BX,0FFFFH
INC BX
(D)MOV AX,0
SUB AX,BX
36.完成对寄存器BX的内容求补运算,下⾯错误的指令是 C 。
(A)NEG BX
(B)NOT BX
INC BX
(C)XOR BX,0FFFFH
INC BX
(D)MOV AX,0
SUB AX,BX
37.判断当AX的内容为负数时,转MINUS执⾏,下⾯错误的指令是。
汇编指令有多少个
NOT AX JNS MIBUS TEST AX,8000H JNZ MINUS
SHL AX,1 JC MINUS OR AX,AX JS MINUS
38.下⾯指令序列执⾏后,正确的结果是。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。