单选题设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5个字节单元内容分别是44H,43H,42H,41H。执行REPNZ SCASB指令后,正确的结果是()。ADI=0104H,CX=0000HBDI=0103H,CX=0001HCDI=0102H,CX=0002HDDI=0101H,CX=0003H

单选题
设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5个字节单元内容分别是44H,43H,42H,41H。执行REPNZ SCASB指令后,正确的结果是()。
A

DI=0104H,CX=0000H

B

DI=0103H,CX=0001H

C

DI=0102H,CX=0002H

D

DI=0101H,CX=0003H


参考解析

解析: 暂无解析

相关考题:

现有数据存储如下:(30100H)=20H,(30101H)=38H,(30102H)=41H,(30103H)=55H设AL=01H,BX=0100H,DS=3000H执行换码指令XLAT后正确的结果是()。 A、AL=20HB、AL=38HC、AL=00HD、AL=41H

请编制程序,其功能为:内存中连续存放着20个无符号字节数,求它们的和。和值按字的形式存放,此前先按序存放参加运算的20个字节。例如;内存中有:01H,02H,03H ……结果为:01H,02H,03H …… (参加运算的字节),后跟一个字(为前面各字节的和)部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1.DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END之间补充使其完整,完成要求的功能。或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终产生运行结果。部分程序如下:;PROG1.ASMEXTRN LOAD:FAR,SAVE:FARN EQU 20DSEG SEGMENTSOURCE DW N DUP (?)RESULT DW N DUP (0)NAME0 DB 'INPUT1.DAT',0NAME1 DB 'OUTPUT1.DAT',0DSEG ENDSSSEG SEGMENT STACKDB 256 DUP (?)SSEG ENDSCSEG SEGMENTASSUME CS:CSEG, DS:DSEG;SS;SSEGSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX, DSEGMOV DS,AXLEA DX,SOURCELEA SI,NAME0MOV CX,NCALL LOAD; *** BEGIN ***LEA SI,SOURCELEA DI,RESULTMOV CX,NMOV BX,0NEXT: MOV AL,[SI]________________________MOV [DI],______________________________LOOP NEXTMOV [DI],______; *** END ***LEA DX,RESULTLEA SI,NAME1MOV CX,N+2CALL SAVERETSTART ENDPCSEG ENDSEND START

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

试题要求如下:请编制程序,其功能是:从20个有符号字节数据中取出负数并计算其绝对值之和(字型),然后存放在指定的内存区中,多余的空间填0。例如:内存中有:80H,02H,00H,7CH,7BH,81H……结果为: 80H,FEH,FDH,05H,00H,00H……部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算的结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。补充BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序进行汇编,并与IO.OBJ链接产生执行文件,最终运行程序产生结果。调试中发现整个程序中存在错误之处,请加以修改。试题程序:EXTRN LOAD: FAR, SAVE: FARN EQU 20STAC SEGMENT STACKDB 256 DUP (?)STAC ENDSDATA SEGMENTSOURCE DB N DUP(?)RESULT DB N DUP(0)NAME0 DB 'INPUT1.DAT', 0NAME1 DB 'OUTPUT1.DAT', 0DATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATA, SS: STACSTART PROC FARPUSH DSXOR AX, AXPUSH AXMOV AX, DATAMOV DS, AXMOV ES, AXLEA DX, SOURCE ; 数据区起始地址LEA SI, NAME0 ; 原始数据文件名MOV CX, N ; 字节数CALL LOAD ; 从'INPUT1.DAW'中读取数据**** BEGIN ****LEA SI, SOURCELEA DI, RESULTMOV DX, 0MOV CX, NCLDCON: LODSB(1)JGE (2)MOV [DI], ALINC DI(3)INC DIADD DL, AL(4)NEXT: LOOP CONMOV [DI], DXADD DI, 2MOV CX, 40SUB CX, DIMOV AL, (5)(6); **** END ****LEA DX, RESULT ; 结果数据区首址

