更多“是否能写出与MOV  POIN,  OFFSET  BUF等效的LEA语句LEA  POIN,, BUF?为什么?”相关问题
  • 第1题:

    假设(DS)=1000H,(DI)=0500H,(10510H)=0FFH,(10511H)=00H,下列指令执行后使(AX):0520H的是( )。

    A.LEA AX,20[DI]

    B.MOV AX,OFFSET DI

    C.MOV AX,20[DI]

    D.LEA AX,[DI]


    正确答案:A

  • 第2题:

    根据下面的程序段,AL寄存器中的数据是( )。 BUF DW 2152H,3416H,5731H,4684H MOV BX,OFFSET BUF MOV AL,3 XLAT

    A.46H

    B.57H

    C.16H

    D.34H


    正确答案:D

  • 第3题:

    假设(DS)=1000H,(DI)=0400H,(10410H)=00H,下列指令执行后使(AX)=0420H的指令是( )。

    A.LEA AX,20[DI]

    B.MOV AX,OFFSET DI

    C.MOV AX,20[DI]

    D.LEA AX[DI]


    正确答案:A

  • 第4题:

    执行下面的程序段后AL中的内容是( )。 BUF DW 1234H,5678H,0001H MOV BX,OFFSET BUF MOV AL,2 XLAT

    A.12H

    B.34H

    C.56H

    D.78H


    正确答案:D

  • 第5题:

    都是获取偏移地址,为什么指令“LEA EBX,[ESI]”正确,而指令“MOV EBX,OFFSET[ESI]”就错误?


    正确答案:前者在指令执行时获得偏移地址,是正确的;但后者的OFFSET只能在汇编阶段获得偏移地址,但此时寄存器内容是不可知的,所以无法获得偏移地址。

  • 第6题:

    语句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,故不能代替。

  • 第7题:

    阅读下列一段程序,分析数据段中BUF, DDBUF, DWBUF各变量的属性,并指出它们各自所在的段首址与偏移地址。程序中的DDBUF EQU THIS DWORD 和DWBUF EQU WORD PRT BUF两条语句有何功能? DATA    SEGMENT   DDBUF   EQU  THIS  DWORD  BUF     DB   100   DUP(?)  DWBUF   EQU  WORD  PRT BUF  DATA    ENDS          ┆  FIRST   EQU  THIS  FAR         LEA  SI , BUF          ┆


    正确答案: 变量BUF为字节类型,它所在的段首址为DATA,偏移地址为0。变量DDBUF为双字节类型,它与BUF具有相同的段属性和偏移地址属性。变量DWBUF为字类型,它与BUF具有相同的段属性和偏移地址属性。
    DDBUF EQU THIS DWORD语句表明将紧跟它后面的字类型的变量BUF重新定义为双字类型,并命名为DDWBUF。
    DWBUF EQU WORD PRT BUF语句是将BUF重新定义为字类型,并命名为DWBUF。

  • 第8题:

    地址表达式AYY[4]的偏移地址送字变量ADDR()。

    • A、MOV ADDR,OFFSET AYY[4]
    • B、MOV ADDR,AYY[4]
    • C、OFFSET AYY[4]
    • D、LEA OFFSET AYY[4]

    正确答案:A

  • 第9题:

    若有BUF DW 1,2,3,4。则可将数据02H取到AL寄存器中的指令是:()。

    • A、MOV  AL,BYTE PTRBUF+1
    • B、MOV  AL,BYTE PTRBUF+2
    • C、MOV  AL,BYTE PTRBUF+3
    • D、MOV  AL,BYTE BUF2

    正确答案:B

  • 第10题:

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

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

    正确答案: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题:

    问答题
    是否能写出与MOV  POIN,  OFFSET  BUF等效的LEA语句LEA  POIN,, BUF?为什么?

    正确答案: 不能写出与MOV POIN,  OFFSET BUF等效的LEA语句LEA  POIN, BUF。因为POIN是指定某存储单元的变量,即符号地址;而此句的目标操作数要求一定是寄存器。
    解析: 暂无解析

  • 第13题:

    假设(DS)=1000H,(DI)=0400H,(10410)=FFH,(10411H)=00H,下列指令执行 (AX)值是0420H的指令是( )。

    A.LEA AX,20[DI]

    B.MOV AX,OFFSET DI

    C.MOV AX,20[DI]

    D.LEA AX,[DI]


    正确答案:A
    解析:选项A)中的指令的功能是将源操作数的偏移地址送入寄存器AX,即将20H+0400H的和送AX寄存器。选项B)中指令源操作数的使用是错误的,DI寄存器应用变量或标号替代。选项C)中指令的功能是将贴段中的偏移地址为0410H处的内存单元内容送AX寄存器,即(AX)=00FFH。选项D)中的指令是将0400H送AX寄存器,即(AX)=0400H。

  • 第14题:

    执行下面的程序段后,AL中的内容是( )。 BUF 0W 1234H, 5678H, 0001H MOV BX, OFFSET BUF MOV AL,2 XLAT

    A.12H

    B.34H

    C.56H

    D.78H


    正确答案:C

  • 第15题:

    执行下面的程序段后,AL 中的内容是( )。 BUF DW 2152H,3416H,5731H,4684H MOV BX,OFFSET BUF MOV AL,3 XLAT

    A.46H

    B.57H

    C.16H

    D.34H


    正确答案:D

  • 第16题:

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

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

    正确答案:A,B,C

  • 第17题:

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


    正确答案:LEA BX,BUF

  • 第18题:

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


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

  • 第19题:

    将变量A的偏移地址取到BX寄存器中,正确的方法是()。

    • A、MOV BX,A
    • B、LEA BX,A
    • C、MOV BX,[A]
    • D、MOV BX,OFFSET A

    正确答案:B,D

  • 第20题:

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

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

    正确答案:D

  • 第21题:

    数据定义如下:BUF1 DB 10 BUF2 DW 20DUP(?) 实现将BUF1单元的内容与BUF2开始的条三个字节单元内容相比较的指令是()。

    • A、CMP BUF1,BYTE PTR BUF2+3
    • B、MOV AL,BUF1 CMP AL,BUF2+2
    • C、MOV AL,BUF1 CMP AL,BYTE PTR BUF2+2
    • D、MOV AL,BUF1 CMP AL,BUF2+3

    正确答案:D

  • 第22题:

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

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

  • 第23题:

    问答题
    阅读下列一段程序,分析数据段中BUF, DDBUF, DWBUF各变量的属性,并指出它们各自所在的段首址与偏移地址。程序中的DDBUF EQU THIS DWORD 和DWBUF EQU WORD PRT BUF两条语句有何功能? DATA    SEGMENT   DDBUF   EQU  THIS  DWORD  BUF     DB   100   DUP(?)  DWBUF   EQU  WORD  PRT BUF  DATA    ENDS          ┆  FIRST   EQU  THIS  FAR         LEA  SI , BUF          ┆

    正确答案: 变量BUF为字节类型,它所在的段首址为DATA,偏移地址为0。变量DDBUF为双字节类型,它与BUF具有相同的段属性和偏移地址属性。变量DWBUF为字类型,它与BUF具有相同的段属性和偏移地址属性。
    DDBUF EQU THIS DWORD语句表明将紧跟它后面的字类型的变量BUF重新定义为双字类型,并命名为DDWBUF。
    DWBUF EQU WORD PRT BUF语句是将BUF重新定义为字类型,并命名为DWBUF。
    解析: 暂无解析