📄 密码程序cx.asm
字号:
;******************************************;
; copyright@vivian_chan ;
; chen_xi 2006 ;
; ;
;******************************************;
data segment
string db 'stephanie'
buff db 20 dup(?)
msg1 db 'ok$'
msg2 db 'illigal user$'
data ends
stack segment para stack
db 100 dup(?)
stack ends
code segment
assume cs:code,ds:data,es:data,ss:stack
start:
mov ax,data ;数据段初始化
mov ds,ax
mov es,ax
lea di,buff ;取缓冲区首地址
input: ;input程序段将用户输入的密码存入缓冲区
mov ah,01h
int 21h
cmp al,0dh ;输入以回车结束
jz check
mov [di],al
inc di
jmp input
check: ;check段检查与预设密码是否匹配
push dx
mov dl,0ah
mov ah,02h
int 21h
pop dx
lea si,string ;分别载入密码和用户输入字符串的地址
lea di,buff
mov cx,9
cld ;标志位清零
repe cmpsb ;按字节比较字符串
jnz output2 ;若不相等,转至output2
mov dx,offset msg1 ;取msg1地址
jmp return ;密码匹配,转至return
output2: ;输出提示语illigal user
mov dx,offset msg2 ;取msg2地址
return:
mov ah,09h ;输出提示语ok
int 21h
mov ah,4ch ;返回DOS
int 21h
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -