組合語言 使用者名稱密碼登入驗證程式 (dos呼叫)

2021-07-06 11:35:13 字數 2133 閱讀 7362

使用者輸入使用者名稱密碼,驗證成功則顯示welcome!

主要是dos功能的呼叫。

2號呼叫 輸入引數dl 顯示在螢幕上

9號呼叫 輸出ds:dx指向的字串 必須以『$'結尾

a號呼叫 把使用者的輸出儲存起來 注意定義的時候   db 長度 ,?,長度 dup (?) 

**:

;登陸驗證程式

data segment

first db 'usename:',0dh,0ah,'$'

second db 'password:',0dh,0ah,'$'

databasename db 'think'

databasepassword db '123456'

tempname db 15,?, 15 dup (?)

countname db $-tempname-02h,'$'

temppassword db 15,?,15 dup (?)

countpassword db $-temppassword-02h

welcome db 'welcome!','$'

data ends

code segment

assume cs:code,ds:data,es:data

start:

mov ax,data

mov ds,ax

;dos 呼叫顯示歡迎介面

mov ah,09h

mov dx,offset first

int 21h

;dos 0ah 呼叫使用者輸入

mov ah,0ah

mov dx,offset tempname

int 21h

cmp byte ptr tempname+1,05h ;驗證長度

jnz exit

mov cx,5 ;字串比較

mov si,offset databasename

mov di,offset tempname+2

mov ax,data

mov es,ax

cldrepe cmpsb

jnz exit

mov dx,offset tempname+2 ;顯示輸入的字串

mov byte ptr tempname[7],'$'

call dosshow

;提示輸入password

mov ah,09h

mov dx,offset second

int 21h

;dos 0ah 呼叫使用者輸入

mov ah,0ah

mov dx,offset temppassword

int 21h

cmp byte ptr temppassword+1,06h

jnz exit

mov cx,6

mov si,offset databasepassword

mov di,offset temppassword+2

mov ax,data

mov es,ax

cldrepe cmpsb

jnz exit

mov dx,offset temppassword+2

mov byte ptr temppassword[8],'$'

call dosshow

mov ah,09h

mov dx,offset welcome

int 21h

exit:

mov ax,4c00h

int 21h

dosshow proc

mov ah,09h

int 21h

mov dl,0dh

mov ah,02h

int 21h

mov dl,0ah

mov ah,02h

int 21h

retdosshow endp

code ends

end start

結果:

003使用者名稱密碼登入

coding utf 8 name aaa password 123 i 3 def name while i 0 name 1 input 請輸入使用者名稱 password 1 input 請輸入密碼 if name name 1 and password password 1 print 登陸...

PHP驗證登入使用者名稱和密碼

登入頁面 login.html 負責收集使用者填寫的登入資訊 登入處理 login.php 負責處理使用者登入與退出動作。登入 if isset post submit username htmlspecialchars post username password md5 post passwor...

PHP驗證登入使用者名稱和密碼

登入頁面 login.html 負責收集使用者填寫的登入資訊 登入處理 login.php 負責處理使用者登入與退出動作。登入 if isset post submit username htmlspecialchars post username password md5 post passwor...