2024年5月2日发(作者:)

题目:

1. 判断对错,并指出原因

MOV SS:[BX+DI],1000H

MOV DX,1000H

MOV WORD PTR[BX],1000H

MOV DS,2000H

mov ax,bl

mov cs,ax

mov byte ptr[bx],1000

mov ip,ax

mov ax,[sp]

mov ax,[si][di]

mov ds,ss

mov al,ffh

2. 下面所列通用数据传送MOV指令的几种传送中,正确的传送方式是

_____________。

A 立即数到寄存器 B 立即数到存储器

C 从寄存器到存储器 D 从存储器到存储器

E 从存储器到寄存器

3. 指令“mov ax,[bx]”中有效地址EA是BX的内容。

1.解答:

MOV SS:[BX+DI],1000H 对

MOV DX,1000H 对

MOV WORD PTR[BX],1000H 对

MOV DS,2000H 错。不能直接给段寄存器赋值

mov ax,bl 错。 源操作数和目的操作数的类型不一致

mov cs,ax 对

mov byte ptr[bx],1000 错。源操作数是字类型,目的操作数是字节类型

mov ip,ax 错。 不能给指令指针寄存器赋值

mov ax,[sp] 错。SP不能用于寄存器间接寻址

mov ax,[si][di] 对

mov ds,ss 错。段寄存器不能直接给段寄存器赋值

mov al,ffh 错。 一个数字不是0—9的16进制数必须以0开始

2.解答:ABCE

3.解答:对。存储器寻址方式中给出的是有效地址,也叫偏移地址

题目:下面的XCHG指令中,语法不正确的有_____________。

A xchg al, ds B xchg bl, [bx] C xchg al, 0fh

D xchg buf1, buf2 E xchg bl,bh

解答:XCHG指令中操作数可以是字、也可以是字节,可以在通用寄存器与通用

寄存器或存储器之间对换数据,但不能在存储器与存储器之间对换数据。两个操

作数中任何一个操作数都不能是立即数寻址方式。所以:

A xchg al, ds 错,两个操作数的类型不一致

B xchg bl, [bx] 对 , 通用寄存器与存储器之间交换数据

C xchg al, 0fh 错 ,有一个操作数是立即数寻址方式

D xchg buf1, buf2 错 ,两个操作数都是存储器寻址方式

E xchg bl,bh ,对,通用寄存器与通用寄存器之间交换数据

答案:ACD。

题目:将首地址为100H的表格缓冲区中的256和257号数据取出

解答:换码指令用于将BX指定的缓冲区中、AL指定的位移处的数据取出赋给AL,

AL的内容实际上是距离表格首地址的位移量,只有8位,所以表格的最大长度

为256。超过256的表格需要采用修改BX和AL的方法才能转换。表格从0开始

编号,最大偏移值是255。256号和257号数据的偏移值分别为255和256

mov bx,100h ; 设置表格的首地址

mov al,0ffh ;256号数据的偏移值

xlat ;换码,AL=表格中256号数据

mov ah,al ;保存到ah寄存器中