2010-10-20 18 views
3

Salut pendant que je croise compiler un fichier startup.s (fichier arm-none-eabi-as.s) (* -gcc)erreur de l'assemblage de bras de compilation croisée (bras-aucun-eabi-as) "indésirable à la fin de ligne /" ou symbole indéfini

Je reçois dans chaque ligne de commentaire quelques erreurs - indésirables à la fin de la ligne, le premier caractère non reconnu est /

lorsque je supprime les // quelques lignes de commentaires que je reçois erreurs à propos des symboles indéfinis même je les ai définis au début du fichier.

quelqu'un sait ce qui ne va pas?

+0

#define I_BIT 0x80 ... msr CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT – Gobliins

+0

Vous ne pouvez pas utiliser les en-têtes C dans l'assemblage. – starblue

Répondre

2

(bras) L'assembleur ne supporte pas // les commentaires ou les définitions, vous devez utiliser .equ et @ pour les commentaires. Si vous laissez gcc l'analyser, vous pouvez mettre C isms comme ça dans votre assembleur. Personnellement, j'évite de tels comportements et garde l'assembleur propre. si vous ne pouvez pas faire cela ou besoin inclut avec définit par exemple laissez gcc pré-traiter le fichier avant de l'envoyer au gaz.

2

Si vous souhaitez utiliser des macros ou des commentaires C, vous devez prétraiter le fichier source avec le préprocesseur C. Le préprocesseur C supprime les commentaires et interprète les macros. L'assembleur GNU doit exécuter le préprocesseur C automatiquement si le nom du fichier source se termine par .S, avec un majuscule 'S'.

+0

oui je l'ai compris il y a quelques jours. Thx de toute façon. – Gobliins