📄 作业(密码).asm
字号:
data segment
head db 'ENTER YOUR PASSWORD:$';提示信息
password db '196569$' ;定义密码
input db 100 dup (?) ;用户从键盘输入密码
R db 'OK!$' ;定义输入密码正确后显示出来的信息
E db 'ILLICIT USER!$' ;定义输入密码错误后显示出来的信息
data ends
code segment
assume cs:code , ds:data
start: mov ax,data
mov ds,ax
lea dx,head
mov ah,09h ;9号功能调用,显示head字符串
int 21h
mov si,0 ;SI指向密码的首字符,SI置0
repeat: mov ah,01h
int 21h ;01号调用 从键盘输入字符
cmp al,0dh ;输入是否结束?输入字符放到AL中
je finish ;输入结束
mov input[si],al ;输入字符放到IMPUT[SI]中
inc si ;????????????
jmp repeat ;直接转移到REPEAT
finish: mov input[si],24h
mov dl,0dh ;回
mov ah,02h ;车
int 21h ;换
mov dl,0ah ;行
mov ah,02h
int 21h ;????????????
mov si,0
mov di,0
mov cx,7
check: cmp cx,0
je right
mov bl,input[si]
mov dl,password[di]
cmp dl,bl
jne error
inc si
inc di
dec cx
jmp check
right: lea dx,R
mov ah,09h ;9号功能调用,显示R字符串
int 21h
mov ah,4ch ;终止当前程序并返回
int 21h
error: lea dx,E
mov ah,09h ;9号功能调用:显示E字符串
int 21h
mov ah,4ch ;终止当前程序并返回
int 21h
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -