您的位置:逆风者 汇编技术 正文
原作者:www.upwinder.com 添加时间:2007-09-02 原文发表:2007-08-31 人气:20 来源:未知

title***简单密码输入 by lluct***
datasegment;定义数据段
input db 100 dup (?)
;定义输入的字符串,字符串必须用db定义,长度为100个字节
cmpare db '5201314','$'
;定义密码
msg1 db 'PASSWORD RIGHT!','$'
逆风编程精品
;定义输入密码正确后显示出来的信息
msg2 db 'PASSWORD ERROR!','$'
;定义输入密码错误后显示出来的信息
headmsg db 'ENTER YOUR PASSWORD:','$'
;头信息
dataends;数据段结尾

codesegment;定义代码段
assumecs:code;规定cs的内容
assumeds:data;规定ds的内容

start:movax,data;程序从start开始
movds,ax;ds置初值,data的段地址
movsi,0;变址寄存器置初值0

call enter;调用显示回车换行子程序
lea dx,headmsg;输出头信息字符串的偏移地址
call dispchs;调用显示字符串子程序
repeat:movah,01h
;定义repeat标号,用于循环输入单个字符.调用1号功能:从键盘输入一个字符并回显
int21h;完成输入回显
cmp al,0dh;输入的字符和cr(回车)比较
jefinish;如果等于回车就转移到finish
movinput[si],al;把al的置传送到input的si地址中(好像是这样吧)
incsi;si加1
jmprepeat;无条件转移到repeat
finish:movinput[si],24h;给输入完成的字符串加上结束标志($)
callenter

mov si,0;源变址寄存器置初值0
mov di,0;目的变址寄存器置初值0
mov cx,8;设置密码检查位数(结束标志也要算进去)
check: cmp cx,0;置位数为0.
je right;如果密码检查完成,转移到right
mov bl,input[si];把input的si地址中的数据传送到bl
mov dl,cmpare[di];把cmpare的di地址中的数据传送到dl
cmp dl,bl;dl和bl比较
jne error;如果不相等,就转移到error
inc si;si加1
inc di;di加1
dec cx;cx减1
jmp check;无条件转移到check

right: call enter
lea dx,msg1
call dispchs
call enter
jmp exit

error: call enter
lea dx,msg2
call dispchs
mov dl,07h;输出ascii码的报警(响铃)控制符bel(07h)
call dispch
call enter
jmp exit
exit:movah,4ch;4c号功能调用:终止当前程序并返回
int21h;返回dos

enterprocnear;显示回车换行子程序
movdl,0dh;输出ascii码的回车控制符cr(odh)
calldispch
movdl,0ah;输出ascii码的换行控制符lf(0ah)
calldispch
ret;返回
enterendp;子程序结尾

dispchprocnear;显示单个字符子程序
movah,02h;2号功能调用:显示器输出字符
int21h;完成输出显示
ret
dispchendp

dispchsprocnear;显示字符串子程序
movah,09h;9号功能调用:显示字符串
int21h;完成输出显示
ret
dispchsendp

codeends;代码段结尾
endstart;结束汇编

;把以上代码复制到记事本等文本程序中,并保存.(如passwrod.asm)
;编译:masm password.asm
;连接:link password.obj
;执行:password.exe

[1][2]下一页

相关文章

汇编源码--basmain
汇编源码--DOSMAC
专截320*200的截画程序
汇编源码--circle
汇编源码--COBLOAD
PRINT FILE PROGRAM (打印文件)
汇编源码--inthand
一个旋转的3D箱子(动画)
汇编源码--ctrladel
汇编源码--getseg_c
汇编源码--CLEANF
鼠标控制CD-Audio播放程序
汇编源码--DRIVER
汇编源码--CLEAR
简单的取系统时间小程序
汇编源码--dskwatch
汇编源码--BURNOUT
汇编源码--col
自己用汇编语言写的一个病毒(源码)
汇编源码--COMINT

相关评论


本文章所属分类:首页 汇编技术

  热门关键字:
进制数据输出的通用程序 2007-09-12
汇编源码--showmem 2007-08-31
汇编源码--CLEAN 2007-08-31
汇编源码--hdr 2007-08-31
汇编源码--basload 2007-08-31
汇编源码--CHAR 2007-08-31
汇编源码--fxn 2007-08-31
汇编源码--alarm 2007-08-31
汇编源码--getsect 2007-08-31
汇编源码--DEV 2007-08-31
汇编源码--getspace 2007-08-31
汇编源码--frespace 2007-08-31
CIH文件型病毒检测消除程序 2007-08-31
Mixer Volume Ctrler V1.0 2007-08-31
汇编源码--COMINT 2007-08-31
自己用汇编语言写的一个病毒(源码... 2007-08-31
汇编源码--col 2007-08-31
汇编源码--BURNOUT 2007-08-31