汇编语言程序设计练习题及答案
一、单项选择题: 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 第 1 页 共 11 页 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 ORG20H XDB12H, AB YDW789AH 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. DATASEGMENT DA1DB30 DUP(?) DA2DW1456H,789AH DA3DWDA2 DATAENDS ┇ ┇ MOVBX,DA3 上述指令执行后,BX 中的内容是 A。 (A) 30(B) 31 (C) 32(D) 21H 17. 数据定义如下: BUF1DB10 BUF2DW20DUP(?) 实现将 BUF1 单元的内容与 BUF2 开始的条三个字节单元内容相比较的指令是 C。 第 2 页 共 11 页 (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 或 AB,则分别产生转 移,这种情况应选择的条件转移指令是 D。 (A) 先用 JE 指令,再用 JNC 指令 (B) 先用 JNC 指令,再用 JE 指令 (C) 上述两条条件转移指令(JE 和 JNC)无先后次序 (D) 用上述两条条件转移指令不能完成上述功能要求 下面的题目正确答案用红色的标注下面的题目正确答案用红色的标注 21.下面四个寄存器中,不能作为间接寻址的寄存器是 CX。 BXCX BPDI 22.用来表示堆栈指针的寄存器是 SP。 IPBP SPSI 完成将 AX 清零,并使标志位 CF 清零,下面错误的指令是。 SUB AX,AXOR AX,AX MOV AX,00HAND AX,00H 23.下面数据传送指令中,正确的指令是。 MOV BUF1,BUF2MOV CS,AX MOV CL,1000HMOV DX,WORD PTR[SP+SI] 24.下面指令中,源操作数的寻址方式为直接寻址的指令是。 ADD AX,WORD PTR[BX+DI]ADD AX,B INC CXMOV BX,7FFFH 25.下面表示段定义结束的命令是。 ENDPENDS 第 3 页 共 11 页 ENDMNED 26.设 AL,BL 中都是有符号数,当 AL≤BL 时转至 NEXT 处,在 CMP AL,BL 指令后 应选用正确的条件转移指令是。 JBEJNG JNAJNLE 27 指令 LOOPZ 的循环执行条件是。 CX≠0 并且 ZF=0CX≠0 或 ZF=0 CX≠0 并且ZF=1CX≠0 或 ZF=1 28.执行下列指令后,SP 寄存器的值是。 MOVSP,1000H PUSHF 0FFEHOFFFH 1001H1002H 29.完成将有符号数 BX 的内容除以 2 的正确指令是。 SHR BX,1SAR BX,1 ROR BX,1RCR BX,1 30.下面指令中影响状态标志位 CF 的指令是。 INC AXDEC AX NOT AXNEG AX 31.判断当 CX=0 时,转 ZERO 执行的错误指令是 B。 CMP CX,0MOVAX,CX JZ XERO JX ZERO OR CX,CXJCXZ ZERO JZZERO 32.调用2号DOS系统功能, 在屏幕上显