Accueil > Forum > > > > Boucle en ASM
Boucle en ASM
samedi 25 juillet 2009 à 19:40:13 |
Boucle en ASM

vita01
|
Bonjour, je suis un jeune debutant en assembler et j'aimerais savoir à koi sert la BOUCLE dans un programme Assembler
merci de bien vouloir m'aider
|
|
samedi 25 juillet 2009 à 23:52:28 |
Re : Boucle en ASM

ghuysmans99
|
Une boucle sert à exécuter un certain nombre de fois une ou plusieurs actions. Dans les exemples, on considère que la fonction prints (en stdcall) prend en paramètre un pointeur sur une chaine de caractères et l'affiche.
Premier exemple, via l'opérateur LOOP
Code : mov ecx,2
@boucle:
push offset msg
call prints
loop @boucle
;Ce programme affichera 2 fois le même message
On peut aussi gérer la boucle nous-mêmes, en comparant le compteur (ou autre chose) à une certaine valeur et en fonction du résultat, sauter au début de la boucle ou pas.
Deuxième exemple :
Code : mov ecx,2
@boucle:
push offset msg
call prints
dec ecx
jnz @boucle
;Ce programme fait la même chose que le premier exemple
---
VB.NET is good ... VB6 is better 
|
|
lundi 28 septembre 2009 à 00:04:58 |
Re : Boucle en ASM

abdellahchakir
|
Réponse acceptée !
Bonsoir
une boucle est un outil informatique qui permet d'executer des instructions
ou un sous programme pas mal de fois (defins par le programmeur)
dont la syntaxe est :
label ; label:de ton choix
...
...
...
goto label ; goto:mot cléf primordial utilisé pour refaire la boucle
la boucle s'utilise dans pas mal d'applications,mais je vais entamer
l'une des applications les plus utilisées c'est le temporisateur
programme d'un temporisateur de niveau1:
movlw 0XFF ;charger w par la valeur hexa FF =11111111(binaire)
boucle ;label de boucle
movwf compteur ;chager le contenu de w dans le registre compteur
;créé par le programmeur
decfsz compteur,w ; decrementer le contenu du registre compteur
; mettre le resultat dans w et sauter si zero
goto boucle ; compteur#0 --> refaire la boucle
|
|
lundi 28 septembre 2009 à 12:17:48 |
Re : Boucle en ASM

pont
|
Réponse acceptée !
Bonjour;
Le terme de boucle indique que l'on revient au départ, le système est bouclé, comme pour un amplificateur avec sa contre-réaction, ou un oscillateur, qui n'oecille qu'à cause de sa boucle.
Et il y a plusieurs sortes de boucles, surtout 3:
1) boucle de répétition, avec le nombre de tours défini à l'avance.
2) boucle faire "tant que", avec un nbre de tours indéfini, avec une condition à l'entrée. Donc on n'y rentre pas forcément.
3) boucle faire "jusqu'à", style la précédente mais condition à la sortie. Donc on y fait un passage mais on ne revient pas forcément en haut pour faire un deuxième.
Ensuite il y a des combinaisons de boucles, par exemple les boucles chevauchantes, une grande boucle peut englober une ou des petites. Ces boucles chevauchantes se font en Pascal et C, et en assembleur. Ces boucles sont courantes et connues de tout le monde
Il y a aussi les boucles imbriquées, interdites en Pascal, en C, mais possibles en assembleur, elles sont totalement différentes des précédentes, et procèdent d'un mécanisme identique à une chaîne à maillons croisés, donc pas la chaîne de vélo, mais les chaînes de levage, les chaînes à vaches, ou de marine. On passe d'une boucle à l'autre avant que la première soit forcément satisfaite mais quand l'entrée de la 2e l'est, et réciproquement, et la difficulté est d'en sortir, et il faut croire que les rédacteurs de langages de haut niveau ont renoncé à modéliser ce genre de boucles en les déclarant "impossibles.
Mais l'assembleur est un jeu où tout est permis aux artistes de la spécialité comme avoir une case mémoire qui sert à plusieurs variables, chacune à son tour, ou des variables qui changent de type, comme il n'y a pas de type en assembleur, que tout est bit ou octet, vous pouvez multiplier des lettres, ou faire tout ce qui est possible aux instructions, sans contrôle. C'est le règne de la liberté. C'est beaucoup plus puissant que tous les autres langages, qui eux ont été écrits en assembleur.
pont
|
|
mardi 29 septembre 2009 à 09:48:56 |
Re : Boucle en ASM

vita01
|
m erci milles fois de ta reponse
|
|
mardi 29 septembre 2009 à 18:42:41 |
Re : Boucle en ASM

