更多“指令MOVDI,OFFSET[BX][SI]是正确的。”相关问题
  • 第1题:

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

    ①MOV SI,OFFSET [DI]

    ②LEA SI,OFFSET [DI]

    ③JMP SHORT PTR [BX]

    ④CALL WORD PTR [BX]

    A.1条

    B.2条

    C.3条

    D.4条


    正确答案:C

  • 第2题:

    指令“MOV AX, ES: [BX] [SI]”的源操作数的物理地址是______。

    A.16d X(DS)+(BX)+(SI)

    B.16d X(ES)+(BX)+(SI)

    C.16d X(SS)+(BX)+(SI)

    D.16d X(CS)+(BX)+(SI)


    正确答案:B
    解析:这里ES表示超越,源操作数在附加段内。

  • 第3题:

    用一条指令实现将寄存器BX和SI中的内容相加,结果送入AX中,这条指令是()。

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

    正确答案:D

  • 第4题:

    指出下列指令中哪些是错误的,错在什么地方。  (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 位

  • 第5题:

    语句MOV BX,M和LEA BX,M有何区别?LEA BX,ARRAY[BX+SI]是否可以用MOV BX,OFFSET ARRAY[BX+SI]来代替?为什么?


    正确答案: MOV BX,M语句的功能是将变量M字内容传送至BX中,即【M】→BX,而LEA BX,M是将变量M的偏移地址传送至BX中,即EA→BX.LEA BX,ARRAY【BX+SI】是不可以用MOV BX,OFFSET ARRAY[BX+SI]来代替的,因为取偏移地址算符OFFSET的优先级比加号(+)高。
    LEA语句执行后,BX+SI+ARRAY的EA→BX.由此可见。这两条语句所指源操作数偏移地址均相同,只是LEA语句执行后是将该源操作数所在的存储单元的偏移地址送人BX,而后面的MOV语句的MOV语句执行后是将该偏移地址中内容即源操作数本身送人BX,故不能代替。

  • 第6题:

    指出下列指令是否正确,若不正确说明原因:CMP [BX], [SI]


    正确答案:错,比较指令的两个操作数不能同时为存储器操作数

  • 第7题:

    判断指令是否正确:LEADI,[BX][SI]


    正确答案:正确

  • 第8题:

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

    • A、MOVAL,BX
    • B、MOVCS,AX
    • C、MOVAL,CL
    • D、MOV[BX],[SI]

    正确答案:C

  • 第9题:

    与MOV BX,OFFSET VAR指令完全等效的指令是( )。 

    • A、MOV BX,VAR
    • B、LDS BX,VAR
    • C、LES BX,VAR
    • D、LEA BX,VAR

    正确答案:D

  • 第10题:

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

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

    正确答案:D

  • 第11题:

    问答题
    语句MOV BX,M和LEA BX,M有何区别?LEA BX,ARRAY[BX+SI]是否可以用MOV BX,OFFSET ARRAY[BX+SI]来代替?为什么?

    正确答案: MOV BX,M语句的功能是将变量M字内容传送至BX中,即【M】→BX,而LEA BX,M是将变量M的偏移地址传送至BX中,即EA→BX.LEA BX,ARRAY【BX+SI】是不可以用MOV BX,OFFSET ARRAY[BX+SI]来代替的,因为取偏移地址算符OFFSET的优先级比加号(+)高。
    LEA语句执行后,BX+SI+ARRAY的EA→BX.由此可见。这两条语句所指源操作数偏移地址均相同,只是LEA语句执行后是将该源操作数所在的存储单元的偏移地址送人BX,而后面的MOV语句的MOV语句执行后是将该偏移地址中内容即源操作数本身送人BX,故不能代替。
    解析: 暂无解析

  • 第12题:

    问答题
    设(DS)=6000H,(ES)=2000H,(SS)=1500H,(Si)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H.请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少? MOVAX,BX;MOVDL,80H;MOVAX,VAR;MOVAX,VAR[BX][SI];MOVAL,’B’;MOVDI,ES:[BX];MOVDX,[BP];MOVBX,20H[BX]。

    正确答案: (1)寄存器寻址。因源操作数是寄存器,故寄存器BX就是操作数的地址.
    (2)立即寻址。操作数80H存放于代码段中指令码MOV之后。
    (3)直接寻址。
    (4)基址一变址一相对寻址.
    操作数的物理地址=(DS)×16+(SI)+(BX)+VAR=60000H+00A0H+0800H+0050H=608F0H
    (5)立即寻址
    (6)寄存器间接寻址.
    操作数的物理地址=(ES)×16+(BX)=20000H+0800H=20800H
    (7)寄存器间接寻址。
    操作数的物理地址=(SS)×16+(BP)=15000H+1200H=16200H
    (8)寄存器相对寻址.
    操作数的物理地址=(DS)×16+(BX)+20H=60000H+0800H+20H=60820H
    解析: 暂无解析

  • 第13题:

    指令“MOV AX,ES:[BX][SI)”的源操作数的物理地址是( )。

    A.16d×(DS)+(BX)+(SI)

    B.16d×(ES)+(BX)十(SI)

    C.16d×(SS)+(BX)+(SI)

    D.16d×(CS)+(BX)+(SI)


    正确答案:B
    解析:这里ES表示超越,源操作数在附加段内。

  • 第14题:

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

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

    答案:D
    解析:

  • 第15题:

    与MOV AX,OFFSET VAR指令不等效的指令是()。

    • A、MOV BX,VAR
    • B、LES BX,VAR
    • C、LES AX,VAR
    • D、LEA BX,VAR

    正确答案:A,B,C

  • 第16题:

    与指令MOV BX,OFFSET BUF功能相同的指令是()。


    正确答案:LEA BX,BUF

  • 第17题:

    执行LEA BX,TAB 指令与执行MOV BX,OFFSET TAB指令的功能相同吗?哪条指令执行的效率高?为什么?


    正确答案:两条指令的功能相同,都是将变量TAB的偏移地址送入BX,但执行MOV BX, OFFSET TAB的指令较快,所以效率高。原因是由汇编程序计算出了TAB的偏移地址,而LEA指令是CPU执行时才计算的。

  • 第18题:

    判断指令是否正确:MOV DI, OFFSET[BX+DI]


    正确答案:正确

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

    设(DS)=6000H,(ES)=2000H,(SS)=1500H,(Si)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H.请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少? MOVAX,BX;MOVDL,80H;MOVAX,VAR;MOVAX,VAR[BX][SI];MOVAL,’B’;MOVDI,ES:[BX];MOVDX,[BP];MOVBX,20H[BX]。


    正确答案: (1)寄存器寻址。因源操作数是寄存器,故寄存器BX就是操作数的地址.
    (2)立即寻址。操作数80H存放于代码段中指令码MOV之后。
    (3)直接寻址。
    (4)基址一变址一相对寻址.
    操作数的物理地址=(DS)×16+(SI)+(BX)+VAR=60000H+00A0H+0800H+0050H=608F0H
    (5)立即寻址
    (6)寄存器间接寻址.
    操作数的物理地址=(ES)×16+(BX)=20000H+0800H=20800H
    (7)寄存器间接寻址。
    操作数的物理地址=(SS)×16+(BP)=15000H+1200H=16200H
    (8)寄存器相对寻址.
    操作数的物理地址=(DS)×16+(BX)+20H=60000H+0800H+20H=60820H

  • 第21题:

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

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

    正确答案:C

  • 第22题:

    与指令MOV BX,OFFSET VAR功能完全等效的指令是()。

    • A、MOV BX, VAR
    • B、LDS BX, VAR
    • C、LES BX, VAR
    • D、LEA BX, VAR

    正确答案:D

  • 第23题:

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

    XCHG AX,[BX][SI]

    B

    MOV AX,[BX+SI]

    C

    LEA AX,BX[SI]

    D

    LEA AX,[BX][SI]


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