首页/ 题库 / [单选题]对于下列程序段: AGAIN:MOV E的答案

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

单选题
2022-01-01 07:55
A、REP MOVSB
B、REP LODSB
C、REP STOSB
D、REPE SCASB
查看答案

正确答案
C

试题解析
解析:该题给出的程序段的功能是,将累加器AL或AX中的一个字节或字传送到(存入)附加段中由DI指示的目的串中,同时修改DI内容,使其指向目的串的下一单元。而MOVSB的功能是将源串中由SI所指一个字或字节传送到由DI所指示的目的串中。执行后自动修改SI,DI地址指针。所以选项A的功能与题中的功能不同。而LODSB的功能是把位于DS段中由SI所指示的源串某一元素取到AL或AX中,同时修改SI内容使它指向下一元素,所以选项B的功能与题中的功能不相同。STOSB的功能是将累加器AL或AX中的一个字节或字传送到(存入)附加段中由DI指示的目的串中,同时修改DI内容,使其指向目的串的下一单元,所以选项C是正确的。SCASB的功能是从累加器AL或AX中减去ES中,由DI指示的目的串的一个元素,结果只影响标志位AF,CF,OF,PF,ZF和SF,而修改目的的串操作数,DI的内容自动被修改而指向下一串元素,所以选项D的功能与题中的功能不同。

标签:
感兴趣题目
程序执行到LF2后,BX和DX分别为( ) XOR DX,DX MOV BX,2 MOV CX,3 LP1: ADD DX,BX INC BX INC BX LOOP LP1 LP2:…
下列指令中有几条指令是不合法的?(12)。①MOV[SI),[DI]②IN AL,DX③JMP WORD PTR[BX]④PUSH WORD PTR 10[BX+2]
下列指令中( )指令是不合法的。①MOV SI,OFFSET [DI]②LEA SI,OFFSET [DI]③JMP SHORT PTR [BX]④CALL WORD PTR [BX]
8086/8088中ES、DI分别属于()。
设DS=8225H,DI=3942H,指令INC BYTE PTR [DI]操作数的物理地址是()
执行LEA  BX, [DI]指令和执行MOV  BX,  DI指令,哪条指令执行较快?
用DEBUG调试如下程序段: MOV SI,O MOV AL,1000[ SI] LP:INC SI CMP SI,08H JAE A11 CMP.AL,1000[SI] JGE A22 MOV AL,1000[SI] A22:JMP LP A11:INT 3 DS:1000H DB 34H,47H,78H,77H DB 88H,99H,OAAH,OFFH 则程序执行后,AL=()该程序的功能是:()
下列程序执行后,(SI)为( )。 MOV CX,5 MOV SI,4 A1: INC SI INC SI LOOP A1
已经定义数据段如下: DATASEGMENT NUM=56 X DB NUM Y DB 27 Z DW 148 DATAENDS 指出下列指令中的错误: (1)MOV Y,X (2)MOV BL,04B8H (3)MOV AL,Z (4)MOV [BX],3 (5)MOV [BX],[DI] (6)MOV DS,DATA (7)MOV NUM,AX (8)MOV ES,DS (9)MOV AX,FLAGS (10)MOV CS,AX

有一段程序如下:
MOV CX,100
LEA SI,XSI
MOV DI,OFFSET
CLD
REP MOVSW

REP和MOVSW那条指令先执行?

有一段程序如下:
MOV CX,100
LEA SI,XSI
MOV DI,OFFSET
CLD
REP MOVSW

MOVSW执行是完成什么操作?
欲交换寄存器SI,DI的内容,可用指令XCHGSI,DI实现。
相关题目
对于下列程序段:( ) AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN   也可用______指令完成同样的功能。
执行如下程序:( )    MOV AX,0 MOV BX,1 MOV CX,100 A:ADD AX,BX INC BX LOOP A HLT 执行后(BX)=( )
对于下列程序段: AGAIN:MOVVAL,[SI]]]]]]]MOVVES:[DI],ALLLLLLLINCCSIIIIIIIINCCDIII LOOPPAGAINNN 也可用______指令完成同样的功能。

请指出以下各指令的源、目的操作数所使用的寻址方式。
(1)MOV SI,2100H
(2)SBB DISP[BX],7
(3)AND [DI],AX
(4)OR AX,[609EH]
(5)MOV [BX+DI+30H],CX
(6)PUSH ES:[BP]
(7)CALL DISP[DI]

