niusouti.com
参考答案和解析
$123,456.7
更多“2.顺序执行下列指令,填写指令后的空格。 MOV AX,2000H MOV DS,AX MOV BX,2030H MOV SI,BX ;SI= PUSH BX POP CX ;CX= XCHG AX,SI ;AX= ;SI= ADD AX,0F01H CWD MOV BL,0FFH MUL BL ;AX= MOV AL,01H IMUL BL ;AX=”相关问题
  • 第1题:

    用一条指令仅实现将AX←BX+SI的方法是()。

    • A、XCHG AX,[BX][SI]
    • B、MOV AX,[BX+SI]
    • C、LEA AX,BX[SI]
    • D、LEA AX,[BX][SI]

    正确答案:D

  • 第2题:

    MOV AX,MOV AX,[BX][SI]的寻址方式为()。


    正确答案:基址加变址寻址

  • 第3题:

    指出下列指令的错误(1)MOV.AH,BX(2)ADD.15H,BX(3)MOV.CS,AX(4)MOV.AX,[SI][DI](5)MOV.BYTEPTR[BX],1000


    正确答案: (1)MOV . AH,BX (1)类型不匹配
    (2)ADD . 15H,BX ( 2)立即数不能作目的操作数
    (3)MOV . CS,AX (3)CS不能作目的操作数
    (4)MOV . AX,[SI][DI] (4)SI和DI不能一起使用
    (5)MOV . BYTE PTR[BX],1000 (5)类型不匹配

  • 第4题:

    下列指令中,源操作数的寻址方式中,()属于直接寻址。

    • A、MOV AX,[4000H]
    • B、MOV [BX],AX
    • C、SUB AX,2000H
    • D、MOV AX,[SI+12H]
    • E、MOV CX,[BX]
    • F、MOV AX,[SI+BX+10H]

    正确答案:A

  • 第5题:

    分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。  (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)寄存器,寄存器

  • 第6题:

    已知:DS=1000H,BX=0200H,SI=02H,内存10200H~10205H 单元的内容分别为10H, 2AH,3CH,46H,59H,6BH。下列每条指令执行完后AX 寄存器的内容各是什么?  (1)MOV AX,0200H  (2)MOV AX,[200H]  (3)MOV AX,BX  (4)MOV AX,3[BX]  (5)MOV AX,[BX+SI]  (6)MOV AX,2[BX+SI]


    正确答案:(1)0200H
    (2)2A10H
    (3)0200H
    (4)5946H
    (5)463CH
    (6)6B59H

  • 第7题:

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

  • 第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题:

    下列指令中,源操作数的寻址方式中,()属于寄存器相对寻址。

    • A、MOV AX,[4000H]
    • B、MOV [BX],AX
    • C、SUB AX,2000H
    • D、MOV AX,[SI+12H]
    • E、MOV CX,[BX]
    • F、MOV AX,[SI+BX+10H]

    正确答案:D

  • 第10题:

    设DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H, 数据段中变量名为VAL 的偏移地址值为0030H,试说明下列源操作数字段的寻址方式是什 么?物理地址值是多少?  (1)MOV AX,[100H]  (2)MOV AX,VAL  (3)MOV AX,[BX]  (4)MOV AX,ES:[BX]  (5)MOV AX,[SI]  (6)MOV AX,[BX+10H] (7)MOV AX,[BP]  (8)MOV AX,VAL[BP][SI]  (9)MOV AX,VAL[BX][DI]  (10)MOV AX,[BP][DI]


    正确答案:(1)直接,10100H
    (2)直接,10030H
    (3)寄存器间接,10100H
    (4)寄存器间接,20100H
    (5)寄存器间接,100A0H
    (6)寄存器相对,10110H
    (7)寄存器间接,35200H
    (8)相对基址变址,352D0H
    (9)相对基址变址,10154H
    (10)基址变址,35224H

  • 第11题:

    问答题
    指出下列指令的错误(1)MOV.AH,BX(2)ADD.15H,BX(3)MOV.CS,AX(4)MOV.AX,[SI][DI](5)MOV.BYTEPTR[BX],1000

    正确答案: (1)MOV . AH,BX (1)类型不匹配
    (2)ADD . 15H,BX ( 2)立即数不能作目的操作数
    (3)MOV . CS,AX (3)CS不能作目的操作数
    (4)MOV . AX,[SI][DI] (4)SI和DI不能一起使用
    (5)MOV . BYTE PTR[BX],1000 (5)类型不匹配
    解析: 暂无解析

  • 第12题:

    单选题
    完成同指令XCHG AX,BX相同功能的指令或指令序列是()。
    A

    MOV AX,BX

    B

    MOV BX,AX

    C

    PUSH AX POP BX

    D

    MOV CX,AX MOV AX,BX MOV BX,CX


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

  • 第13题:

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

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

    正确答案:C

  • 第14题:

    指出下列指令中哪些是错误的,错在什么地方。  (1)MOV DL,AX  (2)MOV 8650H,AX  (3)MOV DS,0200H  (4)MOV [BX],[1200H]  (5)MOV IP,0FFH  (6)MOV [BX+SI+3],IP  (7)MOV AX,[BX][BP]  (8)MOV AL,ES:[BP]  (9)MOV DL,[SI][DI]  (10)MOV AX,OFFSET 0A20H  (11)MOV AL,OFFSET TABLE  (12)XCHG AL,50H  (13)IN BL,05H  (14)OUT AL,0FFEH


    正确答案:(1)长度不匹配
    (2)立即数不能做目的操作数
    (3)段寄存器不能用立即数赋值
    (4)两个内存单元不能直接传送数据
    (5)IP 不能用指令直接修改
    (6)指令中不能出现 IP
    (7)BX/BP 应与 SI/DI 搭配
    (8)正确
    (9)SI/DI 应与 BX/BP 搭配
    (10)OFFSET 后应跟内存单元
    (11)偏移地址为16 位,AL 长度不够
    (12)立即数不能用于XCHG
    (13)IN 必须用 AL/AX
    (14)操作数顺序反向;地址应为 8 位

  • 第15题:

    下列指令源操作数的寻址方式为寄存器相对寻址的是()

    • A、MOV.SI,100
    • B、MOV.CX,DATA[SI]
    • C、MOV.[SI],AX
    • D、ADD.AX,[BX][DI]

    正确答案:B

  • 第16题:

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

  • 第17题:

    指出以下指令中,哪些指令是非法的,并说明为什么(80386系统)。 (1) MOV AX,12[EBX][SI*16] (2) RCR EAX,10 (3) PUSH 5678H (4) POP 1000H (5) MOV [EAX+EAX],EAX (6) MOV AL,[ESP+ESP*2] (7) MOV BL,[AX+12] (8) IMUL AL,BL,12


    正确答案: (1)非法,比例因子只能是1、2、4、8,不能是16;
    (2)合法;
    (3)合法;
    (4)非法,POP指令的目的操作数不能是立即数;
    (5)合法;
    (6)非法,ESP只能作为基址寄存器,不能作为变址寄存器;
    (7)非法,在386系统中AX不能作为基址寄存器,也不能作为变址寄存器;
    (8)合法。

  • 第18题:

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

    • A、MOV AX,BX
    • B、MOV AX,[BX]
    • C、MOV AX,CX
    • D、MOV AX,[CX]

    正确答案:D

  • 第19题:

    设(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少? (1) MOV AX,21H (2) MOV AX,BX (3) MOV AX,[1000H] (4) MOV AX,VAL (5) MOV AX,[BX] (6) MOV AX,ES:[BX] (7) MOV AX,[BP] (8) MOV AX,[SI] (9) MOV AX,[BX+10] (10) MOV AX,VAL[BX] (11) MOV AX,[BX][SI] (12) MOV AX,VAL[BX][SI]


    正确答案: (1)MOVAX,21H
    立即寻址,源操作数直接放在指令中
    (2)MOVAX,BX
    寄存器寻址,源操作数放在寄存器BX中
    (3)MOVAX,[1000H]
    直接寻址,EA=1000H,PA=(DS)×10H+EA=2000H×10H+1000H=21000H
    (4)MOVAX,VAL
    直接寻址,EA=[VAL]=0050H,PA=(DS)×10H+EA=2000H×10H+0050H=20050H
    (5)MOVAX,[BX]
    寄存器间接寻址,EA=(BX)=0100H,PA=(DS)×10H+EA=2000H×10H+0100H=20100H
    (6)MOVAX,ES:[BX]
    寄存器间接寻址,EA=(BX)=0100H,PA=(ES)×10H+EA=2100H×10H+0100H=21100H
    (7)MOVAX,[BP]
    寄存器间接寻址,EA=(BP)=0010H,PA=(SS)×10H+EA=1500H×10H+0010H=15010H
    (8)MOVAX,[SI]
    寄存器间接寻址,EA=(SI)=00A0H,PA=(DS)×10H+EA=2000H×10H+00A0H=200A0H
    (9)MOVAX,[BX+10]
    相对寄存器寻址,EA=(BX)+10D=0100H+000AH=010AH,PA=(DS)×10H+EA=2000H×10H+010AH=2010AH
    (10)MOVAX,VAL[BX]
    相对寄存器寻址,EA=(BX)+[VAL]=0100H+0050H=0150H,PA=(DS)×10H+EA=2000H×10H+0150H=20150H
    (11)MOVAX,[BX][SI]
    基址变址寻址,EA=(BX)+(SI)=0100H+00A0H=01A0H,PA=(DS)×10H+EA=2000H×10H+01A0H=201A0H
    (12)MOVAX,VAL[BX][SI]
    相对基址变址寻址,EA=(BX)+(SI)+[VAL]=0100H+00A0H+0050H=01F0H,PA=(DS)×10H+EA=2000H×10H+01F0H=201F0H

  • 第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题:

    完成同指令XCHG AX,BX相同功能的指令或指令序列是()。

    • A、MOV AX,BX
    • B、MOV BX,AX
    • C、PUSH AX POP BX
    • D、MOV CX,AX MOV AX,BX MOV BX,CX

    正确答案:D

  • 第22题:

    问答题
    指出下列指令的错误(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)类型不匹配

    解析: 暂无解析

  • 第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指令不允许操作数为立即数。
    解析: 暂无解析

  • 第24题:

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

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