Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Pb registre DL [ Archives / Newbii ] (AlexMAN)

dimanche 8 août 2004 à 19:05:17 | Pb registre DL

AlexMAN

Membre Club
Bonjour,

J'ai un ptit pb avec le code qui suit, au nivo du mov dl, [ecx] :

//Renvoie pointeur sur fin de chaine (permet d'eviter l'utilisation de strcat qui parcourt toute la chaine)

_declspec(naked) char * My_strcpy(char *dest, char *src)
{
//EAX = dest
//ECX = src
__asm {
mov eax, dest
mov ecx, src
Copy:
mov dl, [ecx]
mov [eax], dl
or dl, dl
jz Fin
inc eax
inc ecx
jmp Copy
Fin:
ret 8
}
}

Mais si kelkun pouvait me dire pkoi, jle remercie, paske j'ai maté des codes et ca marche donc pkoi pas ds mon prog, hein ? Bon ben, jvous remercie d'avance et puis bonne soirée

++

Alhexman

dimanche 8 août 2004 à 20:59:51 | Re : Pb registre DL

aardman

Membre Club
Salut,
Je dirais qu'il manque le 'byte ptr' avant [ecx].

dimanche 8 août 2004 à 21:05:25 | Re : Pb registre DL

AlexMAN

Membre Club
nop, il est rajouté a la compilation, un desassembly pour verifier..

dimanche 8 août 2004 à 21:23:42 | Re : Pb registre DL

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
comme ca ca va:


_declspec(naked) char *My_strcpy(char *dest, char *src)

{
__asm
{

mov eax, [esp + 4]
mov ecx, [esp + 8]
Copy:
mov dl, [ecx]
mov [eax], dl
test dl, dl
jz Fin
inc eax
inc ecx
jmp Copy
Fin:
ret 0
}
}

dimanche 8 août 2004 à 21:25:25 | Re : Pb registre DL

vecchio56

Administrateur CodeS-SourceS
(évidemment le problème ne venait pas de dl)

dimanche 8 août 2004 à 21:34:24 | Re : Pb registre DL

AlexMAN

Membre Club
Ben effectivement, ca marche, mais ca viendrait simplement de la mauvaise initialisation des registres eax et ecx ?

dimanche 8 août 2004 à 21:35:53 | Re : Pb registre DL

vecchio56

Administrateur CodeS-SourceS
bien surque ca vient de la (t'a pas recu mon mail?), mais aussi du ret 8

dimanche 8 août 2004 à 21:38:46 | Re : Pb registre DL

AlexMAN

Membre Club
Si j'ai recu, mais j'avais apporté les corrections dont tu m'avais parlé, et rien..mais c moi ki devais plus avoir les yeux en face des trous (maman pourra en temoigner..), en tt ka, je te remercie vecchio.

++

dimanche 8 août 2004 à 21:42:34 | Re : Pb registre DL

BruNews

Administrateur CodeS-SourceS
voila un cas ou serait parfait en __fastcall, tu n'as aucun besoin de params sur pile, temps perdu en entree comme en sortie.
__fastcall te donnera ECX = dest, EDX = src.
Et la oui que 'ret 0' serait bon.

ciao...
BruNews, Admin CS, MVP Visual C++

dimanche 8 août 2004 à 21:44:58 | Re : Pb registre DL

vecchio56

Administrateur CodeS-SourceS
Tiens, qu'est ce qui se passe si on a une fonction __fastcall qui prend 4 arguments??


1 2

Cette discussion est classé dans : pb, mov, dl, eax, ecx


Répondre à ce message

Sujets en rapport avec ce message

optimisation [ par sajid_morad ] salut tout le monde , j ai une parti du code en c++, que j ai voulu optimiser , le l ai reécri en asm , mai ça donne pas grand chose, si quelqu un po exception 13 lors du scan memoire haute [ par patatalo ] salut, pourquoi ce code de detection de memoire en mode 32 bits sans paging me donne une exception 13 sur certaines cartes meres ( ASUS ) a l'adresse j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32) [ par papiboff ] bj si je mets le buffer "somme " en dd avec charge eax et que j'ajoute deux 'dec ebx ' , ben , marche pas correctement ; (pêrqué ???? = en french) sv Aligner des données pour le SSE [ par epineurien ] Bonjour à tous !J'ai un petit problème avec du code dont je mesure la vitesse: suivant la compilation, la vitesse varie du simple au double .J'expliqu AT&T erreur de compilation etc... [ par maminovadu75 ] Bonjour, j'aimerais me mettre a l'assembleur mais j'ai quelque problème.voici mon code morceau de code pour trier un tableau de int : ( mélange de C/C Petit problème pour comparer (cmp) [ par smok1360 ] Bonjour à tous,Pour commencer, j'espère de ne pas avoir choisis le mauvais lieu pour poster, j'ai un petit peu hésité Donc, j'ai décidé d'apprendre l' tp assembleur i3 pour la FST [ par babbiverus ] main proc mov ax,@Datamov ds, axmov si,offset tabmov cx, 16mov bx,0saisie:  mov dx,offset commande;afficher "saisir un nombre"mov ah,9int 21hmov ah, 1 Masm32 - adressage direct - soucis ! [ par ouadji ] Bonjour à tous,mov eax , [11223344h]cette instruction existe ! registre de segment utilisé ... DS ... par défaut !Code machine de cette instruction : Problème de saisie [ par RootASM ] Bonjour,Voila, je dois faire une présentation en ASM.1. Entrez un matricule de au moins et au maximum 4 chiffre uniquement 2. Saisir le nom et prenom afficher une image jpeg avec la fonction StretchDIBits ? [ par mitch19 ] bonjour, j'essaye depuis quelques temps d'afficher une image jpeg avecla commande  StretchDIBits, en vain ! mon programme plante lamentablement !Si qu


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.