已知DS=ES=2000H执行下列程序: MOV SI,301H MOV DI,300H MOV CX,4 CLD RE

题目
填空题
已知DS=ES=2000H执行下列程序: MOV SI,301H MOV DI,300H MOV CX,4 CLD REP MOVSB INT 3 DS:301H DB 22H,33H,44H,55H 程序运行后结果为:(20300H)=()H(20301H)=()H (20302H)=()H(20303H)=()H
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

假设字符串'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

第2题:

假设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寄存器中的值是剩下的未比较的字符个数。

第3题:

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

A.9

B.5

C.4

D.0


正确答案:B

第4题:

对于下列程序段: AGAIN:MOV AL,[SI] MOV ES: [DI],AL INC SI INC DI LOOP AGAIN 也可用指令______完成同样的功能。

A.REP MOVSB

B.REPE SCASB

C.REP STOSB

D.REP LODSB


正确答案:A
解析:该段程序的功能是将以DS:DI指向下一字符串送到ES:DI指向的内存区,和REPMOVSB功能相同。

第5题:

交换寄存器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内容的交换。

第6题:

下列程序执行后,(SI)为( )。 MOV CX,5 MOV SI,4 A1:INC SI INC SI LOOP A1

A.4

B.5

C.14

D.15


正确答案:C

第7题:

下列程序执行后,(SI)为( ) MOV CX,5 MOV SI,4 Al:INC SI INC SI LOOP AI

A.4

B.5

C.14

D.15


正确答案:C
解析:每执行LOOP一次,CX的值就自动减1,CX=5,所以A1循环体被执行5次,也就是SI的值加了10,即SI=14。

第8题:

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

A.PUSH SI

B.PUSH SI PUSH DI PUSH DI POP SI POP DI POP DI POP SI

C.MOV AX,SI

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


正确答案:A

第9题:

执行下面的程序段 MOV SP,2000H MOV Ax,OFOH MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT 之后,DH内容所在程序段的偏移地址是( )

A.1FFFH

B.1FFEH

C.1FFDH

D.1FFCH


正确答案:A
解析:一个字在寄存器中存储时低字节在前,高字节在后;在堆栈中存储时,高字节在高地址,低字节在低地址,即高字节在下,低字节在上;每次入栈操作SP-2,每次出栈操作SP+2。在本题中,经过PUSHSI后,SP=IFFEH,而又执行POPDI后,SP=2000H,所以最后执行PUSHDX后,SP=1FFEH,这时SP指向DL所在的偏移地址,而DH的偏移地址是1FFFH。

第10题:

已知DS=ES=2000H执行下列程序: MOV SI,301H MOV DI,300H MOV CX,4 CLD REP MOVSB INT 3 DS:301H DB 22H,33H,44H,55H 程序运行后结果为:(20300H)=()H(20301H)=()H (20302H)=()H(20303H)=()H


正确答案:22H;33H;44H;55H

更多相关问题