首页 >> 大全

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

2023-06-26 大全 47 作者:考证青年

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

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

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=,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  SEGMENTDA1  DB  64H DUP(?)DA2  DW  0100H,0200HDA3  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,ADRLDS  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、 DW 10H DUP(3 DUP(2,50),3,5)

上述语句汇编后,为变量分配的存储单元字节数是

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

答案:2

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

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

    SHR  BX,1AND  BX,0F0FHMOV  CX,4
LOP:XCHG   BH,BLDIV  BLSAL  AX,1LOOP  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,1SHR  VARY2,1

上述两条指令执行后,VARY2字存储单元内容是       

① ② ③ 55CDH ④

答案: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=,DX=0001H

MOV CX,2

LOP:SHL AX,1

RCL DX,1

LOOP LOP

上述程序段执行后DX= AX=

① DX=0006H AX= ② DX=0006H AX=

③ DX=0007H AX= ④ DX=0007H AX=

答案:4

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了