更多“有一段程序如下: MOV CX,100 LEA S”相关问题
  • 第1题:

    执行以下程序段后,(AX)=( )。 MOV AX,0 MOV BX,1 MOV CX,100 A: ADD AX,BX INC BX LOOP A HLT

    A.5000

    B.5050

    C.5100

    D.5150


    正确答案:B

  • 第2题:

    执行下列程序后,(CX)=( )。 DATA SEGMENT A DW 1, 2, 3, 4, 5 B DW 5 DATA SEGMENT CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX LEA BX, A ADD BX, B MOV CX, [BX] MOV AH, 4CH INT 21H CODE ENDS END START

    A.400

    B.0

    C.10

    D.100


    正确答案:A
    解析:当执行指令“LEABX,A”时,将A相对数据段首地址的偏移量0送入BX寄存器,执行指令“ADDBX,B”后,(BX)=5。再执行指令“MOVCX,[BX]”时,由于源操作数是寄存器间接寻址方式且该指令为字传送指令,因此应将相对数据段首地址、偏移地址为0005的内容0400送入CX寄存2S。所以上述程序执行完后,(CX)=400。

  • 第3题:

    假设ES段中有一个字符串‘ILOVESWIM’,其名为ARRAY,下面程序段 CLD LEA DI,ES:ARRAY MOV AL,‘W’ MOV CX,9 REPNE SCASB HLT 执行后,CX的值是______。

    A.2

    B.6

    C.7

    D.9


    正确答案:A
    解析:本题程序段实现搜索字符串‘ILOVESWIM’中的‘W’字符。直到找到它,停止搜索,(CX)=2。CX寄存器中的值是剩下的未比较的字符个数。

  • 第4题:

    阅读下列程序段,假定AX=-110,CX=+8,执行该程序后,问AX,DX分别是多少? MOV   AX,-110  MOV   CX,8  CWD     IDIV   CX


    正确答案:AX=-13(商),DX=-6(余数)

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

    源程序如下: MOV CX,9 MOV AL,01H MOV SI,1000H NEXT:MOV[SI],AL INC SI SHL AL,1 LOOP NEXT 执行本程序后AL等于多少?SI等于多少?CX等于多少?


    正确答案:AL=0;SI=1009H;CX=0

  • 第7题:

    有一段程序如下: MOV CX,100 LEA SI,XSI MOV DI,OFFSET CLD REP MOVSW REP执行是完成什么操作?


    正确答案:REP实现的操作室重复执行MOVSW,.具体的操作室CX←CX-1,若CX≠0则重复执行MOVSW,否则结束。

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

    源程序如下: MOV CX,9 MOV AL,01H MOV SI,1000H NEXT:MOV[SI],AL INC SI SHL AL,1 LOOP NEXT 本程序的功能是什么?


    正确答案:对数据段内1000H~1008H单元置数,依次送入1,2,4,8,16,32,64,128,0共九个

  • 第10题:

    有一段程序如下: MOV CX,100 LEA SI,XSI MOV DI,OFFSET CLD REP MOVSW 该程序段完成了什么功能?


    正确答案:该程序段实现将从DS:XSI存储单元开始的200个字数据转移到ES:XS2开始的存储区中。

  • 第11题:

    问答题
    程序段如下: BLK1 DB 46,84,34,-5,20,122,73 : MOV CX,7 LEA S1,BLK1 NEXT:MOV AL,[SI] INC SI TEST AL,81H LOOPZ NEXT MOV BL,[SI] : 请回答程序段运行后: (AL)=? (BL)=?

    正确答案: (AL)=-5或0FBH
    (BL)=14H或20
    解析: 暂无解析

  • 第12题:

    问答题
    一般程序如下:                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
    解析: 暂无解析

  • 第13题:

    执行下列指令后,(CX)的值为______。 TABLE DW 10,20,30,40,50 X DW 3 LEA BX,TABLE ADD BX,X MOV CX,[BX]

    A.0030H

    B.0003H

    C.0020H

    D.0040H


    正确答案:D
    解析:(CX)的值就应该是BX中的值,程序段执行后,BX的值应该是TABLE数组中第四个值,因为定义的是字类型,所以最后(CX)的值是0040H。

  • 第14题:

    假设字符串'12FB3LM5C'存放在首地址为ES:ARRAY的内存空间。试问下面的程序段执行后,CX的值是( )。 CLD LEA DI,ES:ARRAY MOV AL,42H MOV CX,9 REPNE SCASB

    A.9

    B.5

    C.4

    D.0


    正确答案:B

  • 第15题:

    执行下列指令后,(CX)值为( )。 TABLE DW 10,20,30,40,50 X DW 3 LEA BX,TABLE ADD BX,X MOV CX,[BX]

    A.0030H

    B.0003H

    C.0020H

    D.0040H


    正确答案:D

  • 第16题:

    阅读下列一段程序,试问:AX,BX,CX分别是多少? ┆  A=10  MOV  AX, A        ┆  A=10-20 MOV  BX, A  A=10H  A=30H  MOV  CX, A


    正确答案:AX=10,BX=0FF6H,CX=30H.

  • 第17题:

    阅读下列程序段,注释指令中属性分离符的功能。 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

  • 第18题:

    源程序如下: MOV AX,SEG TABLE;TABLE为表头 MOV ES,AX MOV DI,OFFSET TABLE MOV AL,"0" MOV CX,100 CLD REPNE SCASB 该段程序执行完毕之后,ZF和CX有几种可能的数值?各代表什么含义?


    正确答案: Z.F=1,说明已找到字符
    Z.F=0,说明未找到字符
    C.X=0,说明中途已找到字符退出
    C.X=0,且ZF=0说明串中无字符"0"

  • 第19题:

    判断下列指令是否正确。若不正确,指出错误原因。  (1)MOV AX, [EBX]  (2)MOV SI, DL  (3)MOV EBP, [ESP][EAX*3] (4)LEA AX, 3006H   (5)MOV [BP][DI], 0    (6)MOV [SI], [DI]   (7)MOV ES, 1000H   (8)MOV AX, X+2  (9)MOV AX, CX+2    (10)MOV [EAX][EAX*2], AL 


    正确答案: (1)指令MOV AX, [EBX]是正确的。
    (2)指令MOV SI, DL是错误的,两个操作数类型不匹配。
    (3)指令MOV EBP, [ESP][EAX*3] 是错误的,比例因子不能为3。
    (4)指令LEA AX, 3006H是错误的,LEA指令的源操作数必须为内存操作数。
    (5)指令MOV [BP][DI], 0是错误的,操作数类型无法确定。
    (6)指令MOV [SI], [DI] 是错误的,不能同时出现两个内存操作数。
    (7)指令MOV ES, 1000H是错误的,装载段寄存器时,源操作数不能为立即数。
    (8)如果“X”是用常数表达式定义的符号(例如:X   EQU   5+6),或者是用“DW”定义的内存变量,指令MOV AX, X+2是正确的。否则这条指令是错误的。
    (9)指令MOV AX, CX+2是错误的,源操作数表达式CX+2不是一个可以直接计算的“常数表达式”。
    (10)指令MOV [EAX][EAX*2], AL是正确的。

  • 第20题:

    程序段如下: BLK1 DB 46,84,34,-5,20,122,73 : MOV CX,7 LEA S1,BLK1 NEXT:MOV AL,[SI] INC SI TEST AL,81H LOOPZ NEXT MOV BL,[SI] : 请回答程序段运行后: (AL)=? (BL)=?


    正确答案: (AL)=-5或0FBH
    (BL)=14H或20

  • 第21题:

    源程序如下: MOV AX,SEG TABLE;TABLE为表头 MOV ES,AX MOV DI,OFFSET TABLE MOV AL,"0" MOV CX,100 CLD REPNE SCASB 该段程序完成什么功能?


    正确答案: 从目的串中查找是否包含字符"0",若找到则停止,否则继续重复搜索。

  • 第22题:

    问答题
    阅读下列程序段,假定AX=-110,CX=+8,执行该程序后,问AX,DX分别是多少? MOV   AX,-110  MOV   CX,8  CWD     IDIV   CX

    正确答案: AX=-13(商),DX=-6(余数)
    解析: 暂无解析

  • 第23题:

    问答题
    阅读下列一段程序,试问:AX,BX,CX分别是多少? ┆  A=10  MOV  AX, A        ┆  A=10-20 MOV  BX, A  A=10H  A=30H  MOV  CX, A

    正确答案: AX=10,BX=0FF6H,CX=30H.
    解析: 暂无解析