En prenant mon premier cours en langage assembleur, je suis frustré avec des messages d'erreur cryptiques pendant le débogage ... Je reconnais que les informations suivantes ne suffiront pas à trouver la cause du problème (donné ma compréhension limitée de la langue d'assemblage, ColdFire (MCF5307, famille M68K)), mais je serai heureux de prendre conseil.Adresse Erreur dans l'assemblage (ColdFire MCF5307)
...
JSR out_string
Adresse erreur (format 0x04 vecteur état de défaut de 0x03 0x1 état reg 0x2700)
Je trouve une question similaire sur http://forums.freescale.com/freescale/board/message?board.id=CFCOMM&thread.id=271, en ce qui concerne le ADRESSE ERREUR en général.
La réponse à la question indique que l'erreur d'adresse est due au fait que le code essaie "incorrectement" d'exécuter sur une limite non alignée (ou d'accéder à une mémoire non alignée).
Mes questions seront:
Qu'est-ce que cela signifie pour « tort » d'essayer d'exécuter une limite/mémoire non alignés? S'il y a un exemple, cela aiderait beaucoup
Qu'est-ce qu'une limite/mémoire non-alignée?
Comment (en utilisant des points d'arrêt et trace par exemple.)
Si tel est l'hexagone adresse de out_string, alors c'est une adresse impaire, le 1 à la fin est définitivement impair. Vous avez besoin du .align devant le symbole out_string comme l'autre gars l'a mentionné. –
merci beaucoup pour votre message; J'ai résolu le problème –