運(yùn)用匯編語(yǔ)言程序設(shè)計(jì)中DOS系統(tǒng)功能調(diào)用編寫密碼檢測(cè)程序_第1頁(yè)
運(yùn)用匯編語(yǔ)言程序設(shè)計(jì)中DOS系統(tǒng)功能調(diào)用編寫密碼檢測(cè)程序_第2頁(yè)
運(yùn)用匯編語(yǔ)言程序設(shè)計(jì)中DOS系統(tǒng)功能調(diào)用編寫密碼檢測(cè)程序_第3頁(yè)
運(yùn)用匯編語(yǔ)言程序設(shè)計(jì)中DOS系統(tǒng)功能調(diào)用編寫密碼檢測(cè)程序_第4頁(yè)
運(yùn)用匯編語(yǔ)言程序設(shè)計(jì)中DOS系統(tǒng)功能調(diào)用編寫密碼檢測(cè)程序_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、運(yùn)用匯編語(yǔ)言程序設(shè)計(jì)中DOS 系統(tǒng)功能調(diào)用編寫密碼檢測(cè)程序王新春摘要本文要通過(guò)調(diào)用匯編語(yǔ)言程序設(shè)計(jì)的DOS 系統(tǒng)功能來(lái)實(shí)現(xiàn)最常用的密碼檢測(cè)功能。關(guān)鍵詞DOS 系統(tǒng)功能調(diào)用; 字符串輸出; 單個(gè)字符輸入; IN T21H 很多同學(xué)對(duì)匯編語(yǔ)言程序設(shè)計(jì)的感受往往是難、澀、煩并且沒(méi)有實(shí)際意義, 其實(shí)則不然, 產(chǎn)生這種感覺(jué)主要是因?yàn)檎n時(shí)少, 沒(méi)有機(jī)會(huì)進(jìn)一步學(xué)習(xí)且自己對(duì)編程沒(méi)有太多興趣。下面就以DOS 系統(tǒng)功能調(diào)用來(lái)實(shí)現(xiàn)密碼檢測(cè), 簡(jiǎn)單說(shuō)明一下匯編語(yǔ)言程序設(shè)計(jì)的實(shí)際意義及趣味性。11對(duì)該程序的幾點(diǎn)說(shuō)明設(shè)原密碼已定為WXCWL E 定義一個(gè)過(guò)程, 過(guò)程名為ITFF , 若輸入密碼正確, , 并且最多只能試三

