2010-11-16 39 views
1

Si je me souviens bien, quand dos charge un programme, le programme utilise tout le processeur, c'est-à-dire que dos ne fait rien pendant ce temps, mais ça ne m'apparaît pas, les appels api doivent encore être évalués . sont les appels api codés en dur dans le programme quand un fichier asm est assemblé et lié? la raison pour laquelle je veux savoir ceci, c'est que j'ai besoin de savoir que le cache est entièrement gratuit pour l'exe, pour expérimenter avec l'optimisation du cache.sont des appels api ms-dos codés en dur dans exe?

+0

L'appel API n'arrête-t-il pas votre programme? Notez également que les interruptions fonctionnent toujours. – Migol

Répondre

3

Vous vous souvenez bien, DOS est un système d'exploitation à une seule tâche. Lorsque votre programme s'exécute, il obtient un contrôle total sur le processeur.

Les appels de l'API DOS sont effectués via l'interruption INT 21. Lorsque vous appelez une fonction API, les registres sont chargés avec les paramètres appropriés et l'interruption INT 21 est appelée. Le contrôle revient ensuite au système d'exploitation, qui traite la demande et transmet ensuite le contrôle à votre application.

La configuration des paramètres et l'appel d'interruption que j'ai mentionnés sont liés statiquement dans l'exécutable, les bibliothèques chargées non dynamiques.