📄 fsc.asm
字号:
title ***简单密码输入进阶 by lluct***
data segment ;定义数据段
headmsg db ' ',0dh,0ah
db '+-----------------------------------------------------+',0dh,0ah
db '| .^-^. workgroup:fanshichao zhaifang lizhenchao .^-^.|',0dh,0ah
db '+-----------------------------------------------------+',0dh,0ah
db 0dh,0ah,' OUTPUT :','$'
input db 100 dup (?)
data ends
code segment
assume cs:code
assume ds:data
start_program:
mov ax,data
mov ds,ax
mov si,0
lea dx,headmsg ;输出头信息组
call dispchs ;调用显示字符串子程序
repeat_input: ;输入字符
mov ah,08h
int 21h
mov dl,2ah ;输出ascii码的*号
push ax
call dispch
pop ax
cmp al,0dh ;是否回车
je finished_input ;是就转移到finished_input
mov input[si],al
mov cl,4;加密,循环左移4位
rol input[si],cl
inc si
jmp repeat_input
finished_input: ;完成输出
mov input[si],24h ;给刚才输入的字符串加结束标志($)
call enter
lea dx,input ;输出
call dispchs
call enter
jmp exit
exit: mov ah,4ch ;终止当前程序并返回
int 21h
enter proc near ;显示回车换行子程序
mov dl,0dh
call dispch
mov dl,0ah
call dispch
ret
enter endp
dispch proc near ;显示单个字符子程序
mov ah,02h
int 21h
ret
dispch endp
dispchs proc near ;显示字符串子程序
mov ah,09h
int 21h
ret
dispchs endp
code ends ;代码段结尾
end start_program ;结束汇编
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -