Saisie et affichage de caractères

Signaler
Messages postés
3
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
29 juin 2010
-
Messages postés
311
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011
-
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

mov ah, 4ch
int 21h
code ends
end main

4 réponses

Messages postés
2
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
2 novembre 2008

j'ai le même problème que toi,
mais je veux bien saisir une chaine de caractères non pas un seul.

aidez moi svp.
Messages postés
23
Date d'inscription
samedi 25 décembre 2004
Statut
Membre
Dernière intervention
9 janvier 2014

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"

Ca devrait fonctionner ;-)

a+ François
Messages postés
9
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2008

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
Messages postés
311
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

Bonjour,
Comment fait on pour juste afficher un caractère sans interruptions?