2、次。程序流程圖(56濟(jì)南教育學(xué)院學(xué)報(bào)2001年第6期21實(shí)例程序EXT Segment; 定義附加段段名為EXTDS1DB WXCWL F ; 在變量名DS1中定義密碼EXT ENDS ; 附加段結(jié)束DA TA Segment ; 定義數(shù)據(jù)段段名為DA TA SS1DB 0DH ,0AH , input password please ,0DH ,0AH , ; 定義輸入密碼提示符并回車換行SS2DB 0DH ,0AH , Y ou are correct ,0DH ,0AH , ; 定義正確提示符并回車換行SS3DB 0DH ,0AH , input password again ,0DH

3、,0AH , ; 定義再次輸入提示符并回車換行SS4DB 0DH ,0AH , Y ou are wrong ,0DH ,0AH , ; 定義錯(cuò)誤提示并回車換行BU FF DB 6DU P (? ; 定義接收輸入密碼的存儲(chǔ)空間, 大小為6字節(jié)DA TA ENDS ; 數(shù)據(jù)段結(jié)束CODE SEGMEN T ; 定義代碼段, 段名為CODE ASSUME CS :CODE,DS :DATA ,ES :EXT; 分別指定所定義的段名與段寄存器之間的對(duì)應(yīng)關(guān)系START :MOV AX ,DA TAMOV DS ,AX ; 給數(shù)據(jù)段寄存器DS 賦值MOV AX ,EXT MOV ES ,AX ; ES

4、MOV DX ,OFFSET SS1CALL L TFF ; 來(lái)輸出SS1中的字符串提示MOV BX ,3; 3次密碼REP0:MOV CX ; 定義每次輸入密碼的字符個(gè)數(shù)為6; 設(shè)置變量BUFF 的數(shù)組下標(biāo)變量SI , 其初始值為21REP1:INC SI; 將下標(biāo)變量的值加1, 使其指向變量BU FF 的第一個(gè)元素MOV AH ,7IN T 21H; 調(diào)用DOS 中斷輸入單個(gè)字符串, 且不屏顯(AH =7 功能MOV BU FFSI,AL ; 將接收到的單個(gè)字符的ASCII 碼值從AL 中傳到BU FFSI中MOV DL , 3MOV AH ,2IN T 21H ; 調(diào)用DOS 中斷輸出單

5、個(gè)字符(AH =2 , 輸出的單個(gè)字符放DL 中LOOP REP1; 判斷是否輸入輸出6個(gè)字符, 若沒(méi)有, 則跳轉(zhuǎn)至標(biāo)號(hào)REP1處MOV SI , OFFSET BU FF ; 給源串(新輸入的密碼 指針SI 賦初值MOV DI , OFFSET DS1; 給目的串(源密碼 指針DI 賦初值MOV CX ,6; 設(shè)置兩串(新密碼與源密碼 的比較次數(shù)為6次CLD; 設(shè)置兩串(新密碼與源密碼 的操作方向從低地址向高地址進(jìn)行REPE CMPSB; 當(dāng)(CX <>0且ZF =1時(shí)重復(fù)比較兩串(兩個(gè)密碼66濟(jì)南教育學(xué)院學(xué)報(bào)J Z N EXT1; 當(dāng)停止重復(fù)比較時(shí), 判斷ZF 的值, 若ZF

6、=1時(shí)跳轉(zhuǎn)至標(biāo)號(hào)N EXT1DEC BX ; 若ZF <>1即ZF =0時(shí), 將BX (最多輸入密碼次數(shù) 中的值減1J Z N EXT2; 若BX =0即輸入的密碼次數(shù)達(dá)到3次, 仍不是正確的密碼, 則跳轉(zhuǎn)至標(biāo)號(hào)N EXT2處MOV DX , OFFSET SS3; 若BX <>0即不滿3次, 則把SS3變量的首地址放到DX 中CALL L TFF ; 調(diào)用過(guò)程在屏幕上輸出再次輸入密碼的提示J MP REP0無(wú)條件跳轉(zhuǎn)至標(biāo)號(hào)REP0處, 接收再次輸入的密碼N EXT1:MOVDX ,OFFSET SS2; 在N EXT1處, 把變量SS2的首地址放在DX 中CALL I

7、TFF ; 調(diào)用中斷輸出在SS2中定義的字符串(輸入正確密碼的提示J MP FIN I; 無(wú)條件跳轉(zhuǎn)至FIN I 標(biāo)號(hào)處N EXT2:MOVDX ,OFFSET SS4; 在標(biāo)號(hào)N EXT2處, 把變量SS4的首地址放在DX 中CALL ITFF; (輸入錯(cuò)誤FIN I :MOVAH ,4CHIN T 21H; ITFF PROC ; 定義過(guò)程, 過(guò)程名為ITFFMOV AH ,9IN T ; 過(guò)程的功能是通過(guò)調(diào)用中斷輸出DX 處的字符串(以為結(jié)束符 RET ; 過(guò)程返回ITFF ENDP ; 過(guò)程結(jié)束CODE ENDS ; 代碼段結(jié)束END START; 程序結(jié)束關(guān)于密碼檢測(cè)的程序有許許多多的方法, 可以用多種編程語(yǔ)言來(lái)實(shí)現(xiàn)。用匯編語(yǔ)言來(lái)實(shí)現(xiàn)此功能, 一能鍛煉學(xué)生的思維, 同時(shí)提高他們靈活運(yùn)用匯編語(yǔ)言的DOS 系統(tǒng)調(diào)用進(jìn)行編程的技巧。二能使學(xué)生感到他們學(xué)習(xí)的知識(shí)具有實(shí)際價(jià)值和趣味性, 從而充分調(diào)動(dòng)他們的學(xué)習(xí)積極性。收到良好的教學(xué)效果和學(xué)習(xí)效果。參考文獻(xiàn)1羅萬(wàn)均、田立炎編1匯編語(yǔ)言程序設(shè)計(jì)1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論