文档详情

汇编 字符串比较实验.doc

发布:2017-06-19约3.8千字共4页下载文档
文本预览下载声明
实验3. 字符串比较实验 1.实验内容与要求 程序员在屏幕上分别输入两行字符串,比较两个字符串,输出其中相同的字符,并统计个数。要求相同的字符大于10(即统计数要两位)。并且每行都要有提示信息。 2.源代码 DATAS SEGMENT ??? STR1??? DB 100,?,100 DUP(?)?????????????????????????? ;定义字符串 ??? STR2??? DB 100,?,100 DUP(?) ??? STR3??? DB 100 DUP(?)???????????????????????????????? ;存放含相同字符的新字符串 ??? INS1??? DB Input the first str: $?????????????????? ;提示信息 ??? INS2??? DB Input the second str: $ ??? OUTCNT? DB Num of the same elem: $ ??? OUTELM? DB The same elems are: $ ??? CRLF??? DB 0DH,0AH,$???????????????????????????????? ;回车换行 ??? COUNT?? DB 0?????????????????????????????????????????? ;未过滤字符串的长度 ??? NUM???? DB 0 ??????????????????????????????????????????;过滤后字符串的长度 DATAS ENDS CODES SEGMENT ??? ASSUME CS:CODES,DS:DATAS START: ??? MOV AX,DATAS ??? MOV DS,AX ??? MOV AH,9 ??? LEA DX,INS1 ??? INT 21H?????????????????? ;显示输入提示信息 ??? MOV AH,0AH ??? LEA DX,STR1 ??? INT 21H?????????????????? ;输入原字符串 ??? MOV AH,9 ??? LEA DX,CRLF?????????????? ;回车换行 ??? INT 21H ? ??? MOV AH,9 ??? LEA DX,INS2 ??? INT 21H ??? MOV AH,0AH ??? LEA DX,STR2 ??? INT 21H ??? MOV AH,9 ??? LEA DX,CRLF ??? INT 21H ??? ??? MOV CL,STR1+1???????????? ;把字符串长度送到CL,BL ??? XOR CH,CH ??? MOV BL,STR2+1 ??? XOR BH,BH ??? LEA SI,STR1+2???????????? ;把字符串首地址送到SI,DI ??? LEA DI,STR2+2 ??? LEA BP,STR3?????????????? ;把目标字符串首地址送BP ??? CMP2:???????????????????? ;外部循环 ??? CMP1:???????????????????? ;内部循环 ??? MOV AL,[SI]???? ??????????;逐一比较两字符串的每个字符 ??? CMP AL,[DI] ??? JNE NEXT????????????????????????????? ??? MOV AH,[SI] ??? MOV [BP],AH ??? INC BP ??? INC COUNT???????????????? ;统计STR3的长度 NEXT:INC DI ???? DEC BL ???? JZ? OVER1 ???? JMP CMP1 ???? OVER1:?????????????????? ;重新设置内部循环次数,并重新定位DI指针 ???? INC SI ???? MOV BL,STR2+1 ???? LEA DI,STR2+2 ???? LOOP CMP2 ???? MOV AH,9???????????????? ;输出结果提示信息 ???? LEA DX,OUTELM ???? INT 21H ???? call clear?????????????? ;调用过滤字符串子程序,并输出 ???? MOV AH,9???????????????? ;输出相同字符个数 ???? LEA DX,OUTCNT ???? INT 21H ???? XOR AH,AH ???? MOV AL,NUM ???? CALL DISPLAY????????????? ;处理输出结果,使输出两位数字 ??? ??? MOV AH,
显示全部
相似文档