下列指令中,错误的指令条数为 。 INC [BX] MOV AL,[DX] PUSH CS MOV DS,DATA(DATA是数据段段名)A.4B.3C.2D.1

题目

下列指令中,错误的指令条数为 。 INC [BX] MOV AL,[DX] PUSH CS MOV DS,DATA(DATA是数据段段名)

A.4

B.3

C.2

D.1


相似考题
参考答案和解析
MOVE
更多“下列指令中,错误的指令条数为 。 INC [BX] MOV AL,[DX] PUSH CS MOV DS,DATA(DATA是数据段段名)”相关问题
  • 第1题:

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

    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也是错误的。

  • 第2题:

    说明MOV BX,DATA和MOV BX,OFFSTE DATA指令之间的区别。


    正确答案: M.OV  BX, DATA是直接将DATA的值赋给BX寄存器;
    M.OV  BX, OFFSTE DATA是将DATA在段内的偏移量赋给BX寄存器。
    (注:DATA为变量名,它指内存中的一个数据区的名字,它可以作为指令中的存储器操作数来使用。变量仅对应于数据区中的第一个数据项,若需对数据区中其它数据项进行操作,必须用地址表达式指出哪个数据项是指令中的操作数。)

  • 第3题:

    在书写汇编语言程序时,在代码段中初始位置要对数据段进行加载,加载的指令语句,下面()描述正确。 

    • A、mov ax,data
    • B、mov ds,data
    • C、mov ax,data  mov ds,ax
    • D、mov ax,ds  mov cs,ds

    正确答案:C

  • 第4题:

    下面的数据传送指令中,错误的操作是()。

    • A、MOV.SS:[BX+DI],1000H
    • B、MOV.DX,1000H
    • C、MOV.WORDPTR[BX],1000H
    • D、MOV.DS,2000H

    正确答案:D

  • 第5题:

    阅读下列程序段,注释指令中属性分离符的功能。 DATA    SEGMENT       A       DW   20,100,-60H      B       DB  ‘ABCDEFG ’  DATA    ENDS             ┆  ①MOV AX,  SEG B  ②MOV BX,  OFFSET B ③MOV CX,  TYPE A  ④MOV  DX ,  TYPE B 


    正确答案: ①段首址DATA→AX
    ②变量B的偏移量6→BX
    ③2→CX
    ④1→DX

  • 第6题:

    分析下列指令的正误,对于错误的指令要说明原因并加以改正。 (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;正确

  • 第7题:

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

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

    正确答案:A

  • 第8题:

    执行指令MOV AL,[BP]时,所读取的数据应在()。

    • A、CS段中
    • B、DS段中
    • C、SS段中
    • D、ES段中

    正确答案:C

  • 第9题:

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

    • A、AND AL,‘A’
    • B、SHL AX,4
    • C、MOV CS,AX
    • D、TEST[BX],AL
    • E、MOV DS,1234H

    正确答案:B,C,E

  • 第10题:

    问答题
    已经定义数据段如下: DATASEGMENT NUM=56 X DB NUM Y DB 27 Z DW 148 DATAENDS 指出下列指令中的错误: (1)MOV Y,X (2)MOV BL,04B8H (3)MOV AL,Z (4)MOV [BX],3 (5)MOV [BX],[DI] (6)MOV DS,DATA (7)MOV NUM,AX (8)MOV ES,DS (9)MOV AX,FLAGS (10)MOV CS,AX

    正确答案: (1)指令MOV Y,X同时出现了两个存储器操作数。
    (2)指令MOV BL,04B8H操作数类型不匹配(04B8H是16位立即数,BL是8位寄存器)。
    (3)指令MOV AL,Z操作数类型不匹配(Z是16位操作数,BL是8位寄存器)。
    (4)指令MOV [BX],3操作数类型不能确定。
    (5)指令MOV [BX],[DI]出现了两个存储器操作数。
    (6)指令MOV DS,DATA不能把立即数装入段寄存器。
    (7)指令MOV NUM,AX立即数不能用作目的操作数。
    (8)指令MOV ES,DS不能在段寄存器之间直接传输。
    (9)指令MOV AX,FLAGS中,FLAGS寄存器只能隐含在少量指令中使用。
    (10)指令MOV CS,AX中,CS寄存器不能用作目的操作数。
    解析: 暂无解析

  • 第11题:

    问答题
    指出下列指令中源操作数的寻址方式,并说明指令操作的结果。 (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。
    解析: 暂无解析

  • 第12题:

    单选题
    在书写汇编语言程序时,在代码段中初始位置要对数据段进行加载,加载的指令语句,下面()描述正确。
    A

    mov ax,data

    B

    mov ds,data

    C

    mov ax,data  mov ds,ax

    D

    mov ax,ds  mov cs,ds


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

  • 第13题:

    下列的数据传送指令中,错误的操作是______。

    A.MOV SS: [BX+DI], 1000H

    B.MOV DX, 1000H

    C.MOV WORD PTR [BX], 1000H

    D.MOV DS, 2000H


    正确答案:D
    解析:近程的数据通常定义在一个段中,对应于物理存储器中的一个段,只要程序一开始将其段值放置在DS中,以后数据的访问只改变偏移值,而不必改变其段值。

  • 第14题:

    下面的数据传送指令中,错误的操作是()。

    • A、MOV SS:[BX+DI],1000H
    • B、MOV DX,1000H
    • C、MOV WORD PTR[BX],1000H
    • D、MOV DS,2000H

    正确答案:D

  • 第15题:

    在下述指令中,错误的指令是()。

    • A、MOV [BX],[DI]
    • B、MOV BX,AX
    • C、AND BX,8000H
    • D、INC BX

    正确答案:A

  • 第16题:

    指出下列指令中源操作数的寻址方式,并说明指令操作的结果。 (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。

  • 第17题:

    指出以下指令中,哪些指令是非法的,并说明为什么(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。

  • 第18题:

    下列指令正确的是()

    • A、 MOV 10H, AL
    • B、 MOV DS, 45H
    • C、 DATA DW 01H, 0FF0H
    • D、 POP AL

    正确答案:C

  • 第19题:

    说明下列指令中不合法的原因。 (1)MOV 64H, CL  (2)MOV CL, 100H  (3)MOV CL, 256  (4)MOV SS, 6180H  (5)MOV CS, WORD PTR[BX] (6)MOV DS, SS  (7)XCHG AL, 40H (8)XCHG ES, AX  (9)IN 160H, AL  (10)CMP [SI], [BX] (11)MOV DS, 1000H  (12)POP CS


    正确答案: (1)错在立即数64H作目标操作数。
    (2)和(3)错在目标操作数均超过了字节范围。
    (4)错在立即数直接传送给段寄存器。
    (5)错在把存储器操作数作数送CS, 这可能引起系统运行紊乱。
    (6)错在两个段寄存器之间直接传送。
    (7)错在用立即数作交换指令的操作数。
    (8)错在用段寄存器作交换指令的操作数。
    (9)错在当端口地址超过FFH时还在用直接寻址端口号。
    (10)错在用两个存储器操作数做比较。
    (11)错在将立即数直接传送到CS,必须先传送到某个寄存器,再经过寄存器传送到CS。
    (12)错在将存储器堆栈中的数据直接弹出到CS。

  • 第20题:

    已经定义数据段如下: DATASEGMENT NUM=56 X DB NUM Y DB 27 Z DW 148 DATAENDS 指出下列指令中的错误: (1)MOV Y,X (2)MOV BL,04B8H (3)MOV AL,Z (4)MOV [BX],3 (5)MOV [BX],[DI] (6)MOV DS,DATA (7)MOV NUM,AX (8)MOV ES,DS (9)MOV AX,FLAGS (10)MOV CS,AX


    正确答案: (1)指令MOV Y,X同时出现了两个存储器操作数。
    (2)指令MOV BL,04B8H操作数类型不匹配(04B8H是16位立即数,BL是8位寄存器)。
    (3)指令MOV AL,Z操作数类型不匹配(Z是16位操作数,BL是8位寄存器)。
    (4)指令MOV [BX],3操作数类型不能确定。
    (5)指令MOV [BX],[DI]出现了两个存储器操作数。
    (6)指令MOV DS,DATA不能把立即数装入段寄存器。
    (7)指令MOV NUM,AX立即数不能用作目的操作数。
    (8)指令MOV ES,DS不能在段寄存器之间直接传输。
    (9)指令MOV AX,FLAGS中,FLAGS寄存器只能隐含在少量指令中使用。
    (10)指令MOV CS,AX中,CS寄存器不能用作目的操作数。

  • 第21题:

    下列指令中操作数在代码段中的是()。

    • A、MOV  AL,42H
    • B、ADD  AL,BL
    • C、SUB  [BX],DI
    • D、INC  [DI]

    正确答案:A

  • 第22题:

    问答题
    说明MOV BX,DATA和MOV BX,OFFSTE DATA指令之间的区别。

    正确答案: M.OV  BX, DATA是直接将DATA的值赋给BX寄存器;
    M.OV  BX, OFFSTE DATA是将DATA在段内的偏移量赋给BX寄存器。
    (注:DATA为变量名,它指内存中的一个数据区的名字,它可以作为指令中的存储器操作数来使用。变量仅对应于数据区中的第一个数据项,若需对数据区中其它数据项进行操作,必须用地址表达式指出哪个数据项是指令中的操作数。)
    解析: 暂无解析

  • 第23题:

    问答题
    说明下列指令中不合法的原因。 (1)MOV 64H, CL  (2)MOV CL, 100H  (3)MOV CL, 256  (4)MOV SS, 6180H  (5)MOV CS, WORD PTR[BX] (6)MOV DS, SS  (7)XCHG AL, 40H (8)XCHG ES, AX  (9)IN 160H, AL  (10)CMP [SI], [BX] (11)MOV DS, 1000H  (12)POP CS

    正确答案: (1)错在立即数64H作目标操作数。
    (2)和(3)错在目标操作数均超过了字节范围。
    (4)错在立即数直接传送给段寄存器。
    (5)错在把存储器操作数作数送CS, 这可能引起系统运行紊乱。
    (6)错在两个段寄存器之间直接传送。
    (7)错在用立即数作交换指令的操作数。
    (8)错在用段寄存器作交换指令的操作数。
    (9)错在当端口地址超过FFH时还在用直接寻址端口号。
    (10)错在用两个存储器操作数做比较。
    (11)错在将立即数直接传送到CS,必须先传送到某个寄存器,再经过寄存器传送到CS。
    (12)错在将存储器堆栈中的数据直接弹出到CS。
    解析: 暂无解析

  • 第24题:

    问答题
    阅读下列程序段,注释指令中属性分离符的功能。 DATA    SEGMENT       A       DW   20,100,-60H      B       DB  ‘ABCDEFG ’  DATA    ENDS             ┆  ①MOV AX,  SEG B  ②MOV BX,  OFFSET B ③MOV CX,  TYPE A  ④MOV  DX ,  TYPE B

    正确答案: ①段首址DATA→AX
    ②变量B的偏移量6→BX
    ③2→CX
    ④1→DX
    解析: 暂无解析