Programmation assembleur aidez moi!!!!!

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

15 réponses

  1. Contributeur
    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
    1. M. "ghuysmans99" J'ai également un problème avec cet exercice, s'il vous plaît nous aider à résoudre
      0
      1. SVP moi aussi je cherche une bonne solution sans faire d'erreur pour cet exercice...
        0
        1. 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
          1. Contributeur
            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
            1. 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
              1. Contributeur
                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
                1. Ok merci mais j'aime la traduction en assembleur mais pas avec pointeur en tout cas merci beaucoup.
                  0
                  1. Contributeur
                    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
                    1. Contributeur
                      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
                    2. Contributeur
                      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
                  2. 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
                    1. Contributeur
                      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
                      1. non en algo non mais au niveau de la prog assembleur aidez moi SVP
                        0
                        1. Contributeur
                          Tu bloques au niveau de l'algo ou de la prog assembleur ? Sur quel point ?
                          0
                          1. J'ai essayé beaucoup et Je ne pouvais pas déterminer la bonne réponse

                            Aidez-moi
                            0
                            1. Contributeur
                              Qu'est-ce que tu as déjà fait ?
                              0