Comment la sortie à une valeur stockée dans une variable en assembleur 8086.?
Je suis à l'apprentissage de l'assemblée de la programmation à l'aide de "8086 l'uem" (c'est un programme de logiciel . Émulateur .) Je suis de l'évaluation d'une expression de base -
a=b+c-d*e
Mon problème est que lorsque je suis à l'aide de int 21h à prendre en valeurs , Sa prise seul chiffre (personnage) comme entrée pour chaque variable .
Aussi après l'évaluation , je suis impossible d'imprimer la valeur stockée dans la variable " a " sur l'écran de sortie .
Quelqu'un peut-il donner une solution à la fois les problèmes ?
- Vous êtes probablement plus dans le besoin d'un tutoriel sur x86 de programmation plutôt que d'une réponse à un Q&Un site. Quelque chose comme ceci peut être un bon endroit pour commencer.
- Bienvenue dans le monde merveilleux de l'assemblée. Pas de prise en main ici. Si vous en avez besoin, vous l'apporter. Tout comme un voyage vers le Pôle Sud de la Lune ou de.
Vous devez vous connecter pour publier un commentaire.
Pour la première partie (la lecture en une chaîne de caractères jusqu'à ce qu'une clé usb, par exemple, la touche entrée est touché), vous allez écrire une boucle pour le faire.
Une fonction de l'analyse du décimal ASCII chaîne de caractères en une valeur de registre est également nécessaire.
Pour l'impression d'écran, vous aurez besoin de:
int 21h, AH = 02h
( http://www.ctyme.com/intr/rb-2554.htm ) un caractère à la foisint 21h, AH = 09h
( http://www.ctyme.com/intr/rb-2562.htm ) un ensemble de la chaîneVous aurez également besoin d'une fonction itoa (http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/) pour convertir une valeur de registre dans un multi-chiffres chaîne de caractères ASCII.
L'Url est partie d'une assemblée de programmation tutoriel appelé Ralf Brown Interrompre Liste (RBIL).
Pour une valeur d'octet que j'ai utilisé pour convertir en string et à utiliser les bios de la fonction...
Il a utilisé pour être quelque chose comme ceci: