aiuto! inserimento e controllo password con assembler

Stato
Discussione chiusa ad ulteriori risposte.

mvo

Utente Silver
21 Aprile 2009
0
0
0
55
Ciao a tutti :) , preannuncio che sono un pivello alle prime armi , ho appena iniziato lo studio di assembler 8086, uso il programma emu8086, e sto trovando un po' di difficolta nella risoluzione di alcuni esercizi. So che voi siete i migliori.
L'esercizio dice:
- programma che consente di inserire una password di 8 caratteri
e di confrontarla con una password memorizzata nel segmento dati
- il programma non deve visualizzare la password mentre viene inserita
- ogni carattere deve essere sostituito a video con un '*'
- se la password e' corretta il programma deve stampare un messaggio di benvenuto, altrimenti un messaggio di errore
Questo è il codice che ho scritto:
Codice:
 ; programma che consente di inserire una password di 8 caratteri
; e di confrontarla con una password memorizzata nel segmento dati
; il programma non deve visualizzare la password mentre viene inserita
; ogni carattere deve essere sostituito a video con un '*'
; se la password e' corretta il programma deve stampare un messaggio di
; benvenuto altrimenti un messaggio di errore 

data segment
    msg1 db 'Inserire password di 8 caratteri:$'
    msg2 db 'Ok!Benvenuto!$'
    msg3 db 'Password Sbagliata$'
    accapo db 13,10,'$'
    san db 'sansiro'
    
code segment
    lea dx,msg1
    mov ah,9
    int 21h; visualizza messaggio  
    mov cx,8

caratteri:

    mov ah,00h
    int 16h; legge carattere da tastiera  e lo mette in al
    
    mov al,'*'
    int 10h
    loop caratteri; stampa asterischi quando inserisci un carattere
    
    
    cmp al,san ; confronto con password
    
    jne pas_sba
    
    lea dx,accapo
    mov ah,9
    int 21h ; vai a capo
    
    lea dx,msg2
    mov ah,9
    int 21h; visualizza messaggio di benvenuto
    jmp fine
    
pas_sba:
    lea dx,msg3
    mov ah,9
    int 21h ; visualizza messaggio
    
fine:

Che ne pensate? Dove sbaglio?
Grazie in anticipo.
 
[ot]
E' buona norma presentarsi
[/ot]

Non conosco molto bene l'assembler quindi non ti posso aiutare, aspetta che passi qualcuno più bravo ^^
 
Stato
Discussione chiusa ad ulteriori risposte.