Rechercher : dans
Par :

Boucle en assembleur

Dernière réponse le 28 jan 2009 à 09:27:07 elam2011, le 7 jun 2008 à 01:33:16 
 Signaler ce message aux modérateurs

Bonjour,
svp si qlq 1 pourra m'aider comment on fait une boucle en assembleur svp aidez moi

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « boucle en assembleur » dans :
Assembler un PC Voir De l'assemblage d'un ordinateur Un ordinateur de type PC est modulaire, c'est-à-dire qu'il peut être monté en assemblant des éléments matériels de différents constructeurs, afin d'obtenir un ordinateur conforme à ses besoins. Les éléments...
Introduction à l'assembleur Voir Les prérequis nécessaires Le langage assembleur est très proche du langage machine (c'est-à-dire le langage qu'utilise l'ordinateur : des informations en binaire, soit des 0 et des 1). Il dépend donc fortement du type de processeur. Ainsi il...
[Photofiltre]Réaliser un assemblage de 2 images VoirPhotofiltre est un logiciel de retouche d'image. Cette astuce fonctionne aussi bien avec Photofiltre qu'avec Photofiltre Studio Dans ce cas précis, Photofiltre va permettre d'assembler un collage c'est-à-dire de coller une deuxième image (en...
Compiler un programme assembleur avec Nasm VoirAvec Linux Etape 1. Créer un fichier source Etape 2. Assembler le fichier source Etape 3. Création de l'executable Etape 4. Execution du programme Avec windows Etape 1. Installer les logiciels nécessaires Etape 2. Créer un fichier...
Exercice assembleur x86 nombre premier VoirIntroduction Notions abordées dans cet exercice Enoncé Rappel Corrigé Explication Introduction Ce petit exercice d'assembleur vise les architectures x86 (Processeurs Intel et Amd 32 bits) et utilise la syntaxe de Nasm, un assembleur...
Liste des instructions en assembleur VoirTableau des principales instructions en assembleur Voici une liste (non exhaustive) des principales instructions en assembleur des processeurs 80x86, ainsi que du code machine qui leur est associé et de leur taille en mémoire. Les valeurs val et...
ADSL - Le dégroupage de la boucle locale VoirIntroduction au dégroupage de la boucle locale On appelle "boucle locale" la partie finale de la ligne téléphonique arrivant à l'abonné. Afin de vous faire profiter de l'internet à haut débit (ADSL), les Fournisseurs d'Accès à Internet (FAI)...
Segmentation de la mémoire en assembleur VoirQu'est-ce que la segmentation de la mémoire ? En assembleur, on appelle segment de mémoire le mécanisme de base de la gestion des adresses pour des processeurs de type 80x86. Les instructions sont stockées dans le registre IP. Il s'agit d'adresses...

1

kilian, le 7 jun 2008 à 01:34:17

Bonjour,

Ca dépend. En quel assembleur?
Et c'est pour faire une boucle à partir d'une condition particulière? Si oui laquelle?

Répondre à kilian

2

elam2011, le 7 jun 2008 à 01:37:11

Le nasm
par exemple for(i=0,i<n;i++)
{
instructions

}
et merci bcp

Répondre à elam2011

3

kilian, le 7 jun 2008 à 01:48:01
  • +3

Faut utiliser les instructions cmp et jxx
xx étant la condition, ça peut être jb pour "si plus petit" avec des entiers non signés, ja pour "si plus grand".
Pour ton exemple si i est dans ecx et n dans eax:

mov ecx, 0
boucle:
    cmp ecx, eax   ;comparaison ecx, et eax
    jnb finBoucle   ;si ecx >= eax alors on saute vers finBoucle

    ;instructions

    jmp boucle ;on boucle (saut inconditionnel

finBoucle:
   ;........

Ici tu as une référence des sauts conditionnels:
http://www.unixwiz.net/techtips/x86-jumps.html

Répondre à kilian

4

elam2011, le 7 jun 2008 à 01:54:51
  • +1

Merci bcp, mais pour l'incrementation de i on fait comment svp?

Répondre à elam2011

5

 kilian, le 7 jun 2008 à 02:03:20
  • +2

Zut j'ai oublié d'incrémenter i.
Si j'étais un bon prof, j'aurais dit que c'était pour savoir si tu suivais O_o

Il faut que tu fasses
inc ecx

inc => incrémenter.

Répondre à kilian