一个密码核对小程序,高手们帮忙看下(菜鸟提问)
要求:就是在终端输入一个8位的密码,正确便提示right错误便重新输入!
我写的东东:
;testpwd.asm
stack segment stack
dw 512 dup(?)
stack ends
data segment
password db '19850924'
hidepass db '*'
abc db 16 dup(?)
rightresult db 'right',0dh,0ah,'$'
wrongresult db 'wrong',0dh,0ah,'$'
data ends
code segment 'code'
assume cs:code,ds:data,ss:stack,es:data
input: mov ax,data
mov ds,ax
mov es,ax
mov cx,8
cld
mov si,offset password
mov di,offset abc
mov ah,7 ;调用7号功能,每输入一个密码用*显示
int 21h
mov dx,offset hidepass
mov ah,9
int 21h
stosb
cmpsb
jnz unmat
dec cx
jnz input
mov bl,12h
jmp output
unmat: mov bl,0ffh
output: cmp bl,12h
je right
jne wrong
right: mov dx,offset rightresult
mov ah,9
int 21h
jmp exit
wrong: mov dx,offset wrongresult
mov ah,9
int 21h
exit: mov ax,4c00h
int 21h
code ends
end input
现在随便输入一个就显示(right 下一行显示 wrong)
我想应该是中间的跳转有问题,可我没有解决,特来请教