请编制程序,其功能是:内存中连续存放着20个ASCⅡ字符,如果是小写字母a~z之间的字符(包括字母a和z),请把它们转换成相应的大写字母所对应的ASCⅡ字符;若为其他字符,不作转换。例如:内存中有:61H('a'),62H('b'),31H('1'),41H('A'),42H('B')…结果为: 41H('A'),42H('B'),31H,41H,42H…部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已给出的源程序使其完整,空白处已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ连接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序存在错误之处,请加以修改。【试题程序】EXTRN LOAD:FAR,SAVE:FARN EQU 20STAC SEGMENT STACKDB 128 DUP (?)STAC ENDSDATA SEGMENTSOURCE DB N DUP(?)RESULT DB N DUP(0)NAME0 DB 'INPUT1.DAT',0NAME1 DB 'OUTPUT1.DAT',0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXLEA DX,SOURCE ; 数据区起始地址LEA SI,NAME0 ; 原始数据文件名MOV CX,N ; 字节数CALL LOAD ; 从"INPUT.DAT"中读取数据; ******** BEGIN ********LEA SI, SOURCELEA DI, RESULTMOV CX, NNEXT: MOV AL,[SI]CMP AL,'a'JB (1)CMP AL, (2)J (3) UPPER2SUB AL, (4)UPPER2: HOV [DI], (5)INC (6)INC (7)(8) NEXT; ******** END ********LEA DX,RESULT ; 结果数据区首址LEA SI,NAME1 ; 结果文件名MOV CX,N ; 结果字节数CALL SAVE ; 保存结果到文件RETSTART ENDPCODE ENDSEND START

请编制程序PROG1.ASM,其功能是:对一个由可打印ASCII字符(ASCII码20H-7FH)组成的字符串可采用下列方法进行压缩:从串首开始向后扫描,如某字符单独出现则该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,〈原字符〉三个字节来代替(假定n不超过255)。设内存中从SOURCE开始有一用上述方法压缩的字符串,其以00H结束,解压后长度不超过 100。试编程对其解压缩,结果存入RESULT开始的内存单元。例如:原串:41H,1BH,06H,43H,61H,00H解压后:41H,43H,43H,43H,43H,43H,43H,61H,00H("ACCCCCCa")部分程序已在PROG1.ASM中给出,请填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但功能相当的多条指令亦可)或删除BEGIN和 END之间原有的代码并自行编写程序片段来完成要求的功能。原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。对程序必须进行汇编,并与IO.OBI链接产生PROG1.EXE执行文件,最终运行程序产生结果 (无结果或结果不正确者均不得分)。PROG1.ASM文件内容如下:EXTRN LOAD:FAR,SAVE:FARN EQU 100ESC_CODE EQU 27STAC SEGMENT STACKDB 128DUP(?)STAC ENDSDATA SEGMENTSOURCE DB N DUP(0)RESULT DB N DUP(0)NAME0 DB 'INPUT1.DAT',0NAME1 DB 'OUTPUT1.DAT',0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV ES,AX ;置附加段寄存器LEA DX,SOURCE ;数据区起始地址LEA SI,NAME0 ;原始数据文件名MOV CX,N ;字节数CALL LOAD ;从'input1.DAT'中读取数据;* * * * BEGIN * * * *LEA SI,SOURCELEA DI,RESULTCLDLO: LODSBCMP AL,0JE QUITCMP AL,ESC_CODE_____ EXPAND_____ _____JMP LOEXPAND: _____ _____ ;解压XOR CX,CX_____ _____

设AL=0EOH,CX=3,执行RCL,AL,CL指令后,CF的内容为( )。A.0B.1C.不变D.变反

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

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

设AL=0E0H,CX=3,执行RCL AL,CL指令后,CF的内容为______。A.0B.1C.不变D.变反

现行数据段位于存储器B0000H~B0FFEH字节单元,则段寄存器DS的内容及该段长度(字节数)分别为()A、B000H,B0FFHB、0000H,0FFFHC、B000H,0FFFHD、B000H,00FFH