pont
|
Bonjour Vita01,
Pour compléter ce qui a été dit plus haut, je te donne un exemple bien connu sur les temporisations de tout système, qui sont de véritables blocages du système, qui devient alors totalement inopérant pendant leur déroulement, on avait la même chose avec les entrées de données et encore maintenant sur le PC, on voit un encadré, qui donne un ordre de cliquer ici, sinon tout reste bloqué, c'est de la très mauvaise programmation.
Au contraire, en assembleur, vous n'avez pas cela, il n'y a aucune procédure de tempo, donc on ne vous suggère rien. Et plutôt que de faire du comptage débile dans une tempo, ce que les idiots s'obstinent à faire en vrais moutons de Panurge, on voit cela partout dans les cours d'informatique, c'est aussi abrutissant que les tris de fichiers, preuve que j'ai subi ça à la fac, on construit une tempo efficace, qui fait quoi?
Je parle du contexte industriel, où on a une machine, qu'elle soit de fabrication ou d'emballage, n'importe, et comme toute machine elle est automatisée, avec un petit microcontrôleur dans lequel il y a le programme de marche normale, et d'autres programmes accessoires mais importants qui consistent dans la surveillance du fonctionnement de la machine pour prévoir les pannes, par ex elle déclenche un vérin pneumatique qui doit normalement mettre 0,5 seconde pour arriver en bout de course, et elle attendrait sans rien faire? Pas du tout elle peut faire des milliers dopérations en o,5s, voire des millions si elle est programmée en assembleur (les MIPS, c'est uniquement en assembleur!) va tester des températures, des vitesses de mobiles de la machine, elle fait une armée de contrôles, fait des statistiques, en déduit ce qui s'use, anormalement ou pas, elle fait tout ce qu'un ouvrier sérieux peut faire pour surveiller et entretenir la machine en plus de son travail normal, pour elle une tempo n'existe pas, alors une interruption de timer ou autre la rappelle à son travail normal. Qu'un timer, qui ne peut faire autre chose, fasse du comptage, oui, mais gaspiller le temps processeur en le bloquant à ne rien faire non, voilà la différence entre bonne et mauvaise programmation.
Donc je l'ai toujours dit aux jeunes: arrêtez de faire des boucles de tempo, il y a mieux à faire!
Si vous avez l'occasion, visitez la salle des machines d'un bateau diesel-électrique, le MARION-DUFRESNE, là vous verrez du véritable automatisme bien conçu. Et visitez aussi plein de sociétés où vous verrez du matériel tristement mal automatisé, qui tombe en panne sans prévenir, mais ne communique rien à l'opérateur. Il n'y a d'ailleurs aucune interface de dialogue, aucun moyen de contrôle.
Bonne programmation,
pont
|
|
mardi 29 septembre 2009 à 19:27:04 |
Re : Boucle en ASM

vita01
|
merci pour tout tes conseils, en fait tu sais, je suis encore à mes debut en assembleur et j'aimerais vraiment macher assembleur , saurais-tu me conseiller un site ou suivre pas à pas pour debutant enfin de devenir un jour genie d'assembleur?
merci d'avance
|
|
Cette discussion est classée dans : boucle, asm, assembler
Répondre à ce message
Sujets en rapport avec ce message
Compileur ASM [ par fabiin ]
SalutQuel compileur ASM me conseillez-vous ???Merci @+Fabs
Besoin de conseils en livre sur l'asm! [ par BlackWizzard ]
je voudrais m'acheter un livre sur l'asm sans trop de blabla et pas trop cher...qqun a qqchose a me conseiller?
virgule flotante en asm [ par webfish ]
Bonjour, Je fais de l'assembleur depuis pas longtemps, et j'aimerais savoir comment on fait des calculs avec des nombres à virgule flotante...
asm [ par damien174 ]
bonjour je viens de commencer a faire de l ASM sur PC, car je connais tres bien sur 68HC11.Avez vous des cours et un logiciel pour assembler et compil
ASM pour 68hc11 [ par Sphaxs ]
SphaxsSalut tout le monde,J'ai fait une plaque de test pour utiliser un 68hc11 mais je n'arrive pas à le programmer (pb de logiciel???), si quelqu'un
passage de paramétres entre VCpp et ASM [ par orchis ]
bjr a tous,j'ai ecris un programme en VCpp dont un module est en assembleur, mais je ne sais faire passer des paramétres entre les deux !! pourriez vo
Routine asm dans gcc [ par Juke ]
quelqu'un connait t'il un txt en francais qui explik comment incorporer de l'asm dans du c++ avec gcc ou dev-c++ ?
Reboot de la machine en c/c++ ou asm [ par Juke ]
quelqu'un sait t'il comment rebooter ou éteindre l'ordinateur en c/c++ ou en asm ?merci de votre aide.juke
objets ASM [ par gblade ]
est ce que qqun saurait comment exporter des membres statics d'une classe ecrite en ASM ? je sais faire avec les membres virtuels mais pas les statics
Cherche développeurs asm pour OS [ par Shinji ]
Salut, je cherche des gens intéressés par le développement d'un système d'exploitation sur x86 en asm (pour commencer).J'essaie seul pour le moment et
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|