A-A+
对于下列程序段: AGAIN:MOV ES:[DI] AL INC DI LOOP AGAI
问题详情
对于下列程序段: AGAIN:MOV ES:[DI],AL INC DI LOOP AGAIN 可用指令______完成相同的功能。()
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的功能与题中的功能不同。