用汇编语言模拟密码输入:假设数据库中有密码5201314,用户输入一个字符串,显示的时候全都以*出现,然后判断用户输入的字符串是否与数据库中密码相同,若相同,输出“Password Right!”,否则输出 “Password Error!” 提示:将“Password Right!”、“Password Error!”以及5201314定义为字符串
时间: 2024-01-22 21:18:24 浏览: 152
模拟密码输入 5201314 汇编语言
以下是汇编语言的代码实现:
```
.model small
.stack 100h
.data
inputMsg db 'Please input password:', '$'
password db '5201314', '$'
rightMsg db 'Password Right!', '$'
errorMsg db 'Password Error!', '$'
star db '*', '$'
.code
main proc
mov ax, @data
mov ds, ax
; 输出提示信息
lea dx, inputMsg
mov ah, 09h
int 21h
; 获取用户输入
mov si, 0
lea di, password
mov cx, 7 ; 密码长度为7
inputLoop:
mov ah, 01h
int 21h
mov bl, al
cmp bl, 0dh ; 判断是否按下回车键
je checkPassword
; 显示*
lea dx, star
mov ah, 09h
int 21h
; 将用户输入存入内存中
mov [di+si], bl
inc si
loop inputLoop
checkPassword:
; 比较用户输入和密码
cmp di, password
je passwordRight
; 输出密码错误信息
lea dx, errorMsg
mov ah, 09h
int 21h
jmp exitProgram
passwordRight:
; 输出密码正确信息
lea dx, rightMsg
mov ah, 09h
int 21h
exitProgram:
mov ah, 4ch
int 21h
main endp
end main
```
阅读全文