# 汇编期末考试复习【选择易错题】

汇编期末考试复习【选择易错题】

(来自南大科院周权来题库——战无不胜的毛泽东思想)

在这里插入图片描述

1、用汇编语言编写的程序称为 ( )

A、 汇编程序 B、 源程序 C、可执行文件 D、目标程序

答案:B
注意区分A,汇编程序是指把汇编源程序翻译成计算机能够识别、执行的目标程序的软件。一种软件!属于系统软件,不是程序。

2、设AL中是无符号数,试将AL内容扩展后送入BX中, 能够完成此项功能的指令序列是

① CBW
MOV BX,AX

② MOV AH,0
MOV BX,AX

③ MOV AH,0FFH
MOV BX,AX

④ MOV BL,AL
MOV BH,AH

答案:2
题干中有说明是“无符号数”,所以当扩展后,AH内容都为0,第二个选项符合。
注意第一个选项,CBW应该【位于赋值之后】,例如:


> MOV AX,3478H
> CBW

3、AL、BL中都是无符号数,若(AL)>(BL)时,转到NEXT处。在执行CMP AL,BL指令后应选用的指令是
① JNBE NEXT ② JNLE NEXT
③ JBE NEXT ④ JLE NEXT

答案:1
JNBE记忆方法,N是否定,B可以看做是右边的数,JNBE不是右边的数大
反之,JBE,B(右边的数)更大,JAE就是左边的数大
JNLE、JLE都带有L,都是表示有符号数,L代表左边,记忆方法类似如上

遇到两者比较相关的条件转移指令,常会考查CF和ZF的状态。 例如:
当JNBE产生转移,那么AL>BL,CMP虽然不会影响操作数,但是会进行减法运算的方式改变状态标志位,所以AL-BL>0,且在做减法的时候不会产生进位,最终结果也不可能是0。
由此可得,JNBE转移时,CF=0 ,ZF=0

4、MOV AL,-1
NEG AL
XOR AL,65
上述程序段执行后,AL的内容是
① 40H ② 64H ③ 01H ④ 61H

答案:1
NEG求补指令:零减去操作数的值
易错题,注意65没有加H,要进制转换为十六进制

5、设AX中存放的是带符号数,对其进行除8操作,能够完成此项功能的指令序列是
① SHR AX,2
SHR AX,2

② SAR AX,2
SAR AX,1

③ MOV CL,3
SHR AX,CL

④ MOV CL,3
SAR AX,CL

答案:4
注意当移位次数>1时,要通过CL,不可以直接SHR AX,3

6、指出下面哪组伪指令使用是错误的( )
在这里插入图片描述

答案:3

7、 设ADRT=100H,不符合语法规则的语句是
① MOV AX,ADRT ② MOV AX,[ADRT+SI]
③ MOV [ADRT],AX ④ MOV ADRT[SI],AX

答案:3
有关MOV指令的注意事项:
1、目的操作数要与源操作数类型要一致,不能一个是字,一个是字节(常考)
2、目的操作数要和源操作数类型之一必须要有明确的类型
3、立即数不能作为目的操作数
4、不能用立即寻址方式给段寄存器传数
5、源操作数和目的操作数不能同时为存储器操作数,即存储单元之间不能用MOV指令直接传送
6、CS和IP不能作为目的操作数,但CS可以作为源操作数。
7、段寄存器之间不能用MOV指令直接传送
8、在传送字单元时,遵循“高字节存放在高地址,低字节存放在低地址”的原则。

8、已知DX=0A476H,CX=0203H,CF=1

OR DX,DX
RCR DX,CL
XCHG CH,CL
RCL DX,CL

上述程序段执行后DX= CF=
① 523BH 和1 ② 523BH和0
④ 423CH 和1 ④ 423CH 和0

答案:2
注意计算,考试时要画RCR,RCL指令示意图

9、

DATA  SEGMENT
       DA1  DB  64H DUP(?)
       DA2  DW  0100H,0200H
       DA3  DW  DA2
……
       MOV  SI,DA3

上述指令执行后,SI中的内容是
① 100H ② 200H ③ 100 ④ 300H

