Sortir d'une boucle en language assembleur
wael
-
ipl Messages postés 5738 Statut Contributeur sécurité -
ipl Messages postés 5738 Statut Contributeur sécurité -
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
merci de votre aide
A voir également:
- Sortir d'une boucle en language assembleur
- Comment sortir une application d'un dossier samsung - Accueil - Guide Android
- Remettre un pc en sortie d'usine - Guide
- Comment sortir du bios - Forum BIOS
- Sortir un pc du domaine ✓ - Forum Réseau
- Comment sortir du mode sans echec ps4 - Guide
4 réponses
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.
++
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.
++
;-))
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
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
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
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
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
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
Une boucle For, en assembleur ?
Wild and Free