设内存11000H-11005H单元内容全为36H,写出如下程序的运行结果,并指出该程序段的功能。 MOV AX, 1000HMOV DS, AXMOV ES, AXCLDMOV SI, 1000HMOV DI, 1020HMOV CX, 06HREP MOVSB1NT 3结果为:SI()DI()(11021H)= ()程序功能是:()

已知(DS)=2000H,(ES)=4500H,(SI)=0A20H,(BX)=0400H,(SS)=3000H,(BP)=0020H,数据段中的字单元COUNT偏移地址为0020H,那么OR AX,CX指令的源操作数的寻址方式是什么?其物理地址是多少?

假设(CS)=3000H,(DS)=4000H,(ES)=2000H,(SS)=5000H,(AX)=2060H,(BX)=3000H,(CX)=0005H,(DX)=0,(SI)=2060H,(DI)=3000H,(43000H)=06H,(43001H)=0A0H,(23000H)=16H,(23001H)=0B1H,(SP)=0FFFEH,(CF)=1,(DF)=1 执行指令:ADC AX,WORD PTR [SI+0FA0H]后,AX寄存器的内容:(),标志状态:SF=(),ZF=(),OF=(),CF=(),PF=(),AF=()。

设(DS)=1000H,(ES)=2000H,(SS)=3000H,(BX)=5000H,(BP)=6000H,(DI)=0001H,内存单元中,(21000H)=1234H,(36000H)=9ABCH,(16000H)=9657H,(41002H)=789AH。则MOV AX,ES:[1000H]执行时操作数的物理地址为多少?

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

下列指令完成什么功能?  MOV AX,00FFH AND 1122H+3344H  MOV AL,15 GE 1111B  MOV AX,00FFH LE 255+6/5  AND AL, 50 MOD 4  OR AX, 0F00FH AND 1234 OR 00FFH

现行数据段位于存储器B0000H到B0FFFH字节单元,则段寄存器DS的内容及该段长度(字节数)分别为()A、B000H,1000HB、0000H,0FFFHC、B000H,0FFFHD、B000H,00FFH

阅读下面的程序,回答问题 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个字节单元中的内容是什么?

设(DS)=1000H,(ES)=2000H,(SS)=3000H,(BX)=5000H,(BP)=6000H,(DI)=0001H,内存单元中,(21000H)=1234H,(36000H)=9ABCH,(16000H)=9657H,(41002H)=789AH。则MOV AX,[BP]执行后(AX)等于多少?

阅读下面的程序,回答问题 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个字节单元中的内容是什么?

比较DS段和ES段中的两个字节字符串,它们分别放在DS段中从FLAGS和ES段中从STATUS开始的单元,设单长度=5。试比较它们是否一样,若不一样,找出出现不一样时的位置,并记入DS段中的POINT单元。

设(DS)=1000H,(ES)=2000H,(SS)=3000H,(BX)=5000H,(BP)=6000H,(DI)=0001H,内存单元中,(21000H)=1234H,(36000H)=9ABCH,(16000H)=9657H,(41002H)=789AH。则MOV AX,[BX+DI]执行时操作数的物理地址为多少?

DF=0,执行MOVSB指令后()A、SI减1,DI减1B、SI加1,DI加1,CX减1C、SI减1,DI减1,CX减1D、SI加1,DI加1,CX加1

设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5个字节单元内容分别是44H,43H,42H,41H。执行REPNZSCASB指令后,正确的结果是()。A、DI=0104H,CX=0000HB、DI=0103H,CX=0001HC、DI=0102H,CX=0002HD、DI=0101H,CX=0003H

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

填空题设内存11000H-11005H单元内容全为36H,写出如下程序的运行结果,并指出该程序段的功能。 MOV AX, 1000HMOV DS, AXMOV ES, AXCLDMOV SI, 1000HMOV DI, 1020HMOV CX, 06HREP MOVSB1NT 3结果为:SI()DI()(11021H)= ()程序功能是:()