niusouti.com
更多“MOVAX,[SI][DI]()”相关问题
  • 第1题:

    下面源程序语句中,()包含有寄存器间接寻址方式。

    A、MOVAX,SEG[SI]

    B、MOVDS,AX

    C、MOVBYTEPTR[BX],AL

    D、MOVAX,WORDPTR[DI]


    参考答案:C,D

  • 第2题:

    下列指令中,源操作数的寻址方式为相对基址变址寻址方式的指令是( )。

    A.MOV AX,COUNT[SI]

    B.MOV AX,[BX][DI]

    C.MVO AX,COUNT[BP][SI]

    D.MOVAX,[BX+DI]


    正确答案:C

  • 第3题:

    下列四条指令中错误的是()。

    A.MOVAX,[SI]
    B.MOVAX,[BP+DI]
    C.MOVAX,[DI]
    D.MOVAX,[BP—DI]

    答案:D
    解析:

  • 第4题:

    8086中,()组寄存器都可以用来实现对存储器的寻址。

    • A、AX,SI,DI,BX
    • B、BP,BX,CX,DX
    • C、SI,DI,BP,BX
    • D、BX,CX,SI,DI

    正确答案:C

  • 第5题:

    指出下列指令的错误: MOVAH,CX; MOV33H,AL; MOVAX,[SI][DI]; MOV[BX],[SI]; ADDBYTEPTR[BP],256; MOVDATA[SI],ES:AX; JMPBYTEPTR[BX]; OUT230H,AX; MOVDS,BP; MUL39H。


    正确答案: (1)指令错。两操作数字长不相等
    (2)指令错。MOV指令不允许目标操作数为立即数.
    (3)指令错。在间接寻址中不允许两个间址寄存器同时为变址寄存器。
    (4)指令错。MUV指令不允许两个操作数同时为存储器操作数。
    (5)指令错。ADD指令要求两操作数等字长。
    (6)指令错。源操作数形式错,寄存器操作数不加段重设符。
    (7)指令错。转移地址的字长至少应是16位的。
    (8)指令错。对输人输出指令,当端口地址超出8位二进制数的表达范围(即寻址的端口超出256个)时,必须采用间接寻址。
    (9)指令正确。
    (10)指令错。MUL指令不允许操作数为立即数。

  • 第6题:

    判断下列指令是否正确。若不正确,指出错误原因 (1)MOVAX,[EBX] (2)MOVSI,DL (3)MOVEBP,[ESP][EAX*3] (4)LEAAX,3006H (5)MOV[BP][DI],0 (6)MOV[SI],[DI] (7)MOVES,1000H (8)MOVAX,X+2 (9)MOVAX,CX+2 (10)MOV[EAX][EAX*2],AL


    正确答案: (1)指令MOVAX,[EBX]是正确的。
    (2)指令MOVSI,DL是错误的,两个操作数类型不匹配。
    (3)指令MOVEBP,[ESP][EAX*3]是错误的,比例因子不能为3。
    (4)指令LEAAX,3006H是错误的,LEA指令的源操作数必须为内存操作数。
    (5)指令MOV[BP][DI],0是错误的,操作数类型无法确定。
    (6)指令MOV[SI],[DI]是错误的,不能同时出现两个内存操作数。
    (7)指令MOVES,1000H是错误的,装载段寄存器时,源操作数不能为立即数。
    (8)如果“X”是用常数表达式定义的符号(例如:XEQU5+6),或者是用“DW”定义的内存变量,指令MOVAX,X+2是正确的。否则这条指令是错误的。
    (9)指令MOVAX,CX+2是错误的,源操作数表达式CX+2不是一个可以直接计算的“常数表达式”。
    (10)指令MOV[EAX][EAX*2],AL是正确的。

  • 第7题:

    下列属于合法的指令是()

    • A、MOVDS,ES
    • B、MOV[SI],[DI]
    • C、MOVAX,BL
    • D、MOV[DI],BL

    正确答案:D

  • 第8题:

    下列指令中段默认为堆栈段的是()

    • A、MOVAX,[BX+SI+10]
    • B、ADDAX,ES:[SI]
    • C、SUB[BX],[BP][DI]
    • D、MOVDX,[1000H]

    正确答案:C

  • 第9题:

    下列指令中,不正确的指令是().

    • A、MOV[BX+SI],AX4
    • B、MOVAX,[BX+SI]
    • C、MOVAX,SI
    • D、MOVAX,[BX+CX]

    正确答案:D

  • 第10题:

    单选题
    已知DF=1,(SI)=100H,(DI)=200H,指令SCASW执行后,SI和DI的值分别是()。
    A

    (SI)=0FEH,(DI)=1FEH

    B

    (SI)=100H,(DI)=202H

    C

    (SI)=100H,(DI)=1FFH

    D

    (SI)=100H,(DI)=1FEH


    正确答案: D
    解析: 暂无解析

  • 第11题:

    问答题
    下列指令的源操作数段基址在哪个段寄存器中? (1)MOVAX,[BP][SI] (2)MOVAX,CS:8[DI] (3)MOVAX,2[EBP*1] (4)MOVAX,FS:4[ESP] (5)MOVAX,2[EBP][EAX] (6)MOVAX,[ECX][EBP*4] (7)MOCAX,[EDX][EBP] (8)MOVAX,ES:10[EBP][EAX*2]

    正确答案: 各指令源操作数段基址使用的段寄存器如下:
    (1)SS
    (2)CS
    (3)SS
    (4)FS
    (5)SS
    (6)DS
    (7)DS
    (8)ES
    解析: 暂无解析

  • 第12题:

    单选题
    若DF=1,执行串操作指令MOVSW时,地址指针自动变化是().
    A

    SI+SI+1,DI=DI+1

    B

    SI=SI+2,DI=DI+2

    C

    SI=SI-1,DI=DI-1

    D

    SI=SI-2,DI=DI–212.


    正确答案: B
    解析: 暂无解析

  • 第13题:

    交换寄存器SI、DI的内容,正确的程序段是( )。

    A.PUSH SI

    B.PUSH SI PUSH DI PUSH DI POP SI POP DI POP DI POP SI

    C.MOV AX,SI

    D.MOV AX,SI MOV SI,AX MOV BX,DI MOV DI,BX XCHG BX,AX


    正确答案:A

  • 第14题:

    交换寄存器SI,DI的内容,正确的程序段是( )

    A.PUSH SI PUSH DI POP SI POP DI

    B.PUSH SI PUSH DI, POP SI,DI

    C.MOV AX,SI MOV SI,DI MOV DI,AX

    D.MOVAX,SI MOV BX,DI XCHG BX,AX


    正确答案:A
    解析:在堆栈中,无论是压人还是弹出,都必须以字为单位进行,即一次压人必须压入堆栈一个字,弹出时,也必须从堆栈中取出一个字。所以选项B是错误的;在串操作指令中,SI用作源变址寄存器,DI用作目的地址寄存器,所以选项C是错误的;选项D交换的是AX寄存器和BX寄存器里的内容,不符合题意;只有选项A是正确的,它依次把SI和DI的值推进栈中,然后把DI的值弹出来给SI,把SI的值弹出来给DI,即完成了SI和DI内容的交换。

  • 第15题:

    下列指令中,不正确的指令是().

    A.MOV[BX+SI],AX
    B.MOVAX,[BX+SI]
    C.MOVAX,SI
    D.MOVAX,[BX+CX]

    答案:D
    解析:

  • 第16题:

    给定寄存器及存储单元的内容为:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=32H,(20101)=51H,(20102)=26H,(20103)=83H,(21200)=1AH,(21201)=B6H,(21202)=D1H,(21203)=29H。试说明下列各条指令执行完后,AX寄存器中保存的内容是什么。 (1)MOVAX,1200H (2)MOVAX,BX (3)MOVAX,[1200H] (4)MOVAX,[BX] (5)MOVAX,1100H[BX] (6)MOVAX,[BX][SI]


    正确答案: (1)MOVAX,1200H;执行后,(AX)=1200H
    (2)MOVAX,BX;执行后,(AX)=(BX)=0100H
    (3)MOVAX,[1200H]
    直接寻址,EA=[VAL]=1200H,PA=(DS)×10H+EA=2000H×10H+1200H=21200H,执行后,(AX)=B61AH
    (4)MOVAX,[BX]
    EA=(BX)=0100H,PA=(DS)×10H+EA=2000H×10H+0100H=20100H,执行后,(AX)=5132H
    (5)MOVAX,1100H[BX]
    EA=(BX)+1100H=0100H+1100H=1200H,PA=(DS)×10H+EA=2000H×10H+1200H=21200H,执行后,(AX)=B61AH
    (6)MOVAX,[BX][SI]
    EA=(BX)+(SI)=0100H+0002H=0102H,PA=(DS)×10H+EA=2000H×10H+0102H=20102H,执行后,(AX)=29D1H

  • 第17题:

    现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,说明下列指令执行后AX寄存器的内容。 (1)MOVAX,1200H (2)MOVAX,BX (3)MOVAX,[1200H] (4)MOVAX,[BX] (5)MOVAX,1100H[BX] (6)MOVAX,[BX][SI] (7)MOVAX,1100H[BX][SI]


    正确答案: (1)指令MOVAX,1200H执行后,(AX)=1200H(立即数操作数)。
    (2)指令MOVAX,BX执行后,(AX)=0100H(寄存器操作数)。
    (3)指令MOVAX,[1200H]执行后,(AX)=4C2AH(直接地址,EA=1200H)
    (4)指令MOVAX,[BX]执行后,(AX)=3412H(寄存器间接寻址,EA=0100H)
    (5)指令MOVAX,1100H[BX]执行后,(AX)=4C2AH(相对地址,EA=1200H)
    (6)指令MOVAX,[BX][SI]执行后,(AX)=7856H(基址变址寻址,EA=0102H)
    (7)指令MOVAX,1100H[BX][SI]执行后,(AX)=65B7H(相对基址变址寻址,EA=1202H)

  • 第18题:

    DF=0,执行MOVSB指令后()

    • A、SI减1,DI减1
    • B、SI加1,DI加1,CX减1
    • C、SI减1,DI减1,CX减1
    • D、SI加1,DI加1,CX加1

    正确答案:B

  • 第19题:

    下列指令的源操作数段基址在哪个段寄存器中? (1)MOVAX,[BP][SI] (2)MOVAX,CS:8[DI] (3)MOVAX,2[EBP*1] (4)MOVAX,FS:4[ESP] (5)MOVAX,2[EBP][EAX] (6)MOVAX,[ECX][EBP*4] (7)MOCAX,[EDX][EBP] (8)MOVAX,ES:10[EBP][EAX*2]


    正确答案: 各指令源操作数段基址使用的段寄存器如下:
    (1)SS
    (2)CS
    (3)SS
    (4)FS
    (5)SS
    (6)DS
    (7)DS
    (8)ES

  • 第20题:

    已知DF=1,(SI)=100H,(DI)=200H,指令SCASW执行后,SI和DI的值分别是()。

    • A、(SI)=0FEH,(DI)=1FEH
    • B、(SI)=100H,(DI)=202H
    • C、(SI)=100H,(DI)=1FFH
    • D、(SI)=100H,(DI)=1FEH

    正确答案:D

  • 第21题:

    若DF=1,执行串操作指令MOVSW时,地址指针自动变化是().

    • A、SI+SI+1,DI=DI+1
    • B、SI=SI+2,DI=DI+2
    • C、SI=SI-1,DI=DI-1
    • D、SI=SI-2,DI=DI–212.

    正确答案:D

  • 第22题:

    问答题
    指出下列指令的错误: MOVAH,CX; MOV33H,AL; MOVAX,[SI][DI]; MOV[BX],[SI]; ADDBYTEPTR[BP],256; MOVDATA[SI],ES:AX; JMPBYTEPTR[BX]; OUT230H,AX; MOVDS,BP; MUL39H。

    正确答案: (1)指令错。两操作数字长不相等
    (2)指令错。MOV指令不允许目标操作数为立即数.
    (3)指令错。在间接寻址中不允许两个间址寄存器同时为变址寄存器。
    (4)指令错。MUV指令不允许两个操作数同时为存储器操作数。
    (5)指令错。ADD指令要求两操作数等字长。
    (6)指令错。源操作数形式错,寄存器操作数不加段重设符。
    (7)指令错。转移地址的字长至少应是16位的。
    (8)指令错。对输人输出指令,当端口地址超出8位二进制数的表达范围(即寻址的端口超出256个)时,必须采用间接寻址。
    (9)指令正确。
    (10)指令错。MUL指令不允许操作数为立即数。
    解析: 暂无解析

  • 第23题:

    问答题
    判断下列指令是否正确。若不正确,指出错误原因 (1)MOVAX,[EBX] (2)MOVSI,DL (3)MOVEBP,[ESP][EAX*3] (4)LEAAX,3006H (5)MOV[BP][DI],0 (6)MOV[SI],[DI] (7)MOVES,1000H (8)MOVAX,X+2 (9)MOVAX,CX+2 (10)MOV[EAX][EAX*2],AL

    正确答案: (1)指令MOVAX,[EBX]是正确的。
    (2)指令MOVSI,DL是错误的,两个操作数类型不匹配。
    (3)指令MOVEBP,[ESP][EAX*3]是错误的,比例因子不能为3。
    (4)指令LEAAX,3006H是错误的,LEA指令的源操作数必须为内存操作数。
    (5)指令MOV[BP][DI],0是错误的,操作数类型无法确定。
    (6)指令MOV[SI],[DI]是错误的,不能同时出现两个内存操作数。
    (7)指令MOVES,1000H是错误的,装载段寄存器时,源操作数不能为立即数。
    (8)如果“X”是用常数表达式定义的符号(例如:XEQU5+6),或者是用“DW”定义的内存变量,指令MOVAX,X+2是正确的。否则这条指令是错误的。
    (9)指令MOVAX,CX+2是错误的,源操作数表达式CX+2不是一个可以直接计算的“常数表达式”。
    (10)指令MOV[EAX][EAX*2],AL是正确的。
    解析: 暂无解析