Rechercher : dans
Par :

Sortir d'une boucle en language assembleur

Dernière réponse le 17 mar 2003 à 23:40:29 wael, le 17 mar 2003 à 05:56:03 
 Signaler ce message aux modérateurs

Salut tout le monde j'ai une question je voulez savoir si on a une boucle qui lit des elements dans un tableau et que la condition de sortie que on lit un nombre = 0 donc on bref en boucle jusqu'a ce que on entre un 0 ou on arrive a 100 elements(language assembleur)
merci de votre aide

Meilleures réponses pour « sortir d'une boucle en language assembleur » dans :
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...
Équivalences logicielles pour GNU/Linux VoirInternet Sécurité Gestion des fichiers Multimédia Graphisme Bureautique Développement général Développement webmaster Utilitaires divers Compléments Voici une liste donnant les principales équivalences logicielles (hors jeux,...
Interfacer du code assembleur et du C VoirInterfacer du code assembleur et du C Introduction Appeler du code assembleur écrit dans un fichier source externe Avec Nasm (x86 uniquement) Compilation/Exécution sous Linux Avec Gcc (multiplateforme) Introduction Si, à tout hasard,...
Trier un tableau sans utiliser la fonction sort VoirTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle...
Les procédures en assembleur VoirLa notion de procédure En langage assembleur, on appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la procédure. Cette notion de sous-programme est généralement appelée fonction dans d'autres...
Introduction à XML VoirPrésentation de XML XML (entendez eXtensible Markup Language et traduisez Langage à balises étendu, ou Langage à balises extensible) est en quelque sorte un langage HTML amélioré permettant de définir de nouvelles balises. Il s'agit effectivement...
VBScript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à...

1

primal, le 17 mar 2003 à 10:28:14

Salut,

for(int i=0;i<100||tab[i]==0;i++)
{
contenu de la boucle
}

Si la variable i atteint sa centième valeur ou si la valeur du tableau est de 0, alors fin de la boucle.

++

Répondre à primal

2

WhiteFang, le 17 mar 2003 à 13:17:52
  • +1

?
Une boucle For, en assembleur ?

Wild and Free

Répondre à WhiteFang

3

WhiteFang, le 17 mar 2003 à 13:21:32

;-))

Serait tu assez gentil pour expliquer un peu mieux, ou même, de poser ton problème plus clairement ? En fait, c'est pas tout à fait clair, pour moi...

Sinon, en assembleur, les sorties se sont via JMP, JNE... Bref, via un Jump Equal, Not equal... Et ce, sur des registres où des piles...

C'est vaste...

;-)))

Wild and Free

Répondre à WhiteFang

4

primal, le 17 mar 2003 à 14:14:35

Excuse,

c'est ma faute, j'ai répondu de travers
;-)

Répondre à primal

5

WhiteFang, le 17 mar 2003 à 15:32:22

;-))

De rien, j'ai eu un instant de doute, je me suis demandé si je devais carrément pas prendre ma retraite ;-)) Pi après je me suis dit "meuu non" !! ;-))

Wild and Free

Répondre à WhiteFang

6

Tony Sokhon, le 17 mar 2003 à 20:39:29

Salut, Wael

Voici un petit bout de code:

Je suppose qu'il s'agit d'un tableau TAB.
TAB est l'offset du debut du tableau dans le DATA SEGMENT.
Si tu utilises l'addressage indirect, l'indice en cours se trouve dans BX.
Je suppose que tu as écrit des instructions qui lisent une valeur dans AX. Ce sera la valeur du tableau pour l'indice en cours.

Voici comment implementer la boucle de lecture:

MOV BX, 0
Boucle
...Lecture...
// AX contient la valeur a stocker.
OR AX, AX
JZ Fin // Si AX=0, c'est la fin
MOV TAB[BX], AX // Sinon, stocker...
INC BX // ...puis incrementer l'indice...
CMP BX, 100 // Si BX ne depasse pas 00...
JNZ Boucle // ...on reprend la lecture.
Fin

Répondre à Tony Sokhon

7

 ipl, le 17 mar 2003 à 23:40:29

Bonsoir à tous,

Cà existe encore la programmation en assembleur ???

Vous me faites plaisir et verser des larmes là !
L'assembleur, c'est le language de ma jeunesse... j'avais programmé un interpréteur super sophistiqué !
Environ 25 ans que je n'ai pas écrit une ligne d'assembleur !

Merci !!! ;-)

@12C4
Ipl

Répondre à ipl