Migration des programmes source

L'assembleur émet des erreurs et des avertissements si un programme source contient des instructions qui ne sont pas en mode d'assemblage en cours.

L'assembleur émet des erreurs et des avertissements si un programme source contient des instructions qui ne sont pas en mode d'assemblage en cours. La compatibilité source des programmes de la famille POWER ® est assurée sur les plateformes PowerPC® . Toutes les instructions utilisateur de la famille POWER ® sont émulées dans PowerPC® par le système d'exploitation. Etant donné que l'émulation des instructions est beaucoup plus lente que l'exécution des instructions prises en charge par le matériel, pour des raisons de performances, il peut être souhaitable de modifier le programme source afin d'utiliser des instructions prises en charge par le matériel.

Le problème de "formulaire d'instruction non valide" se produit lorsque des restrictions sont requises dans PowerPC® mais pas dans la famille POWER ®. L'assembleur recherche les erreurs de formulaire d'instruction non valide, mais il ne peut pas rechercher ces erreurs dans l'instruction lswx . L'instruction lswx requiert que les registres spécifiés par les deuxième et troisième opérandes (RA et RB) ne soient pas dans la plage de registres à charger. Etant donné que cela est déterminé par le contenu du registre d'exceptions à point fixe (XER) lors de l'exécution, l'assembleur ne peut pas effectuer de vérification de formulaire d'instruction non valide pour l'instruction lswx . Lors de l'exécution, certaines de ces erreurs peuvent entraîner un échec du silence, tandis que d'autres peuvent entraîner une interruption. Il peut être souhaitable de supprimer ces erreurs. Voir Conditions d'erreur de détection pour plus d'informations sur les formulaires d'instruction non valides.

Si les instructions mfspr et mtspr sont utilisées, vérifiez que le codage de l'opérande de registre à usage spécial (SPR) est correct. L'assembleur requiert que les cinq bits de poids faible et les cinq bits de poids fort de l'opérande SPR soient inversés avant d'être utilisés comme opérande d'entrée. La famille POWER ® et PowerPC® disposent de différents ensembles d'opérandes SPR pour les instructions non privilégiées. Vérifiez le codage approprié de ces opérandes. Cinq SPR de la famille POWER ® (TID, SDR0, MQ, RTCU et RTCL) sont supprimés de PowerPC®, mais les instructions MQ, RTCU et RTCL sont émulées dans PowerPC®. Bien que ces instructions puissent encore être utilisées, il y a une dégradation des performances due à l'émulation. (Vous pouvez parfois utiliser les routines read_real_time et time_base_to_time au lieu du code accédant à l'horloge en temps réel ou aux SPR de la base de temps.)