Bài tập 3 - NNHT FULL
3 posters
k4info :: Khu vực học tập :: Học Tập :: Thư viện :: Ngôn ngữ hệ thống
Trang 1 trong tổng số 1 trang
Bài tập 3 - NNHT FULL
Viết chương trình đăng nhập mật khẩu, yêu cầu:
- Nhập mật khẩu, kết thúc sớm nếu bỏ qua
- Nếu đăng nhập lần đầu (chưa có file password.dat)
+ Xác nhận mật khẩu lần 2
+ Đối chiếu mật khẩu
* Nếu khớp lưu vào file password.dat
* Nếu không khớp báo lỗi.
+ Nếu đăng nhập lần 2 có file password.dat:
* Mở file password.dat đọc mật khẩu trong file
* Đối chiếu 2 mật khẩu
= Nếu khớp thông báo đăng nhập thành công
= Nếu không khớp thông báo đăng nhập thất bại
- Nhập mật khẩu, kết thúc sớm nếu bỏ qua
- Nếu đăng nhập lần đầu (chưa có file password.dat)
+ Xác nhận mật khẩu lần 2
+ Đối chiếu mật khẩu
* Nếu khớp lưu vào file password.dat
* Nếu không khớp báo lỗi.
+ Nếu đăng nhập lần 2 có file password.dat:
* Mở file password.dat đọc mật khẩu trong file
* Đối chiếu 2 mật khẩu
= Nếu khớp thông báo đăng nhập thành công
= Nếu không khớp thông báo đăng nhập thất bại
- Code:
Tab EQU 9
Backspace EQU 8
Enterz EQU 13
ESCz EQU 27
Space EQU 32
;-------------------------------
MyCOM GROUP CodeSeg, DataSeg
ASSUME CS:MyCOM, DS:MyCOM
CodeSeg SEGMENT PUBLIC ;
ORG 100h
Main PROC
call NhapPass
lea dx,TB1
call WriteStr
call XulyPass
jnc Tieptuc
int 20h
Tieptuc:
call OpenPWFile
jnc ReadPWFile
call SavePW1
call NhapPass
lea dx,TB8
call WriteStr
call XulyPass
jc Exitmain
call ComparePW
jne InvalidPW
lea dx,TB6
call WriteStr
call SavePW2File
int 20h
Exitmain:
int 20h
InvalidPW:
lea dx,TB5
call WriteStr
int 20h
ReadPWFile:
CALL ReadPW2Mem
CALL ComparePW
Jne InvalidPW
lea Dx,TB6
CALL WriteStr
int 20h
Main ENDP
;-------------------------------
ReadPW2Mem Proc
MOV AH,3Fh
LEA DX,PW1
mov ch,0
mov cl,127
int 21h
mov Len1,al
mov ah,3Eh ;dong file
int 21h
ret
ReadPW2Mem Endp
;-------------------------------
SavePW2File Proc
Mov AH,3Ch
MOV Cx,20h
lea dx,PWFile
int 21h ;tao 1 file
mov bx,ax ;cap the file
lea dx,buffer ;ghi file
mov ch,0
mov cl,len ; so file can ghi
mov ah,40h
int 21h ;ghi file
mov ah,3Eh
int 21h ;Dong file
ret
SavePW2File Endp
;-------------------------------
ComparePW Proc
Mov CH,0
Mov Cl,Len
cmp CL,Len1
JNZ Exit2
LEA SI,Buffer
LEA DI,PW1
REP CMPSB
Exit2:
ret
ComparePW Endp
;-------------------------------
Readkey PROC
mov ah,8
int 21h
ret
ReadKey ENDP
;-------------------------------
SavePW1 Proc
MOV CH,0
MOV CL,Len
MOv Len1,cl
LEA SI,Buffer
LEA DI,PW1
REP MOVSB ;copy tu Buffer -> PW1
RET
SavePW1 Endp
;-------------------------------
OpenPWFile Proc
LEA dx,PWFile
mov ah,3Dh
mov al,0
int 21h
mov bx,ax ;cap the file tu ax vao bx
ret
OpenPWFile Endp
;-------------------------------
NhapPass PROC
mov Len,0
ret
NhapPass ENDP
;-------------------------------
XuatPass PROC
jnc WritePass
ret
Exit1:
ret
WritePass:
lea dx,TB1
call WriteStr
lea si,Buffer
mov ch,0
mov cl,Len
LoadAL:
lodsb
mov dl,al
call WriteChar
Loop LoadAL
XuatPass ENDP
;-------------------------------
XulyPass PROC
lea di,Buffer
ReadPass:
call Readkey
cmp al,Tab
jz Tabkey
cmp al,Space
jz Spacekey
cmp al,Enterz
jz Exit
cmp al,ESCz
jz ESCkey
cmp al,Backspace
jz Backspacekey
stosb
inc Len
mov dl,'*'
call WriteChar
jmp Short ReadPass
clc
ret
Tabkey:
lea dx,TB3
call WriteStr
stc
ret
Spacekey:
lea dx,TB4
call WriteStr
Errorz:
stc
ret
Exit:
cmp Len,0
jz Errorz
clc
ret
ESCkey:
lea dx,TB1
call WriteStr
mov Len,0
call NhapPass
jmp Short ReadPass
ret
Backspacekey:
cmp Len,0
jz ReadPass
mov dl,Backspace
call WriteChar
mov dl,' '
call WriteChar
mov dl,Backspace
call WriteChar
dec Len
dec di
jmp Short ReadPass
XulyPass ENDP
;-------------------------------
WriteStr PROC
mov ah,9
int 21h
ret
WriteStr ENDP
;-------------------------------
WriteChar PROC
mov ah,2
int 21h
ret
WriteChar ENDP
;-------------------------------
CodeSeg ENDS
DataSeg SEGMENT PUBLIC
TB1 DB 0Ah,0Dh,'Password:$'
TB3 DB 0Ah,0Dh,'Huy bo nhap password!$'
TB4 DB 0Ah,0Dh,'Password khong hop le!$'
TB5 DB 0Dh,0Ah,'Mat khau khong khop!$'
TB6 DB 0Dh,0Ah,'Dang nhap thanh cong!$'
TB7 DB 0Dh,0Ah,'Dang nhap that bai!$'
TB8 DB 0Dh,0Ah,'Confrim:$'
PWFile DB 'Password.dat',0
;---------------------
Len DB 0
Buffer DB 128 DUP(0)
Len1 DB 0
PW1 DB 128 DUP(0)
;--------------------
DataSeg ENDS
END Main
Re: Bài tập 3 - NNHT FULL
thanks nhieu nha!nhug cho e hoi cach chay chuong trinh nay voi.do ban nhieu qua nen em khong di thuc hanh nhieu nen wen ca cach debug ln,chi em voi nha
davidthinh- Posts : 17
Thanked : 1
26/04/2012
Re: Bài tập 3 - NNHT FULL
Giả sử tôi có 1 file code tên là baitap.asm. Để chạy chương trình này có 2 cách.
==> C1:
masm baitap;
link baitap;
exe2bin baitap baitap.com;
--> Xong phần biên dich từ file .asm ra file .com nếu thông báo thành công và có file baitap.com xuất hiện thì đã thành công và để chạy ta gõ tiếp lệnh baitap.com
==> C2:
Soạn 1 file xxx.bat ví dụ file đó là biendich.bat nội dung file đó có nội dung như sau, ta dùng Notepad để soạn thảo và lưu lại với đuôi .bat
masm baitap;
link baitap;
exe2bin baitap baitap.com;
-->Mỗi lần biên dịch file baitap.asm sang baitap.com chỉ cần chạy file .bat này. Để áp dụng cho file khác ta sửa tên baitap thành tên tương ứng bỏ chung file .bat này với file cần biên dịch .asm. Xong rồi chạy file bằng lệnh baitap.com
==> C1:
masm baitap;
link baitap;
exe2bin baitap baitap.com;
--> Xong phần biên dich từ file .asm ra file .com nếu thông báo thành công và có file baitap.com xuất hiện thì đã thành công và để chạy ta gõ tiếp lệnh baitap.com
==> C2:
Soạn 1 file xxx.bat ví dụ file đó là biendich.bat nội dung file đó có nội dung như sau, ta dùng Notepad để soạn thảo và lưu lại với đuôi .bat
masm baitap;
link baitap;
exe2bin baitap baitap.com;
-->Mỗi lần biên dịch file baitap.asm sang baitap.com chỉ cần chạy file .bat này. Để áp dụng cho file khác ta sửa tên baitap thành tên tương ứng bỏ chung file .bat này với file cần biên dịch .asm. Xong rồi chạy file bằng lệnh baitap.com
Re: Bài tập 3 - NNHT FULL
admin ơi cho mình hỏi cái:nếu đề bài như trên mà thêm nội dung như này thì làm sao hả,chỉ mình với:
-Nếu đăng nhập lần đầu(chưa có file password.dat)
.Nhập mật khẩu
.Lưu mật khẩu vào file password.dat(yêu cầu mật hóa mật khẩu chống chép trộm)
.Nhập mật khẩu
.Mở file password.dat,đọc mật khẩu trong file
.Đối chiếu 2 mật khẩu
-Nếu khớp,thông bảo đăng nhập thành công
-Nếu kg khớp báo lỗi
-Thoát
-Giúp mình với mình đang cần gấp.thks
-Nếu đăng nhập lần đầu(chưa có file password.dat)
.Nhập mật khẩu
.Lưu mật khẩu vào file password.dat(yêu cầu mật hóa mật khẩu chống chép trộm)
.Nhập mật khẩu
.Mở file password.dat,đọc mật khẩu trong file
.Đối chiếu 2 mật khẩu
-Nếu khớp,thông bảo đăng nhập thành công
-Nếu kg khớp báo lỗi
-Thoát
-Giúp mình với mình đang cần gấp.thks
tieulongnu_ct- Posts : 5
Thanked : 0
15/03/2013
Re: Bài tập 3 - NNHT FULL
Bạn cứ lấy bài code trên và bồ sung thêm phần mã hóa bằng phương pháp XOR, sau đó lưu vào file password.bat, làm ngược lại với khi giải đọc file password.bat thì giải mã ngược lại.tieulongnu_ct đã viết:admin ơi cho mình hỏi cái:nếu đề bài như trên mà thêm nội dung như này thì làm sao hả,chỉ mình với:
-Nếu đăng nhập lần đầu(chưa có file password.dat)
.Nhập mật khẩu
.Lưu mật khẩu vào file password.dat(yêu cầu mật hóa mật khẩu chống chép trộm)
.Nhập mật khẩu
.Mở file password.dat,đọc mật khẩu trong file
.Đối chiếu 2 mật khẩu
-Nếu khớp,thông bảo đăng nhập thành công
-Nếu kg khớp báo lỗi
-Thoát
-Giúp mình với mình đang cần gấp.thks
Điểm cần lưu ý ở đây là mình mã hóa password bằng phương pháp XOR trước khi lưu ra file .bat
Re: Bài tập 3 - NNHT FULL
mình k biết làm cho mấy,bạn có thể viết cụ thể cho mình luôn dc kg za?mình đang cần để làm báo cáo,nếu dc bạn giúp mình luôn nhak,mình thks bạn rất nhiều.
tieulongnu_ct- Posts : 5
Thanked : 0
15/03/2013
Re: Bài tập 3 - NNHT FULL
admin ơi giúp mình với,mình đang rất cần bài này đó,hi vọng hồi âm sớm cho mình.thks
tieulongnu_ct- Posts : 5
Thanked : 0
15/03/2013
Re: Bài tập 3 - NNHT FULL
admin đâu rồi sao kg tl gì hết zậy?hjx hjx,giúp mình với
tieulongnu_ct- Posts : 5
Thanked : 0
15/03/2013
Re: Bài tập 3 - NNHT FULL
admin giúp mình với đi mai la ngày chót nộp rồi đó.mình sẽ kg quên hậu tạ...
tieulongnu_ct- Posts : 5
Thanked : 0
15/03/2013
Similar topics
» Bài Tập 3 NNHT
» Thực hành buổi 1 - NNHT
» 7 bài tập về java Have Full
» Bài giảng NHT full kèm bài tập trên lớp
» ÔN TẬP, HỌC MẠNG MÁY TÍNH ****FULL***
» Thực hành buổi 1 - NNHT
» 7 bài tập về java Have Full
» Bài giảng NHT full kèm bài tập trên lớp
» ÔN TẬP, HỌC MẠNG MÁY TÍNH ****FULL***
k4info :: Khu vực học tập :: Học Tập :: Thư viện :: Ngôn ngữ hệ thống
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|