更多“下列属于合法的指令是()A、MOVDS,ESB、MOV[SI],[DI]C、MOVAX,BLD、MOV[DI],BL”相关问题
  • 第1题:

    交换寄存器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

  • 第2题:

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

    A.MOV AX,COUNT[SI]

    B.MOV AX,[BX][DI]

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

    D.MOVAX,[BX+DI]


    正确答案:C

  • 第3题:

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

    A.MOV AX,COUNT[SI]

    B.MOV AX, [BX][DI]

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

    D.MOV AX,[BX+DI]


    正确答案:C

  • 第4题:

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

    • A、MOV  AX,[SI]
    • B、MOV  AX,[DI]
    • C、MOV  AX,[SI+DI]
    • D、MOV  AX,[SI-10]

    正确答案:C

  • 第5题:

    指出MOV AX,[SI+DI]指令的错误原因。


    正确答案:源操作数寻址方式错,两个寄存器都是变址寄存器。

  • 第6题:

    下列指令中错误指令是()

    • A、MOV AX,DS
    • B、MOV CS,1500H
    • C、MOV SI,BX
    • D、MOV [3000H],AL
    • E、MOV [DI+32H],[1845H]
    • F、MOV AL,1000H

    正确答案:B,E,F

  • 第7题:

    分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。  (1)MOV AX,2408H  (2)MOV CL,0FFH  (3)MOV BX,[SI]  (4)MOV 5[BX],BL  (5)MOV [BP+100H],AX  (6)MOV [BX+DI],’$’  (7)MOV DX,ES:[BX+SI]  (8)MOV VAL[BP+DI],DX  (9)IN AL,05H  (10)MOV DS,AX


    正确答案:(1)立即数,寄存器
    (2)立即数,寄存器
    (3)寄存器间接,寄存器
    (4)寄存器,寄存器相对
    (5)寄存器,寄存器相对
    (6)立即数,基址变址
    (7)基址变址,寄存器
    (8)寄存器,相对基址变址
    (9)直接端口寻址,寄存器
    (10)寄存器,寄存器

  • 第8题:

    指出下列指令的错误(1)SUB AH,BX(2)ADD OAH,BL(3)MOV C3,AX(4)MOV AX,[SI][DI](5)MOV BYTEPTR[BX],999


    正确答案: (1)类型不匹配
    (2)立即数不能作目的操作数
    (3) CS不能作目的操作数
    (4)SI和DI不能一起使用
    (5)类型不匹配

  • 第9题:

    判断下列指令是否正确。若不正确,指出错误原因 (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是正确的。

  • 第10题:

    问答题
    指出下列指令的错误(1)SUB AH,BX(2)ADD OAH,BL(3)MOV C3,AX(4)MOV AX,[SI][DI](5)MOV BYTEPTR[BX],999

    正确答案: (1)类型不匹配
    (2)立即数不能作目的操作数
    (3) CS不能作目的操作数
    (4)SI和DI不能一起使用
    (5)类型不匹配

    解析: 暂无解析

  • 第11题:

    问答题
    指出下列指令的错误: 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指令不允许操作数为立即数。
    解析: 暂无解析

  • 第12题:

    问答题
    判断下列指令是否正确。若不正确,指出错误原因。 (1)MOV SI, DL (2)MOV ES, 1000H (3)LEA AX, 3006H (4)MOV [BP][DI], 0 (5)MOV [SI], [DI] (6)MOV [DI],[BX] (7)MOV [DX+SI],AL (8)MUL AL , 58H (9)MOV DS,SEG DAT (10)MOV WORD PTR [BX],-1

    正确答案: (1)指令MOV SI, DL是错误的,两个操作数类型不匹配。
    (2)指令MOV ES, 1000H是错误的,装载段寄存器时,源操作数不能为立即数。
    (3)指令LEA AX, 3006H是错误的,LEA指令的源操作数必须为内存操作数。
    (4)指令MOV [BP][DI], 0是错误的,操作数类型无法确定。
    (5)指令MOV [SI], [DI] 是错误的,不能同时出现两个内存操作数。
    (6)MOV [DI],[BX] ;错,存储器不能传存储器
    (7)MOV[DX+SI],AL; 错,DX不能用作基址寻址
    (8)MUL AL , 58H ;错,乘法指令不能用立即数
    (9)MOV DS,SEG DAT;错,立即数不能送段寄存器
    (10)MOV WORD PTR [BX],-1 ;正确 ,-1送BX指示的字单元
    解析: 暂无解析

  • 第13题:

    下列指令合法的是( )。

    A.OUT DX,AL

    B.MOVDS,1000H

    C.XCHG[DI],[SI]

    D.MUL BL


    正确答案: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、ADD.  SI,AX     
    • B、ADD  .15H,BX             
    • C、MOV  .CS,AX   
    • D、MOV . AX,[SI][DI]

    正确答案:A

  • 第16题:

    判断下列指令是否正确。若不正确,指出错误原因。 (1)MOV SI, DL (2)MOV ES, 1000H (3)LEA AX, 3006H (4)MOV [BP][DI], 0 (5)MOV [SI], [DI] (6)MOV [DI],[BX] (7)MOV [DX+SI],AL (8)MUL AL , 58H (9)MOV DS,SEG DAT (10)MOV WORD PTR [BX],-1


    正确答案: (1)指令MOV SI, DL是错误的,两个操作数类型不匹配。
    (2)指令MOV ES, 1000H是错误的,装载段寄存器时,源操作数不能为立即数。
    (3)指令LEA AX, 3006H是错误的,LEA指令的源操作数必须为内存操作数。
    (4)指令MOV [BP][DI], 0是错误的,操作数类型无法确定。
    (5)指令MOV [SI], [DI] 是错误的,不能同时出现两个内存操作数。
    (6)MOV [DI],[BX] ;错,存储器不能传存储器
    (7)MOV[DX+SI],AL; 错,DX不能用作基址寻址
    (8)MUL AL , 58H ;错,乘法指令不能用立即数
    (9)MOV DS,SEG DAT;错,立即数不能送段寄存器
    (10)MOV WORD PTR [BX],-1 ;正确 ,-1送BX指示的字单元

  • 第17题:

    指出下列指令的错误:MOV AX,[SI][DI]


    正确答案:一个操作数中不能用两个变址寄存器。

  • 第18题:

    下列指令中合法的指令是()

    • A、MOV CX,SI
    • B、POP CL
    • C、MOV [SI+DI],AX
    • D、OUT 100H,AL

    正确答案:A

  • 第19题:

    分析下列指令的正误,对于错误的指令要说明原因并加以改正。 (1) MOV AH,BX (2) MOV [BX],[SI] (3) MOV AX,[SI][DI] (4) MOV MYDAT[BX][SI],ES:AX (5) MOV BYTE PTR[BX],1000 (6) MOV BX,OFFSET MAYDAT[SI] (7) MOV CS,AX (8) MOV DS,BP


    正确答案: (1)MOVAH,BX
    错误,寄存器类型不匹配,可改为MOVAX,BX
    (2)MOV[BX],[SI]
    错误,两个操作数不能都为存储单元,可改为MOVBX,[SI]或MOV[BX],SI
    (3)MOVAX,[SI][DI]
    错误,寻址方式中只能出现一个变址寄存器,可改为MOVAX,[BX][DI]。
    (4)MOVMYDAT[BX][SI],ES:AX
    错误,AX签不能有段跨越前缀,去掉ES:,改为MOVMYDAT[BX][SI],AX
    (5)MOVBYTEPTR[BX],1000
    错误,1000超出字节空间存储范围
    (6)MOVBX,OFFSETMAYDAT[SI];正确
    (7)MOVCS,AX
    错误,MOV指令CS不能做目的操作数,可改为MOVDS,AX
    (8)MOVDS,BP;正确

  • 第20题:

    指出下列指令的错误: 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指令不允许操作数为立即数。

  • 第21题:

    下面各传送指令中,正确的是()

    • A、MOV[DI],[SI]
    • B、MOV[DX+DI],AL
    • C、MOVWORDPTR[BX],0100H
    • D、MOVAL,BX

    正确答案:C

  • 第22题:

    单选题
    下列属于合法的指令是()
    A

    MOVDS,ES

    B

    MOV[SI],[DI]

    C

    MOVAX,BL

    D

    MOV[DI],BL


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

  • 第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是正确的。
    解析: 暂无解析