对于下列程序段: AGAIN:MOV ES:[DI],AL INC DI LOOP AGAIN 可用指令______完成相同的功能。( )
执行下列程序段后,AL=( )。 MOV AL,64 MOV CL,2 SHR AL,CL MOV CL,AL SHR AL,2 ADD AL,CL
执行下列程序段后,AL=( )。 MOV AL,64 MOV CL,2 SHR AL,CL MIOV CL,AL SHR AL,2 ADD AL,CL

分析下面程序段,
MOV AL,200
SAR AL,1
MOV BL,AL
MOV CL,2
SAR AL,CL
ADD AL,BL
试问程序段执行后
(BL)=?
(AL)=?

阅读下面的程序,回答问题
DATA SEGMENT
BUF DB '1234'
N=$-BUF
BCD DB N DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI,BUF
MOV CX,N
LEA DI,BCD+N-1
LOOP1:MOV AL,[SI]
SUB AL,30H
MOV [DI],AL
INC SI
DEC DI
DEC CX
JNE LOOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START

画出内存分配图。

阅读下面的程序,回答问题
DATA SEGMENT
BUF DB '1234'
N=$-BUF
BCD DB N DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI,BUF
MOV CX,N
LEA DI,BCD+N-1
LOOP1:MOV AL,[SI]
SUB AL,30H
MOV [DI],AL
INC SI
DEC DI
DEC CX
JNE LOOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START

说明程序功能,程序执行后,从BCD开始的N个字节单元中的内容是什么?

阅读下面的程序,回答问题
DATA SEGMENT
BUF DB '1234'
N=$-BUF
BCD DB N DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI,BUF
MOV CX,N
LEA DI,BCD+N-1
LOOP1:MOV AL,[SI]
SUB AL,30H
MOV [DI],AL
INC SI
DEC DI
DEC CX
JNE LOOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START

找出一条指令代替指令“SUB AL,30H”,使程序功能不变。

阅读下面的程序,回答问题
DATA SEGMENT
BUF DB '1234'
N=$-BUF
BCD DB N DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI,BUF
MOV CX,N
LEA DI,BCD+N-1
LOOP1:MOV AL,[SI]
SUB AL,30H
MOV [DI],AL
INC SI
DEC DI
DEC CX
JNE LOOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START

如果将代码段中的指令LEA DI,BCD+N-1改成LEA DI,BCD;DEC DI改成INC DI,其它指令不变,程序执行后,从BCD开始的N个字节单元中的内容是什么?

阅读下面的程序,回答问题
DATA SEGMENT
BUF DB '1234'
N=$-BUF
BCD DB N DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI,BUF
MOV CX,N
LEA DI,BCD+N-1
LOOP1:MOV AL,[SI]
SUB AL,30H
MOV [DI],AL
INC SI
DEC DI
DEC CX
JNE LOOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START

取消数据段的BCD存储区,将处理后的数据放回原处,应如何修改程序?
执行下列程序段后 MOV AL,87 MOV CL, 4 MOV AH, AL AND AL,0FH OR AL, 30H SHR AH,CL OR AH,30H 则AX=( )H

已知有程序段如下:
MOV AL,35H
MOV DL,AL
AND DL,0FH
AND AL,0F0H
MOV CL,4
SHR AL,CL
MOV BL,10
MUL BL
ADD AL,DL
执行之后,AL的值等于多少?该程序段完成了什么功能?

下面有4条指令:Ⅰ.MOV AL,[BX+SI+1AOH]Ⅱ.MOV AL,80H[BX][DI]Ⅲ.MOV AL,[BP+SI-0AOH]Ⅳ.MOV AL,[BP]其中(DS)=0930H,(SS)=0915H,(SI)=OAOH,(DI)=1COH,(BX)=80H,(BP)=470H。( )指令能在AL寄存器中获得相同的结果。
指出MOV AX,[SI+DI]指令的错误原因。
指出下列指令的错误:MOV AX,[SI][DI]

阅读下列程序,指出运行结果
MOV SI,2500H
MOV AX,1000H
MOV DS,AX
MOV CL,05H
NEXT:MOV[ SI] ,AL
INC AL
INC SI
DEC CL
JNZ NEX
TINT 3
程序运行后结果为:DS=()H SI=()HAX=()H CL=()H

执行下列程序段后,(DX)=( )。 MOV CX,8 MOV DX,12 LP: ADD DX,CX DEC CX LOOP LP
广告位招租WX:84302438

免费的网站请分享给朋友吧