shepherd1988
Messages postés3Date d'inscriptionjeudi 13 mars 2008StatutMembreDernière intervention29 juin 2010
-
19 oct. 2008 à 13:44
mirmoleboss
Messages postés303Date d'inscriptionmercredi 11 octobre 2006StatutMembreDernière intervention29 juillet 2011
-
23 mars 2010 à 15:27
salut je viens tout juste de commencer la programmation assembleur depuis une semaine et je veux que mon programme m'affiche un caractère que j'entre précedemment au clavier... je bloque vraiment ...
Voilà mon code, je suppose que je fais erreur pour l'instruction de l'affichage mais je vois pas comment la résoudre ! merci de m'aider
Data segment
msg db "saisir caractere" , 13,10, "$"
msg1 db "le caractere saisi: ", 13,10, "$"
Data ends
pile segment stack
db 80 dup (?)
pile ends
code segment
assume CS: code, DS: Data, SS: pile
main :
mov ax, Data
mov ds, ax
mov ax, pile
mov ss, ax
mov cx, 1
mov dx, offset msg
mov ah, 09
int 21h
mov ah,7
int 21h
mov ah, al
mov dx, offset msg1
mov ah, 09
int 21h
mov DL, ah
int 21h
Forthman
Messages postés23Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention 9 janvier 2014 23 oct. 2008 à 18:50
Hello,
après avoir saisie le caractère au clavier avec la fonction 7, plutôt que de vouloir le sauver dans ah (qui va
être modifié par la fonction 9 appelée juste après) sauves le simplement sur la pile par un "push ax"
ensuite, tu peux faire un "pop dx" à la place du mov dl,ah
enfin, pour afficher UN caractère, il faut utiliser la fonction 6 de l'int 21 par un "mov ah,6"
mohboa
Messages postés9Date d'inscriptiondimanche 2 mars 2008StatutMembreDernière intervention25 novembre 2008 20 nov. 2008 à 10:57
c'est tres simpl pour afficher un caracter voila mon programme
assume cs:code
code segment
main proc far
mov AH, 1 ;saisie
int 21h ; le caractŠre lu arrive dans AL
mov dl, AL
mov AH,2
int 21h
mov ah,4ch
int 21h
code ends
main endp
end main