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寄存器中
发布评论