答案:3
DA1内存单元有64H个,即100,则说明DA2的第一个单元地址是100,DA3的偏移地址与DA2一致,故SI的值为100,也可以填64H
SI 存储器指针

10、 现有一数据定义伪指令在DA单元定义一数据:
DA DW 0123H
能与上述语句等效的语句是
① MOV WORD PTR DA,‘123H’ ② MOV DA,123H
③ MOV Byte PTR DA,0123H ④ MOV DA,‘123H’

答案:2
可以根据画存储单元示意图得出答案:
在这里插入图片描述

11、

ADR  DW  1234H,5678H
 ……
   LEA  SI,ADR
   LDS  BX,ADR

设变量ADR的偏移地址是100H,上述两条指令执行后:SI= ,DS=
① 100H 和1234H ② 100H 和5678H
③ 000H 和1234H ④ 000H和5678H

答案:2

12、

AR1  DB‘ABCDEFGH’
AR2  DB O
……
MOV  AH,1
INT  21H
AND  AL,0FH
DEC  AL
LEA  BX,AR1
XLAT  AR1
MOV   AR2,AL

假设键盘输入数字4,则执行后(AR2)= ; 执行后CF=
① 44H(或‘D’),0 ② 43H(或‘C’),1
③ 44H(或‘D’),1 ④ 43H(或‘C’),0

答案:1

13、yeqianyi DW 10H DUP(3 DUP(2,50),3,5)
上述语句汇编后,为变量yeqianyi分配的存储单元字节数是

① 80H ② 100H ③ 50H ④ 124H

答案:2
注意题目问的是【字节数】,定义中是DW,答案应该是10H*(6+2+2)

14、已知AX=0078H,BX=0408H

    SHR  BX,1
     AND  BX,0F0FH
     MOV  CX,4
LOP:XCHG   BH,BL
	DIV  BL
	SAL  AX,1
	LOOP  LOP

上述程序段执行后,AX= BX=
① 30和0402H ② 30和 0204H
③ 35和0400H ④ 35和 0400H

答案:2,
注意SAL示意图
XCHG交换指令

15、

VARY1   EQU  BYTE PTR VARY2 
VARY2   DW   0ABCDH
……
 SHL  VARY1,1
 SHR  VARY2,1
上述两条指令执行后,VARY2字存储单元内容是       

① 0ABCDH ② 0BCDEH ③ 55CDH ④ 0AB55H

答案:3
注意VARY1等价于VAR2的字节单元,也就是VARY1=CDH,在“SHL VARY1,1”进行的是字节为单元的移位(只对CDH进行操作),“SHR VARY2,1”是对上一步移位后的结果再次进行SHR操作。注意示意图需画对!

16、在这里插入图片描述

答案:2
【XOR AX,BX】,倘若二者都为负数,符号位都为1,执行后为AX符号位为0,SF=0,。根据题意,只有当二者不是同为负数才需要转至NEXT,故,答案选2
JS转移条件,SF=1

17、下列操作中允许段超越前缀的是
① 取指令 ② 存目的串
② 以BP为基址存取操作数 ④ 堆栈操作

答案:1

18、不能表示存储单元逻辑地址是
① 变量名 ② 标号名 ③ 段名 ④ 符号名

答案:4

19、 ARRAY DW 6,9, + 4 , 10 H , +4,10H, +4,10H,+4
……
MOV AX,ARRAY+4
设变量ARRAY的偏移量是0084H,上述指令执行后AX中的内容是
① 0009H ② 008CH ③ 0090H ④ 0010H

答案:2
$+4就是把当前地址的值加上4赋给该存储单元
该题要注意ARRAY是以字为单位的!不能看到6,,9想当然以为是字节
在这里插入图片描述

20、已知AX=0FFFFH,DX=0001H

MOV CX,2
LOP:SHL AX,1
RCL DX,1
LOOP LOP

上述程序段执行后DX= AX=
① DX=0006H AX=0FFFDH ② DX=0006H AX=0FFFCH
③ DX=0007H AX=0FFFDH ④ DX=0007H AX=0FFFCH

答案:4

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵小胡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值