⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compare.asm

📁 好东西!!自家漫漫的研究
💻 ASM
字号:
CODE SEGMENT
							ASSUME CS:CODE,DS:CODE
							ORG 100H
							
		BEGIN:		JMP START	
							PARALIST   LABEL BYTE
							STR1LEN    DB		 51
							STR1ACT    DB	 	 ?
							STR1DATA   DB 	 50 DUP(?)
							
							STR2LEN    DB    51
							STR2ACT    DB    ?
							STR2DATA   DB    50 DUP(?)
							
							NEWLINE    DB    0DH,0AH,'$'
							
							RESULTY   DB    'Y$'
							RESULTN   DB    'N$'
							
							INFSTR    DB    'Input the first string:',0DH,0AH,'$'
							INSSTR    DB    'Input the second string:',07h,0DH,0AH,'$'
							
		START: 		MOV 			AX,CS
							MOV       DS,AX
							LEA       DX,INFSTR
							CALL      NEXTLINE
							MOV       AH,0AH                   ;Input string
							LEA 			DX,PARALIST              ;Input the first string
							INT 			21H 
							
							LEA 			DX,NEWLINE
							CALL 			NEXTLINE                ; To next line
							
							MOV 			DX,OFFSET INSSTR
							CALL 			NEXTLINE
							
							MOV 			AH,0AH                   ;Invok the 0AH founction                
							LEA 			DX,STR2LEN               ;Input the second string
							INT 			21H
							
							MOV 			BL,STR1ACT               ;Compare the two string's length
							CMP 			BL,STR2ACT
							JNE 			PRINTN;                  ;if not equals output 'N'
							
							XOR 			CX,CX
							MOV 			CL,STR1ACT               ;Set loop numbers
							
							XOR 			DI,DI                    ;Clear DI,BX to 0
							XOR 			BX,BX
							
							LEA 			BX,STR2DATA              ;Get the offest of STR2DATA
												
		COMPARE:	XOR 			AH,AH                    ;Clear AH to 0					
							MOV 			AX,WORD PTR STR1DATA[DI] 
							CMP 			[BX],AX                   
							JNE		 		PRINTN
							INC 			BX                       ;Add BX,DI by 1 
							INC				DI
							LOOP 			COMPARE                  ;If the current characters are equals, goto loop 
							
							LEA 			DX,NEWLINE
							CALL 			NEXTLINE                 ; To next line
							
							LEA 			DX,RESULTY               ;Output 'Y'
							CALL 			NEXTLINE
							
							MOV 			AX,4C00H
							INT 			21H
							
		PRINTN:		LEA 			DX,NEWLINE
							CALL 			NEXTLINE                ; To next line
		
							LEA		 		DX,RESULTN               ;Output 'N'
							CALL 			NEXTLINE
							
							MOV 			AH,4CH
							INT 			21H
	  
;****************New line***************
		NEXTLINE  PROC 			NEAR
							MOV 			AH,9H
							INT 			21H
							RET
		NEXTLINE  ENDP
		
CODE ENDS 
		END BEGIN 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -