Question

Je cherche à faire un outil de débogage matériel qui fonctionne sur la CPU nue (x86), en mode protégé 32 bits et sans système d'exploitation. En raison des contraintes de temps, je ne serai pas en train d'écrire l'outil tout en assembleur x86. J'aime le langage Ada (mais je suis inexpérimenté avec elle) et pensé qu'il pourrait être intéressant d'utiliser Ada plutôt que C pour ce projet.

Avec C, on peut utiliser l'assembleur en ligne ou appeler par écrit dans l'assemblage des sous-programmes pour accéder au BIOS pour des choses de base comme le clavier E / S ou l'affichage du texte à l'écran. Ada a une capacité similaire? Et si oui, personne ne sait de toute ressource ou des tutoriels pour appeler des méthodes d'assemblage et la liaison avec eux?

Était-ce utile?

La solution

Vous pouvez utiliser le code assembleur en ligne en Ada. Vous devez utiliser le package System.Machine_Code qui fournit la (surcharge) fonction Asm.

Autres conseils

Le manuel de référence GNAT a une section sur code machine Insertions , et alors qu'il est GNAT spécifique, on devrait être en mesure d'avoir une idée générale de la façon dont cela fonctionne même si vous utilisez un compilateur différent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top