begin process at 2012 05 25 05:00:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Forum general 80xxx

 > 

inversion de l'ordre d'uns string


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

inversion de l'ordre d'uns string

mercredi 16 mars 2005 à 17:11:16 | inversion de l'ordre d'uns string

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.

Ma reponse binaire est pacer a l'envers.
Je n'arrive pas a remettre le tout a l'endroit sans un code assez long et tirer par les cheveux.

Quelque pourrait, non pas me donner la solution mais me mettre sur la bonne voie.


.data
number  dd 1110111001010b
.code
mov ebx,number
lea edi,result
loop1:
test ebx,ebx
jz fin
test ebx,1
jz pair
impair:
mov al,"1"
stosb
shr ebx,1
jmp loop1
pair:
mov al,"0"
stosb
shr ebx,1
jmp loop1
fin:
mov al,0
stosb
invoke MessageBox,0, offset result,offset szDlgTitle,MB_OK



 Thierry

jeudi 17 mars 2005 à 11:04:49 | Re : inversion de l'ordre d'uns string

patatalo

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
salut,

.data

number  dd 1110111001010b
result db 32 dup(0)

.code
xor eax,eax
lea edi,result
mov ebx,number
mov [edi],eax

@@:
sal ebx,1  ; on traite par le poids fort comme ça plus besoin de remettre en place
setc al
lea eax,[eax+'0']
stosb
jne @B
mov [edi],ah
invoke MessageBox,0, offset result,offset szDlgTitle,MB_OK

@++
vendredi 18 mars 2005 à 10:39:09 | Re : inversion de l'ordre d'uns string

patatalo

Membre Club Administrateur CodeS-SourceS
re,

Attention, y'a quand meme des trucs a revoir !!!
que ce passe t-il quand le nombre est 00100100 ?
le result sera: 001001 ( c faux )

.data

number  dd 1110111001010b
result db 32 dup(0)
            db 0

.code
xor eax,eax
lea edi,[result+31]
mov ebx,number

@@:
sar ebx,1
setc al
lea eax,[eax+'0']
mov [edi],al
lea edi,[edi-1]
jne @B
invoke MessageBox,0,edi,offset szDlgTitle,MB_OK


c'est mieux non ?
on traite plutot le buffer a l'envers et notre resultat est ok.

@++
vendredi 18 mars 2005 à 13:06:21 | Re : inversion de l'ordre d'uns string

patatalo

Membre Club Administrateur CodeS-SourceS

encore ??

.data

number  dd 1110111001010b
result db 32 dup(0)
            db 0

.code
pushfd
xor eax,eax
lea edi,[result+31]
mov ebx,number
std ; inverse la direction. d'ou le pushfd/popfd.
@@:
sar ebx,1
setc al
lea eax,[eax+'0']
stosb
jne @B
inc edi
invoke MessageBox,0,edi,offset szDlgTitle,MB_OK
popfd

là, je crois que c la bonne .

@++



Cette discussion est classée dans : ordre, mov, al, inversion, ebx


Répondre à ce message

Sujets en rapport avec ce message

probleme de conversation de hexa en ascii [ par wapiti ] voici le programme qui converti du binaire en ascii.model small.stack;-------------------------------------------------------------------------------- Différences ??? [ par Arecibo ] Voila je debute en assembleur et j'aimerais savoir quelles sont les différences entre :-> mov eax, ebx et mov eax, [ebx]-> mov esi, eax et mov [esi], Peut on comparer deux binaire avec cmp ? [ par 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 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 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 Problème avec un code [ par showbiz_hurricanes ] Bonjour Pour un projet universitaire, je dois concevoir un programme de tri en assembleur mais celui ci ne fonctionne pas comme je le voudrai. Le 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 !!!! Kernel qui n'est pas chargé par le bootloader [ par JB_59 ] Salut tout le monde !Voilà j'ai un problème de chargement de Kernel; j'ai codé un boot loader en asm qui m'affiche la phrase "Chargement du kernel..."


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales