itgle.com

数据段定义如下,要求实现取DA1的偏移地址送到SI寄存器中,下面的指令错误的是:()。 DA1 DB 50H DUP() DA2 DW DA1 (A) LEA SI,DA1 (B) MOV SI,OFFSET DA1 (C) MOV SI,DA2 (D) MOV SI,DA1

题目

数据段定义如下,要求实现取DA1的偏移地址送到SI寄存器中,下面的指令错误的是:()。 DA1 DB 50H DUP() DA2 DW DA1 (A) LEA SI,DA1 (B) MOV SI,OFFSET DA1 (C) MOV SI,DA2 (D) MOV SI,DA1


相似考题
更多“数据段定义如下,要求实现取DA1的偏移地址送到SI寄存器中,下面的指令错误的是:()。 DA1 DB 50H DUP() DA2 DW DA1 (A) LEA SI,DA1 (B) MOV SI,OFFSET DA1 (C) MOV SI,DA2 (D) MOV SI,DA1”相关问题
  • 第1题:

    下列程序执行后,SI寄存器中的内容是【 】。

    MOV SI,-1

    MOV CL,4

    SAL SI,CL

    AND SI,5FFOH

    OR SI,9FOFH

    NOT SI


    正确答案:2000H
    2000H

  • 第2题:

    若定义:DAT DW 1234H 和VALUE EQU 5678H,试问下列指令中有几条指令的源操作数为立即寻址方式? ( )。

    ①MOV SI,DAT

    ②MOV SI,VALUE

    ③MOV SI,VALUE AND OFFOH

    ④MOV SI,TYPE DAT

    A.1条

    B.2条

    C.3条

    D.4条


    正确答案:C

  • 第3题:

    设数据段中已有: DA1 DB 12H,34H DA2 DW 56H,78H 下面有语法错误的语句是( )

    A.ADR1 DWDA1

    B.MOV DA1+1,AX

    C.MOV BYTE PTR DA2+1,AL

    D.MOV WORD PTR DA1+1,AX


    正确答案:B
    解析:选项B的有错误,因为AX是16位的寄存器,它里面放的是以字为单位的。而DA1则是字节,所以要把字节转换为字的形式,转换后像选项D所示:MOVWORDPTRDA1+1,AX。或者把AX变为AH或AL,转换后为:MOVDA1+1,AH或MOVDA1+1,AL。

  • 第4题:

    已知A是一个变量,下列使用取偏移算符OFFSET错误的语句为()。

    • A、MOV SI,OFFSET A[DI]
    • B、MOV SI,OFFSET A
    • C、MOV SI,OFFSET A+1
    • D、MOV AX,OFFSET A

    正确答案:A

  • 第5题:

    设(DS)=1234H,(SI)=124,(12464H)=30ABH,(12484H)=464H。试写出下列程序段执行后有关寄存器的结果。LEA.SI,[SI]MOV.AX,[SI]MOV.[SI+22H],1200HLDS.SI,[SI+20H]ADD.AX,[SI](DS)=();(SI)=();(AX)=()。


    正确答案:(DS)= 1234H;(SI)= 144H ;(AX)=42ABH 。

  • 第6题:

    若数组ARRAY在数据段中已做如下定义:ARRAY  DW  200  DUP (1234H,3DUUP(?)),56ABH。指出下列语句执行后,各有关寄存器中的内容是多少? MOV  BX,OFFSET  ARRAY MOV  CX,LENGTH  ARRAY MOV  SI, 0    ADD  SI, TYPE   ARRAY


    正确答案:BX=数组ARRAY的偏移地址;CX=200;SI=2。

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

    一般程序如下:                ORG  2000H      ARY      DW   --4,3,--2,1   CNT      DW   $--ARY   VAR      DW   ARY,$+4          ┆           MOV  AX,ARY              MOV  BX,OFFSET VAR               MOV  CX,CNT               MOV  DX,VAR+2              LEA  SI,ARY            ┆   此程序段执行后,寄存器AX,BX,CX,DX与SI中的内容各是多少? 


    正确答案:AX=—4,BX=200AH,CX=8,DX=2010H,SI=2000H

  • 第9题:

    设数据段中已有:DA1 DB 12H,34H DA2 DW 56H,78H下面有语法错误的句是()。

    • A、ADR1 DW DA1
    • B、MOV DA1+1,AX
    • C、MOV BYTE PTRDA2+1,AL
    • D、MOV WORD PTR DA1+1,AX

    正确答案:B

  • 第10题:

    问答题
    假设用下列的程序段来清楚数据段中的偏移地址0000H~2000H号字存储单元中的内容(即将0送到这些存储单元中去)。 将第4条比较指令语句填写完整。  ┆  Next: MOV  SI,0  MOV   WORD  PTR[SI],0  ADD   SI,2  CMP   SI  JNE   NEXT  ┆

    正确答案: CMP SI,2002H
    解析: 暂无解析

  • 第11题:

    问答题
    设(DS)=1234H,(SI)=124,(12464H)=30ABH,(12484H)=464H。试写出下列程序段执行后有关寄存器的结果。LEA.SI,[SI]MOV.AX,[SI]MOV.[SI+22H],1200HLDS.SI,[SI+20H]ADD.AX,[SI](DS)=();(SI)=();(AX)=()。

    正确答案: (DS)= 1234H;(SI)= 144H ;(AX)=42ABH 。
    解析: 暂无解析

  • 第12题:

    问答题
    DA1 DB 20H DUP(?) DA2 DW 10H,45H,7856H 请用两种方法,分别只用一条指令实现将DA1数据区中数据个数送入CX。

    正确答案: BUFFER DB 2DUP(0,2DUP(1),2,3)
    解析: 暂无解析

  • 第13题:

    现有一数据定义语句: DA1 DB 35H,37H能与上述语句等效的语句或语句序列有______。

    A.MOV DA1,37H MOV DA1+1,35H

    B.MOV WORD PTR DA1,3537H

    C.MOV WORD PTR DA1,‘57’

    D.MOV DA1,‘5’ MOV DA1+1,‘7’


    正确答案:C

  • 第14题:

    交换寄存器SI,DI的内容,正确的程序段是( )

    A.PUSH SI PUSH DI POP SI POP DI

    B.PUSH SI PUSH DI, POP SI,DI

    C.MOV AX,SI MOV SI,DI MOV DI,AX

    D.MOVAX,SI MOV BX,DI XCHG BX,AX


    正确答案:A
    解析:在堆栈中,无论是压人还是弹出,都必须以字为单位进行,即一次压人必须压入堆栈一个字,弹出时,也必须从堆栈中取出一个字。所以选项B是错误的;在串操作指令中,SI用作源变址寄存器,DI用作目的地址寄存器,所以选项C是错误的;选项D交换的是AX寄存器和BX寄存器里的内容,不符合题意;只有选项A是正确的,它依次把SI和DI的值推进栈中,然后把DI的值弹出来给SI,把SI的值弹出来给DI,即完成了SI和DI内容的交换。

  • 第15题:

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

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

    正确答案:D

  • 第16题:

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

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

    正确答案:C

  • 第17题:

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

  • 第18题:

    假设用下列的程序段来清楚数据段中的偏移地址0000H~2000H号字存储单元中的内容(即将0送到这些存储单元中去)。 将第4条比较指令语句填写完整。  ┆  Next: MOV  SI,0  MOV   WORD  PTR[SI],0  ADD   SI,2  CMP   SI  JNE   NEXT  ┆


    正确答案:CMP SI,2002H

  • 第19题:

    语句DA1DB2DUP(4,6),5汇编后,与该语句功能等同的语句是()。

    • A、DA1 DB 4,6,5
    • B、DA1 DB 2,4,6,5
    • C、DA1 DB 4,6,4,6,5
    • D、DA1 DB 4,6,5,4,6,5

    正确答案:C

  • 第20题:

    DA1 DB 20H DUP(?) DA2 DW 10H,45H,7856H 请用两种方法,分别只用一条指令实现将DA1数据区中数据个数送入CX。


    正确答案: BUFFER DB 2DUP(0,2DUP(1),2,3)

  • 第21题:

    单选题
    DA1 DW 2A05H DA2 DB 0FAH┇MOV AL,BYTE PTR DA1 SUB DA2,AL上述指令执行后,DA2中的内容是()。
    A

    0DAH

    B

    0FAH

    C

    0F5H

    D

    0D0H


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

  • 第22题:

    问答题
    若数组ARRAY在数据段中已做如下定义:ARRAY  DW  200  DUP (1234H,3DUUP(?)),56ABH。指出下列语句执行后,各有关寄存器中的内容是多少? MOV  BX,OFFSET  ARRAY MOV  CX,LENGTH  ARRAY MOV  SI, 0    ADD  SI, TYPE   ARRAY

    正确答案: BX=数组ARRAY的偏移地址;CX=200;SI=2。
    解析: 暂无解析

  • 第23题:

    问答题
    一般程序如下:                ORG  2000H      ARY      DW   --4,3,--2,1   CNT      DW   $--ARY   VAR      DW   ARY,$+4          ┆           MOV  AX,ARY              MOV  BX,OFFSET VAR               MOV  CX,CNT               MOV  DX,VAR+2              LEA  SI,ARY            ┆   此程序段执行后,寄存器AX,BX,CX,DX与SI中的内容各是多少?

    正确答案: AX=—4,BX=200AH,CX=8,DX=2010H,SI=2000H
    解析: 暂无解析

  • 第24题:

    填空题
    阅读程序,说明程序执行后AL,CL,CH,BL的值;DA1 DB83H,72H,61H,94H,5AHMOV CX,WORD PTR DA1AND CX,OFHMOV AL,DA1 +3MOV BL,DA1上述指令序列执行后,AL=(),CL=(),CH=(),BL=()

    正确答案: 94H, 03H,OOH,83H
    解析: 暂无解析