Programmation assembleur aidez moi!!!!!

nour-2008 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   -
c'est un petit exercice que je veux traduire en programmation assemnleur8086 aidez-moi s'il vous plais

Exercice
ecrire un programme qui permet de chercher une chaine de caractére {info2010} dans un
tableau de 100h caractére
Questions
-Donner l'organigramme decet exercice (assembleur8086)
-Donner ensuite leur code (en assembleur 8086).

et merci
A voir également:

15 réponses

ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Qu'est-ce que tu as déjà fait ?
0
nour-2008 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai essayé beaucoup et Je ne pouvais pas déterminer la bonne réponse

Aidez-moi
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Tu bloques au niveau de l'algo ou de la prog assembleur ? Sur quel point ?
0
nour-2008 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
non en algo non mais au niveau de la prog assembleur aidez moi SVP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Donne ton algo et je te donnerai des pistes (et non je ne te ferai pas ton exo à ta place mais je t'expliquerai ce que tu ne comprends pas)
0
nour-2008 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
ok merci solu en algo est simple :


pour i de 1 à n faire
pour j de 1 à long(ch) faire
si T[i]=ch[j] alors
ecrire ("la caractére trouee est ",ch[j])
sinon
ecrire ("pas de caractére touvee")
fin si
fin pour
fin pour
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Ton algo n'est déjà pas bon ... en C ça donnerait ça :
char* trouve (char* buf, char* texte)
{
 int l = strlen(texte);
 char* end = buf+0x100;
 while (buf < end)
 {
  if (memcmp(buf,texte,l)==1) return buf;
  buf++;
 }
 return null;
}

Tu n'as plus qu'à traduire ça en ASM
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Petite erreur : remplace cette ligne
if (memcmp(buf,texte,l)==1) return buf;

Par celle-ci :
if (memcmp(buf,texte,l)==0) return buf;
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Encore une modification pour plus de lisibilité :
char* trouve (char* buf, size_t bufLen, char* text)
{
	int l = strlen(text);
	char* end = buf+bufLen-l+1;
	while (buf < end)
	{
		if (memcmp(buf,text,l)==0)
			return buf;
		buf++;
	}
	return NULL;
}
0
nour-2008 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Ok merci mais j'aime la traduction en assembleur mais pas avec pointeur en tout cas merci beaucoup.
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
De l'ASM sans pointeurs qui compare une partie de buffer et une chaine ... Tu déconnes ou quoi ?! Montre ce que tu as déjà traduit.
0
nour-2008 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne comprends pas ce que vous entendez par (memcmp)
cmp=comparaison et mem quoi et je crois que l'algo et comme ca:

int l = strlen(texte);
char* end = buf+0x100;
while (buf < end)
{
if (memcmp(buf,texte,l)==0)

return nul;
buf++;

else
{
return buff;

}
parceque 0 pas de caractére il retourne nul oui ou non ?
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
L'algo que je t'ai donné est fonctionnel (je l'ai testé), donc pas besoin de le modifier. Le prototype est int memcmp (const void *s1, const void *s2, size_t n);. Incorpore cette fonction dans cherche() pour plus de vitesse.
0
nour-2008 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Je vous remercie et je suis nouvelle d'apprendre cette langage machine et mon professeur en charge d'eux n'est pas en excellente ou en spécialisation de cet article.Je vais essayer demain avec mes amis, Et essayer de vous donner solution.
M'aidé à obtenir le résultat correct
0
aymenskills Messages postés 11 Statut Membre
 
SVP moi aussi je cherche une bonne solution sans faire d'erreur pour cet exercice...
0
aymenskills Messages postés 11 Statut Membre
 
M. "ghuysmans99" J'ai également un problème avec cet exercice, s'il vous plaît nous aider à résoudre
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Si t'as pas envie de te fatiguer, utilise un compilateur C pour compiler la fonction que je t'ai donnée. Y'en a pour systèmes 16 bits, comme par exemple Digital Mars.
0