请大家帮我看看一道汇编的选择题~

来源:百度知道 编辑:UC知道 时间:2024/06/11 21:09:38
下面的数据传送指令中,错误的操作是( )。
A.MOV SS:[BX+DI],1000H
B.MOV DX,1000H
C.MOV WORD PTR[BX],1000H
D.MOV DS,2000H

老师的答案A,可是D能这样传送吗???

A.怎么看都是对的
D.就绝对是错的
----------------------
楼上的老兄好像不对吧,
我测试过了能通过编译运行

SSEG SEGMENT PARA STACK
NUM DW 0FFFFH
DW 32 DUP(0FFFFH)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,SS:SSEG
START: LEA BX,NUM
MOV DI,2
MOV SS:[BX+DI],0H
MOV AH,4CH
INT 21H
CSEG ENDS
END START
---------------------
BX和DI不是只能用在DS段中,只是默认是这个段,使用了段超越前缀就可以用在其他段了

不可以,立即数不可以直接传给段寄存器,只能利用一下方式:
mov ax, 2000h
mov ds, ax

A主要考的是基址加变址寻址。以BX+DI为偏移量,段只能是DS,固是错的。
D是段操作,但是错的。看MOV指令的操作就知道立即数是不能传到段寄存器中的。