.486
data segment use16
msg1 db 'please input your username:',0dh,0ah,'$'
msg2 db 'please input password:$',0dh,0ah,'$'
msg3 db 0dh,0ah,'------welcome!-----',0dh,0ah,'$'
msg4 db 0dh,0ah,'------error!-----',0dh,0ah,'$'
msg5 db 0dh,0ah,'$'
buf1 db 'a'
lll equ $-buf1
buf2 db '123'
mmm equ $-buf2
buf3 db 12
db ?
db 12 dup(?)
buf4 db 12 dup(?)
data ends
code segment use16
assume ds:data,cs:code
beg: mov ax,data
mov ds,ax
mov ah,9 ;提示輸入使用者的使用者名稱
mov dx,offset msg1
int 21h
mov ah,0ah ;接受鍵入使用者的使用者名稱
mov dx,offset buf3
int 21h
mov bx,offset buf1 ;系統中儲存的使用者名稱
mov si,offset buf3+2 ;輸入的使用者名稱
mov cx,lll ;使用者名稱的長度
next:mov al,[bx] ;逐位比較
cmp [si],al
jnz error
inc si
inc bx
loop next
mov ah,9 ;回車換行
mov dx,offset msg5
int 21h
mov ah,9 ;使用者名稱驗證正確,輸入密碼
mov dx,offset msg2
int 21h
mov cx,mmm
mov si,offset buf4 ;等待鍵入區
mov ah,9 ;回車換行
mov dx,offset msg5
int 21h
next1: mov ah,7 ;無回顯的輸入
int 21h
mov [si],al ;al存放按鍵的ascii碼
mov ah,2
mov dx,'*'
int 21h
inc si
loop next1
mov cx,mmm
mov bx,offset buf2 ;系統中儲存的密碼
mov si,offset buf4 ;鍵入的密碼
next2: mov al,[bx]
cmp [si],al
jnz error
inc si
inc bx
loop next2
mov ah,9 ;顯示歡迎介面
mov dx,offset msg3
int 21h
jmp exit
error:mov ah,9
mov dx,offset msg4
int 21h
exit:mov ah,4ch
int 21h
code ends
end beg
南郵彙編第二次實驗
輸入密碼,判斷是否與設定密碼一樣,不一樣繼續輸入,否則彈窗歡迎 datas segment message db password storepassword db 12345678 初始預設密碼 welcome db welcome password db 30 緩衝區首單元應預置允許接受的字元個...
第二次實驗
一 問題及 問題提 乙個數如果恰好等於它的因子之和,這個數就稱為 完數 例如6 1 2 3,再如8的因子和是7 即1 2 4 8不是完數。程式設計找出1000以內的所有完數。答案 6 28 496 檔名稱 作 者 周玉傑 完成日期 2017 年 3月 13 日 版 本 號 dev c 對任務及求解方...
第二次實驗
1 如何進行模式切換 哪兩種模式 答 第一次啟動linux系統會進入命令列模式,會要求輸入使用者名稱,預設的管理員帳號名為root,輸入 root 後回車,提示輸入密碼 密碼是在安裝系統時自己設定的 這樣就以管理員身份登陸了系統。第二種就是如果不想用使用命令列模式,而需要進入圖形介面 在命令列模式下...