Accueil > Forum > > > > Peut on comparer deux binaire avec cmp ?
Peut on comparer deux binaire avec cmp ?
mardi 12 août 2003 à 14:30:00 |
Peut on comparer deux binaire avec cmp ?

MrNice
|
Lo le forum me revoila ave cun new prob... donc en fait g une table de variable, je prends al=0 je fait un xlat et je compare ce resultat avec une entrée qui est aussi en binaire (provenant d'un ppi) donc je boucle jusqu à ce que l entrée soit egale a un nombre de mon tableau alors pour comparer je fait un cmp al,dl en sachant que al,dl sont en binaires.. alors est possible ? voici une partie d emon code source... .386 .DATA ;Zone de définition des variables ZERO db 00000000b UN db 00000001b DEUX db 00000010b TROIS db 00000011b QUATRE db 00000100b CINQ db 00000101b SIX db 00000110b SEPT db 00000111b MESS1 db 'CODE SWITCH :$' .CODE ;ouverture du segment de code DEBUT: mov ax,DGROUP mov ds,ax ECRIO CTRL,CONFIG bo1: ECRIO PA,ZERO ;eteint tout les leds LECPPI PB ;le resultat se trouve dans al mov bl,al ;le resultat se trouve maintenant dans bl mov cx,8 ;cx=8 = nbr de nbr contenu dans la table xor eax,eax ;al=0 pour demarer au debut de la table avec xlat bo2: xlat ZERO ;al=table+al /!\ cmp bl,al ;compare al à bl /!\ EST CE POSSIBLE je ok ;si1 al=bl -> jump ok inc al ;sinon on incremente al loop bo2 ;et on boucle jusqu à ce que al=bl ok: ;cas ou al=bl ECRIO PA,al ;allume les leds correspondantes AFFICH MESS1 ;affiche "CODE SWITCH :" AFFICHNUM al ;affich le nombre a l'ecran AFFICH CRLF ;on passe a la ligne mov ah,06h ;lecture de caractère sans marquer d arret mov dl,ffh ;lecture car dl=ffh sinon sortie du caractère dont le code ascii est dans dl int 21h cmp al,'s' ;verifie si le caratère = 's' jne bo1 ;si caractère != 's' -> jmp bo1 ECRIO PA,ZERO ;sinon etient les leds mov ax,4c00h ;et on quit le programme int 21h end Debut
|
|
|
mercredi 13 août 2003 à 12:32:05 |
Re : Peut on comparer deux binaire avec cmp ?

Kaid
|
En fait ca ne pose aucun problème car le compilateur travaille dans une seule base. Les représentations binaire, décimal, octal, héxadécimal sont justes là pour aider le développeur. Kaid - kaid.fr.st------------------------------- Réponse au message : ------------------------------- > Lo le forum me revoila ave cun new prob... > > donc en fait g une table de variable, je prends al=0 je fait un xlat et je compare ce resultat avec une entrée qui est aussi en binaire (provenant d'un ppi) donc je boucle jusqu à ce que l entrée soit egale a un nombre de mon tableau alors pour comparer je fait un cmp al,dl en sachant que al,dl sont en binaires.. alors est possible ? > > voici une partie d emon code source... > > > > .386 > .DATA > > ;Zone de définition des variables > ZERO db 00000000b > UN db 00000001b > DEUX db 00000010b > TROIS db 00000011b > QUATRE db 00000100b > CINQ db 00000101b > SIX db 00000110b > SEPT db 00000111b > MESS1 db 'CODE SWITCH :$' > > .CODE > ;ouverture du segment de code > > DEBUT: mov ax,DGROUP > mov ds,ax > ECRIO CTRL,CONFIG > > bo1: > ECRIO PA,ZERO ;eteint tout les leds > LECPPI PB ;le resultat se trouve dans al > mov bl,al ;le resultat se trouve maintenant dans bl > mov cx,8 ;cx=8 = nbr de nbr contenu dans la table > xor eax,eax ;al=0 pour demarer au debut de la table avec xlat > > bo2: > xlat ZERO ;al=table+al > /!\ cmp bl,al ;compare al à bl /!\ EST CE POSSIBLE > je ok ;si1 al=bl -> jump ok > inc al ;sinon on incremente al > loop bo2 ;et on boucle jusqu à ce que al=bl > > ok: ;cas ou al=bl > ECRIO PA,al ;allume les leds correspondantes > AFFICH MESS1 ;affiche "CODE SWITCH :" > AFFICHNUM al ;affich le nombre a l'ecran > AFFICH CRLF ;on passe a la ligne > mov ah,06h ;lecture de caractère sans marquer d arret > mov dl,ffh ;lecture car dl=ffh sinon sortie du caractère dont le code ascii est dans dl > int 21h > cmp al,'s' ;verifie si le caratère = 's' > jne bo1 ;si caractère != 's' -> jmp bo1 > ECRIO PA,ZERO ;sinon etient les leds > mov ax,4c00h ;et on quit le programme > int 21h > end Debut > |
|
|
jeudi 14 août 2003 à 20:19:53 |
Re : Peut on comparer deux binaire avec cmp ?

CoreBreaker
|
Si tu parler du format dans ton source: 12h equivaut à 18d qui équivaut aussi à 00010010b. bref que tu fasses cmp al, 41h ou cmp al, 00100001b ou cmp al, 65 ou encode cmp al, 'A' ça revient au même exactement au même car ce sont les même nombres. Core Breaker 
|
|
jeudi 6 janvier 2005 à 10:50:56 |
Re : Peut on comparer deux binaire avec cmp ?

misterzinzin
|
bo2: > xlat ZERO ;al=table+al > /!\ cmp bl,al ;compare al à bl /!\ EST CE POSSIBLE > je ok ;si1 al=bl -> jump ok > inc al ;sinon on incremente al > loop bo2 ;et on boucle jusqu à ce que al=bl
...c'est pas un peu con d'utiliser des xlat dans un tableau avec des valeur qui se suivent ?
si al=0 et xlat zero... al=0
si al=1 et xlat zero... al=1
.... je vois pas trop l'utilité de xlat dans ce cas lol
moi j'aurais plutot fait:
mov al,-1
bo2:
inc al
cmp bl,al
jne bo2
... le meme code sans Xlat avec plein de valeur dans le .data...
maintenant ca se peut que je me soit planté et que j'aie pas compris le but de ton code  moi, le seul, l'unique, ZinZin 
|
|
Cette discussion est classée dans : code, db, mov, bl, al
Répondre à ce message
Sujets en rapport avec ce message
Multiplication de deux nombres compris entre 0 et 99 en assembleur [ par petitspirou ]
salut, j'ai un programme a faire mais je suis nul en assembleur, voici ce que j'ai fais mais ca ne fonctionne pas.Quelqun peut'il me le corriger et me
Recuperer le mode Video [ par FearBlue ]
Slt a tous !!!!!!!Je souhaite recupérer le mode video g lus dans une doc ca :Cette fonction retourne le numéro de code du mode vidéo en cours et tient
Affichage de l'heure a partir du BIOS [ par FearBlue ]
Slt a tous !!!!Je debute en ASM et je desirerais afficher l'heure a partir de la lecture de l'heure du biosje vous montre mon code !!!!
pb int 21h ah=0ah [ par mat74 ]
salut a ts ,voila j'ai fais un programme qui est censé lire une chaine entré par l'utilisateur et ensuite la reafficher . Il me demande bien d'entré u
inversion de l'ordre d'uns string [ par VBFRANCE ]
Je suis un jeune debutant dans l'assembleur.J'ai un petit prog pour afficher les valeur sous format binaire, mais je suis bloquer par un petit soucis.
couleur en TASM ? [ par redwings ]
j'aimerai savoir les instructions qui permettent d'affiche un caractere en couleurAL contient le caractere ...MOV DL,AL MOV AH,02hINT 21h...merci
secteur boot : afficher un message [ par sajaris ]
bonjourje suis ADABLA et je debute en OS, il y a 1 semaine. je voudrai SVP, votre avis sur mon petit code de boot.En fait je voudrai afficher un messa
Modifer le vecteur d'interruptions [ par vecchio56 ]
Bonjour J'essaie de refaire la source http://www.cppfrance.com/code.aspx?ID=33558 en assembleur (ca consiste à modifier la routine de l'interruption 0
probleme avec un bootloader [ par anonyme_man_in_this_world ]
salut !! je voudrais coder un bootloader , tous ce compile bien ,je copie / colle le fichier .BIN dans une disquette ,mais lors le redemmarrage d
Peut on mieux faire ? [ par spiky31 ]
Bonjour Voila j'ai commencé ce matin a programmer en assembleur intel et j'aurais voulu avoir votre avis (Je me considére pas vraiment comme un noob
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : PIC 16F84RE : PIC 16F84 par pont
Cliquez pour lire la suite par pont RE : PIC 16F84RE : PIC 16F84 par belounis
Cliquez pour lire la suite par belounis RE : PIC 16F84RE : PIC 16F84 par pont
Cliquez pour lire la suite par pont
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|