南郵彙編第二次實驗

2021-07-23 19:05:58 字數 1215 閱讀 2675

輸入密碼,判斷是否與設定密碼一樣,不一樣繼續輸入,否則彈窗歡迎

datas segment

message db 'password:$'

storepassword db '12345678$';初始預設密碼

welcome db 'welcome$'

password db 30;緩衝區首單元應預置允許接受的字元個數,這裡設為密碼長度不超過29(剩下乙個給回車符)

datas ends

stacks segment

;此處輸入堆疊段**

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

mov es,ax;為使用串比較命令cmpsb做準備

next:

mov ah,09h;輸出提示資訊password

lea dx,message;與mov dx,offset message效果相同

int 21h

mov ah,02h;換行

mov dl,0ah

int 21h

mov ah,0ah;將使用者輸入的密碼顯示到螢幕上

lea dx,password

int 21h

mov ah,02h;換行

mov dl,0ah

int 21h

mov bl,password+1

mov bh,0

lea si,password+2;為什麼是2這邊需要仔細理解

mov byte ptr[bx+si],'$';最後乙個補充結尾符號

int 21h

lea si,password+2

lea di,storepassword

cmp bx,8

jg next2

mov bx,8

next2:

mov cx,bx;密碼取兩次中較大的那個

repz cmpsb;比較兩個字串是否相等

jnz next

mov ah,09h

lea dx,welcome

int 21h

mov ah,4ch

int 21h

codes ends

end start

第二次實驗

一 問題及 問題提 乙個數如果恰好等於它的因子之和,這個數就稱為 完數 例如6 1 2 3,再如8的因子和是7 即1 2 4 8不是完數。程式設計找出1000以內的所有完數。答案 6 28 496 檔名稱 作 者 周玉傑 完成日期 2017 年 3月 13 日 版 本 號 dev c 對任務及求解方...

第二次實驗

1 如何進行模式切換 哪兩種模式 答 第一次啟動linux系統會進入命令列模式,會要求輸入使用者名稱,預設的管理員帳號名為root,輸入 root 後回車,提示輸入密碼 密碼是在安裝系統時自己設定的 這樣就以管理員身份登陸了系統。第二種就是如果不想用使用命令列模式,而需要進入圖形介面 在命令列模式下...

C 第二次實驗

實驗目的 1.掌握類和物件的使用。2.掌握字段 屬性 方法 引數 過載 重寫與覆蓋 繼承和多型的使用。實驗內容 1.隨機給出乙個0至99 包括0和99 之間的數字,然後讓你猜是什麼數字。你可以隨便猜乙個數字,遊戲會提示太大還是太小,從而縮小結果範圍。經過幾次猜測與提示後,最終推出答案。1 控制台 w...