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

📄 84.asm

📁 汇编的例子利用汇编工具可编译通过不知是否有
💻 ASM
字号:
.MODEL SMALL, C
.DATA
CR	EQU	0DH
MSG1	DB	"Welcome..."
MSG2	DB	"Invalid Password"
PSW1	DB	"HELLO"
BUFF	DB	10 DUP(?)
.CODE
Clear	PROC Near Uses AX BX CX DX	;清屏幕,并保护所用寄存器
	MOV	CL, 0
	MOV	CH, 0
	MOV	DL, 79
	MOV	DH, 24	;(0,0)-(24,79)是屏幕的左上角和右下角
	MOV	BH, 7
	MOV	AL, 0
	MOV	AH, 6
	INT	10H
	RET
Clear	ENDP
	.STARTUP
	MOV	AX, DS
	MOV	ES, AX
	XOR	BX, BX
again:
	MOV	AH, 0H
	INT	16H	;从键盘接受字符输入
	CMP	AL, CR
	JZ	next	;若按“回车“键,则结束密码输入
	CMP	BX, 10
	JZ	again	;若已接受了10个字符,则丢弃随后的字符
	MOV	BUFF[BX], AL
	INC	BX	;保存当前输入,并移动有关指针
	MOV	DL, '#'
	MOV	AH, 2
	INT	21H	;在屏幕上显示字符"#"
	JMP	again
next:
	CALL	Clear	;清屏幕,见例8.2中的过程定义
	.IF BX == 5
	   LEA	SI, PSW1
	   LEA	DI, BUFF
	   MOV	CX, BX
	   CLD
	   REPE	CMPSB	;比较字符串PSW1和BUFF
        .ENDIF
	.IF	ZERO?	;若字符串的相应字符相同
	   MOV	BP, OFFSET MSG1	;显示字符串首地址
	   MOV	BL, 09H	;显示字符颜色:蓝色
	   MOV	CX, 0AH	;显示字符串长度:10
	.ELSE
           MOV	BP, OFFSET MSG2	;显示字符串首地址
	   MOV	BL, 8CH	;显示字符颜色:闪烁、亮红色
	   MOV	CX, 10H	;显示字符串长度:16
	.ENDIF
	MOV	AL, 0
	MOV	BH, 0
	MOV	DH, 5
	MOV	DL, 20	;在位置(5,20)的位置开始显示字符串
	MOV	AH, 13H
	INT	10H	;使用中断10H之功能13H来显示字符串
	.EXIT	0
	END

⌨️ 快捷键说明

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