参考答案和解析
正确答案:C
更多“下列指令中( )指令是不合法的。 ① MOV[S1],1000H ② ADDAX,[DX] ③ MUL[BX] ④ MOVDS ”相关问题
  • 第1题:

    下列指令合法的是( )。

    A.OUT DX,AL

    B.MOVDS,1000H

    C.XCHG[DI],[SI]

    D.MUL BL


    正确答案:A

  • 第2题:

    下列哪一条是不合法的指令?

    A.MUL BX

    B.MUL [BX]

    C.MOV AL,02H

    D.MOV AL,[BX]


    正确答案:B
    解析:MUL是8086的乘法指令,选项A中没有目的操作数,则默认的目的操作数是AX;但是,B选项中[BX]是一个存储器操作数,数据类型不能确定,目的操作数也就不能确定使用哪个寄存器。MOV是传送指令,C和D选项都有指定的目的操作数和源操作数,是正确的。

  • 第3题:

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

    ①MOV[SI],1000H

    ②ADDAX,[DX]

    ③MUL[BX]

    ④MOV DS, 2000H

    A.1条

    B.2条

    C.3条

    D.4条


    正确答案:C

  • 第4题:

    下列( )是不合法的指令。

    A.MUL BX 4

    B.MUL [BX]

    C.MOV AL,02H

    D.MOV AL,[BX]


    正确答案:B

  • 第5题:

    下列指令中有( )条指令不合法。 ①MOV [SI], [DI] ②ADD AX,5 ③IN AL,DX ④PUSH WORD PTR 10[BX+2]

    A.1

    B.2

    C.3

    D.4


    正确答案:A

  • 第6题:

    请指出MOV [BX],[1000H]指令中的错误。


    正确答案:源和目的的操作数不能同时为存储器寻址

  • 第7题:

    下列指令中,执行速度最快的指令是()。

    • A、ADDAX,10
    • B、ADDAL,[SI+10H]
    • C、ADDAX,CX
    • D、ADDAX,[BX]

    正确答案:A

  • 第8题:

    以下指令中错误的是:()

    • A、MOV AX,[24H]
    • B、MUL BX
    • C、ADD AL,CX
    • D、POP DX

    正确答案:C

  • 第9题:

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

  • 第10题:

    下列指令正确的是()

    • A、MOV[100H],[BX]
    • B、MOVDS,ES
    • C、ADDV[BX],CX
    • D、MOVAX,34H

    正确答案:C,D

  • 第11题:

    问答题
    判断下列指令是否正确。若不正确,指出错误原因。 (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指示的字单元
    解析: 暂无解析

  • 第12题:

    问答题
    指出下列指令中源操作数的寻址方式,并说明指令操作的结果。 (1)MOV  BX, ‘BC’  (2)MOV  AX, DATA  (3)MOV  DX, [BX]  (4)MOV  AL, [BX+DI]  (5)MOV  CL, LIST[BX]  (6)MOV  AX, FILE[BX+DI+200H]  (7)DAA  (8)XLAT  (9)IN  AX, DX  (10)INT  21H

    正确答案: (1)立即寻址。操作结果是把ASCII码CB(4342H)传送到BX.
    (2)使用AX的直接寻址。操作结果是把数据段存储单元DATA1与DATA1+1的字内容复制到AX中。
    (3)寄存器间接寻址。把数据段由BX间接寻址的存储单元的字内容复制到DX中。
    (4)基址加变址寻址的寻址方式。操作结果是把由BX+DI寻址的数据段存储单元的字的内容复制到AL。
    (5)寄存器相对寻址。操作结果是把数据段由LIST+BX寻址的字节内容送CL。
    (6)相对基址加变址的寻址方式。操作结果是把由BX+DI+200H寻址的数据段存储单元的字内容送入AX。
    (7)源操作数为寄存器(AL)寻址。它是把AL中的两位BCD码加法运算的结果调整为两位压缩型十进制数,仍保留在AL中。
    (8)源操作数为寄存器(BX)相对寻址。操作结果是把由BX+AL指定的内容表格中的字节代码内容送AL。
    (9)源操作数为寄存器(DX)间接寻址。它是把DX和DX+1所指定的两个端口地址的字的内容送入AX。
    (10)源操作数为直接寻址,直接寻址地址为21H×4, 21H×4+2。操作结果是把21H×4~21H×4+3内存单元中的双字分别送到IP与CS。
    解析: 暂无解析

  • 第13题:

    下列指令中不合法的指令有______。

    ①MOV [SI],[DI]

    ②IN AL,DX

    ③IMP WORD PTR [BX]

    ④PUSH WORD PTR 10[BX+9]

    A.1条

    B.2条

    C.3条

    D.4条


    正确答案:A
    解析:在MOV指令中,源地址为基址变址寻址,则SI(或DI)应与BP或BX组合使用,但SI、DI不能一起使用。

  • 第14题:

    下面数据传送指令中,正确的指令是______。

    A.MOV BUFl,BUF2

    B.MOV CS,AX

    C.MOV DX,WORDPTR[BP+DI]

    D.MOV AL,1000H


    正确答案:C
    解析:因为不允许存储器之间的数据传送,代码段寄存器CS不允许作操作数,所以选项A和B是错误的。AL为8位寄存器,而1000H为16位立即数,操作数类型不匹配,因此选项D也是错误的。

  • 第15题:

    下列指令经汇编后,机器指令代码最长的是( )。

    A.MOV AX,0

    B.SUB AX,AX

    C.XOR AX,AX

    D.MUL BX


    正确答案:A

  • 第16题:

    下列的指令中,不合法的是______。

    A.MOV [S1],[DI]

    B.RCR DX, CL

    C.IN AL, DX

    D.RET 4


    正确答案:A
    解析:MOV指令不能在两个内存单元间传送数据。

  • 第17题:

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

  • 第18题:

    指出下列指令中源操作数的寻址方式,并说明指令操作的结果。 (1)MOV  BX, ‘BC’  (2)MOV  AX, DATA  (3)MOV  DX, [BX]  (4)MOV  AL, [BX+DI]  (5)MOV  CL, LIST[BX]  (6)MOV  AX, FILE[BX+DI+200H]  (7)DAA  (8)XLAT  (9)IN  AX, DX  (10)INT  21H


    正确答案: (1)立即寻址。操作结果是把ASCII码CB(4342H)传送到BX.
    (2)使用AX的直接寻址。操作结果是把数据段存储单元DATA1与DATA1+1的字内容复制到AX中。
    (3)寄存器间接寻址。把数据段由BX间接寻址的存储单元的字内容复制到DX中。
    (4)基址加变址寻址的寻址方式。操作结果是把由BX+DI寻址的数据段存储单元的字的内容复制到AL。
    (5)寄存器相对寻址。操作结果是把数据段由LIST+BX寻址的字节内容送CL。
    (6)相对基址加变址的寻址方式。操作结果是把由BX+DI+200H寻址的数据段存储单元的字内容送入AX。
    (7)源操作数为寄存器(AL)寻址。它是把AL中的两位BCD码加法运算的结果调整为两位压缩型十进制数,仍保留在AL中。
    (8)源操作数为寄存器(BX)相对寻址。操作结果是把由BX+AL指定的内容表格中的字节代码内容送AL。
    (9)源操作数为寄存器(DX)间接寻址。它是把DX和DX+1所指定的两个端口地址的字的内容送入AX。
    (10)源操作数为直接寻址,直接寻址地址为21H×4, 21H×4+2。操作结果是把21H×4~21H×4+3内存单元中的双字分别送到IP与CS。

  • 第19题:

    指出以下指令中,哪些指令是非法的,并说明为什么(8086系统)。 (1) PUSH 1234H (2) MOV CS,AX (3) IN AX, 300 (4) MOV AX,[DX+12] (5) MOV BX,[BX] (6) MOV DS,1000H (7) XCHG AL,AL (8) MOV AL,100H (9) MOV DX,AL (10)LEA BL,[BX+5] (11)LEA DX,BX (12)MOV [1000H],12H (13)ADD AX,DS (14)SUB [0100H],BYTE PTR [0001] (15)SHL BL,2 (16)SHR CL,CL (17)MUL AL,BL (18)INT 400


    正确答案: (1)非法,8086系统不允许PUSH指令的操作数为立即数;
    (2)非法,MOV指令中CS不能作为目的操作数;
    (3)非法,端口号大于0FFH;
    (4)非法,DX不能出现在中括号[]内;
    (5)合法;
    (6)非法,不能把立即数赋给段寄存器;
    (7)合法;
    (8)非法,源操作数大于0FFH,不能赋给8位寄存器AL;
    (9)非法,源操作数是8位寄存器,目的操作数却是16位寄存器,不匹配;
    (10)非法,LEA指令得到的是16位偏移量,但目的操作数是8位寄存器;
    (11)非法,LEA指令的源操作数只能是存储器操作数;
    (12)非法,指令存在歧义,无法确定传送的是字节还是字;
    (13)非法,段寄存器不能参与算术运算;
    (14)非法,源和目的寄存器不能同为存储器操作数;
    (15)非法,在8086系统中,移位次数大于1时需要将移位次数存放到CL中;
    (16)合法;
    (17)非法,在8086系统中MUL指令没有双操作数的用法;
    (18)非法,中断类型号大于0FFH。

  • 第20题:

    以下指令格式正确的是()

    • A、MOV AX,[SI+BX+DATA]
    • B、JNZ WORD PTR[BX]
    • C、OUT DX,[DI]
    • D、MUL AL,15

    正确答案:A

  • 第21题:

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

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

    正确答案:C

  • 第22题:

    在下列指令的表示中,不正确的是()

    • A、MOV AL,[BX+SI]
    • B、JMP SHORT DONI
    • C、DEC [BX]
    • D、MUL CL

    正确答案:C

  • 第23题:

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