[8086] Pari o dispari

di il
6 risposte

[8086] Pari o dispari

Ciao a tutti,
il programma richiede di inserire un numero intero, e visualizzare se è pari o dispari (molto semplice).
Il problema è che alla fin fine esce il programma ma cè un errore strano sulla visualizzazione che non riesco a spiegarmi:

- Se inserisco un numero dispari esce scritto " Il numero è dispari".
- Se inserisco un numero pari esce scritto " Il numero è pari Il numero è dispari".


Ecco il codice:
stampa macro msg    
mov ah, 09h    
lea dx, msg    
int 21h
endm



stampa msg1 

mov ah, 1 
int 21h


mov ah, 0


mov dl,2

div dl

cmp ah, 0


je npari 

stampa acapo
stampa dispari


jmp fine 

npari:

stampa acapo
stampa pari


fine:
nop




 


msg1 db 'Inserire un numero: $'
pari db "Il numero e' pari"
dispari db "Il numero e' dispari"
acapo db 13,10, '$' 




Potreste aiutarmi? Grazie mille in anticipo!

6 Risposte

  • Re: [8086] Pari o dispari

    Probabilmente è solo per la mancanza della riga seguente la msg1
    
    msg1 db 'Inserire un numero: $'
    	 db 13,10, '$' 
    pari db "Il numero e' pari"
    dispari db "Il numero e' dispari"
    acapo db 13,10, '$' 
    
  • Re: [8086] Pari o dispari

    oregon ha scritto:


    Probabilmente è solo per la mancanza della riga seguente la msg1
    
    msg1 db 'Inserire un numero: $'
    	 db 13,10, '$' 
    pari db "Il numero e' pari"
    dispari db "Il numero e' dispari"
    acapo db 13,10, '$' 
    

    Ciao oregon, la soluzione l'ho trovata io personalmente:

    Dovevo aggiungere '$' alla fine di questi messaggi:
    
    pari db "Il numero e' pari$"
    dispari db "Il numero e' dispari$"
    
  • Re: [8086] Pari o dispari

    Alla fine del secondo messaggio il $ goià c'è (sta nella riga successiva dopo l'a capo). Così ti dicevo di fare per il primo messaggio, era ugualmente una soluzione con un a capo in più.

    Comunque, prego.
  • Re: [8086] Pari o dispari

    oregon ha scritto:


    Alla fine del secondo messaggio il $ goià c'è (sta nella riga successiva dopo l'a capo). Così ti dicevo di fare per il primo messaggio, era ugualmente una soluzione con un a capo in più.

    Comunque, prego.

    Mmmh.. ho provato la tua soluzione, ma non funge.
  • Re: [8086] Pari o dispari

    Per errore ho inserito la linea dopo la msg1 ... ovviamente era da inserire tra la linea pari e la dispari
  • Re: [8086] Pari o dispari

    oregon ha scritto:


    Per errore ho inserito la linea dopo la msg1 ... ovviamente era da inserire tra la linea pari e la dispari
    Grazie mille per la disponibilità!
Devi accedere o registrarti per scrivere nel forum
6 risposte