login.asm

来自「汇编语言」· 汇编 代码 · 共 56 行

ASM
56
字号
#make_COM#

; COM file is loaded at CS:0100h
; (the value of CS is set by Operating System)
		ORG 100h
		JMP	START
DISUSR	DB	'UserName:','$'
DISPWD	DB	0DH,0AH,'PassWard:','$'
USR		DB	'Username'
PWD		DB	'Password'
OK		DB	0DH,0AH,0DH,0AH,'LOGIN OK!','$'
FAIL	DB	0DH,0AH,0DH,0AH,'LOGIN FAIL!','$'
INUMAX	DB	9
INUREAL	DB	?
INUSR	DB	8 DUP(?)
INPMAX	DB	9
INPREAL	DB	?
INPWD	DB	8 DUP(?)
START:	MOV	DX,	OFFSET DISUSR		;提示输入账号
		MOV	AH,	09H
		INT	21H
		MOV	DX,	OFFSET INUMAX		;输入账号
		MOV	AH,	0AH
		INT	21H
		MOV	DX,	OFFSET DISPWD		;提示输入密码
		MOV	AH,	09H
		INT	21H
		MOV	DX,	OFFSET INPMAX		;输入密码
		MOV	AH,	0AH
		INT	21H
		CALL 	LOGIN				;判断登录是否成功
		MOV	AH,	09H					;显示登录是否成功
		INT	21H
		MOV	AH,	4CH
		INT	21H
		
LOGIN	PROC	NEAR
		LEA	SI,	USR
		LEA	DI,	INUSR
		MOV	CX,	8		
		REPE	CMPSB
		JZ	USROK					;用户名正确	
		MOV	DX,	OFFSET	FAIL
		RET		
USROK:	LEA	SI,	PWD
		LEA	DI,	INPWD
		MOV	CX,	8	
		REPE	CMPSB
		JZ	PWDOK					;密码正确	
		MOV	DX,	OFFSET	FAIL
		RET		
PWDOK:	MOV	DX,	OFFSET	OK
		RET			
LOGIN	ENDP

⌨️ 快捷键说明

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