Assembleur 8086 pair ou impair ?

lewir Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
 Villich -
Bonjour,

onjour,

je dois écrire un programme qui dit si un nombre pair ou impair dans le langages assembleur 8086. voici ce que j'ai fait mais sa ne fonctionne pas, quelqu'un voit l'erreur ou a une meilleure solution ?


ORG 100h
   MOV AL, 00000111b   ; AL = 7
   OR  AL, 0          ; flags
   JNP label1
   MOV Ah, 01
   
   msg : db 'nombre pair'
   JMP exit
label1:
   msg2 : db 'nombre impair'
   
exit:
   RET            
   endp


Merci !!

A voir également:

1 réponse

nicocorico Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   138
 
Le saut conditionnel "jnp" ne teste pas le bit le plus faible, mais indique si le nombre total de bit à 1 est pair ou impair...
Pour tester la parité de la valeur, l'idéal est d'utiliser "test" et jnz :
   ORG 100h
   MOV  AL, 00000111b   ; AL = 7 ; AH = 0
   Test AL,01           ; Teste le bit le plus faible
   JNZ  label1          ; saut si le bit est à 1
   
   msg : db 'nombre pair'
   JMP exit
label1:
   msg2 : db 'nombre impair'
   
exit:
   RET            
   endp
2
Villich
 
Bonjour, je voulais juste savoir si , au lieu d'entrer le chiffre en binaire et qu'on le laissait tel quel, le programme fonctionnerait toujours ?

Merci.
0