-
Nombre 32 bits !
Bonjour,
J'ai une petite question, j'aimerais bien que vous me répondiez le plutôt possible.
J'ai besoin de faire une procédure qui affiche des nombres qui se trouvent en zone mémoire. Je l'ai fait pour des nombres sur 16 bits. Mais, j'ai besoin de manipuler des nombres sur 32 bits, or je ne sais pas quel registre utiliser pour les stocker ! J'ai essayé eax mais la notation n'est pas reconnue.
Je peux transférer une partie dans dx, et puis ce qui reste dans ax, mais j'aimerais savoir si c'est possible d'utiliser les combinaisons des registres, et comment, ou bien s'il existe une autre méthode.
Merci.
J'utilise : emulateur 8086 version 4.08
-
Bonsoir,
Si tu travailles avec un émulateur 8086, alors tu n'auras accès à aucun registre 32 bits, ceux-ci ayant fait leur apparition, sur cette famille de processeurs, à partir du 386.
Il faut effectivement travailler avec une combinaison de registres mais il n'y a rien qui te permette de le faire automatiquement. L'avantage, en revanche, est qu'outre le côté extrêmement pédagogique de la chose, une fois que tu sauras faire du 32 bits sur une machine 16 bits, alors tu n'auras virtuellement plus de limite : travailler sur 4096 bits sera pratiquement aussi simple.
Si tu veux afficher le contenu d'un entier sur 32 bits, et donc le convertir en décimal, il te faut faire une division euclidienne sur 32 bits (et te passer de DIV ou IDIV). Le principe est le même qu'à l'école quand tu la posais sur papier, sauf que tu travailleras avec des puissances de 2 et plus 10.
Si, en revanche, tu as besoin de 32 bits parce que tu travailles avec des flottants, il va falloir bûcher un peu plus…