Labels locaux dans as

On peut difficilement être plus proche du cœur du CPU qu'avec l'assembleur...

Modérateur : Francois

Répondre
VincentLeboulou
Messages : 7
Enregistré le : jeu. 19 oct. 2017 10:11

Labels locaux dans as

Message par VincentLeboulou » mar. 22 mai 2018 19:19

Bonsoir à tous.
J'ai progressé dans la pratique de l'assembleur asm sur le raspberry (voir mon blog http://assembleurarmpi.blogspot.fr/) mais je rencontre un problème avec les labels locaux. En effet d'après la doc soit on peut appeler un label local dans une fonction en le faisant commencer par .L par exemple .L_saut1 soit on peut utiliser un label numérique par exemple 2:.
Or avec le premier cas si je mets le même nom d’étiquette (.L_saut1) dans 2 fonctions différentes, j'ai une erreur de compilation et dans le deuxième cas si dans une fonction j'ai oublié l'étiquette 2: un saut par b 2f va sauter à l'étiquette 2: d'une autre fonction.
Ce qui n'est pas très local !!!
Comment résoudre ce problème ?
Merci de vos conseils.

VincentLeboulou
Messages : 7
Enregistré le : jeu. 19 oct. 2017 10:11

Re: Labels locaux dans as

Message par VincentLeboulou » jeu. 31 mai 2018 20:46

Comme je n'ai pas eu de conseils à ma question et que je n'ai rien trouvé sur internet sur ce problème, je me suis replongé dans la documentation de Gas. En fait je faisais une mauvaise interprétation des labels locaux de la forme n: (n numérique). Gas accepte d'avoir plusieurs labels identiques de ce type dans des fonctions différentes mais il ne les distingue pas les uns des autres car l'accès à ces labels ne peut se faire qu"en utilisant les codes b (pour accéder au label précédent ) ou f (pour accéder au label suivant) . C'est donc au programmeur de faire attention à avoir des labels corrects placés dans les bonnes fonctions. 8-)

Répondre

Retourner vers « Assembleur »