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

📄 strmatch.asm

📁 汇编终结....此程序讲述了在软件开发的底层,如何通过汇编来开发高效的驱动程序
💻 ASM
字号:
CRLF	MACRO			;回车换行
	MOV DL,0DH
	MOV AH,02H
	INT 21H
	MOV DL,0AH
	MOV AH,02H
	INT 21H
ENDM
;
STACK	SEGMENT   STACK  'STACK';定义堆栈段
	DB  256 DUP(0)		;堆栈空间=256
STACK	ENDS 			;堆栈段结束
;
DATA	SEGMENT 		;定义数据段
MESS1	DB 'MATCH',0DH,0AH,'$'
MESS2	DB 'NO MATCH',0DH,0AH,'$'
MESS3	DB 'INPUT STRING1!',0DH,0AH,'$'
MESS4	DB 'INPUT STRING2!',0DH,0AH,'$'
MAXLEN1	DB 81
ACTLEN1	DB ?
STRING1	DB 81 DUP(?)
MAXLEN2	DB 81
ACTLEN2	DB ?
STRING2	DB 81 DUP(?)
DATA	ENDS			;数据段结束
;
CODE	SEGMENT 		;代码段说明
	ASSUME	CS:CODE,DS:DATA,SS:STACK ; 定义CS=代码段, 定义DS为数据段

START:	             		;EXE文件执行入口
	MOV  AX,DATA		;初始化数据段 ds=DS
	MOV  DS,AX		;ds=DS
	MOV  ES,AX
	mov  dx,offset MESS3
	mov  ah,09h		;功能号ah=9 (显示字符串)
	int  21h		;21h=DOS系统功能中断调用
	MOV AH,0AH
	MOV DX,OFFSET MAXLEN1	;输入串1
	INT 21H
	CRLF
	mov  dx,offset MESS4
	mov  ah,09h		;功能号ah=9 (显示字符串)
	int  21h		;21h=DOS系统功能中断调用
	MOV AH,0AH
	MOV DX,OFFSET MAXLEN2	;输入串2
	INT 21H
	CRLF
	CLD
	MOV SI,OFFSET STRING1
	DEC SI			;指向上一字节
	MOV CL,[SI-1]		;串1实际长度
	INC CL			;多比较一字节
	MOV CH,00H
KKK:	MOV DI,OFFSET STRING2
	DEC DI			;指向上一字节
	REPE CMPSB
	JZ GGG			;等,转移
	mov  dx,offset MESS2
	mov  ah,09h		;功能号ah=9 (显示字符串)
	int  21h		;21h=DOS系统功能中断调用
	JMP PPP
GGG:	mov  dx,offset MESS1
	mov  ah,09h		;功能号ah=9 (显示字符串)
	int  21h		;21h=DOS系统功能中断调用

PPP:	MOV	AH, 0		;读键入字符
	INT	16H		;若键盘缓冲区为空,一直等待键入字符

	mov  ax,4c00h		;DOS系统功能调用 4ch=终止程序,退出码=00H
	int  21h	     	;返回DOS
;
CODE	ENDS			;代码段结束
	END	START		;汇编结束

⌨️ 快捷键说明

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