IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

[8086] Saisie de chaîne ?


Sujet :

Assembleur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Par défaut [8086] Saisie de chaîne ?
    En déclarant une chaîne de cette façon :
    je voudrais savoir pourquoi lors de la saisie avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MOV AH,0Ah
    lea dx,chaine
    int 21H
    Je ne peux entrer que 4 caractères
    @+SALI

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 53
    Par défaut
    Arf, heureusement qu'il y a toujours des gens qui programment sous DOS, sinon je n'aurais jamais l'occasion de ressortir ma doc
    Tiens voilà ce que j'ai sur la fonction que tu utilises, tu verras vite d'où viens ton problème...

    Int 21h, Fct 0Ah Entrée d'une chaîne de caractères DOS (> 1.0)

    Cette fonction permet de lire un nombre déterminé de caractères sur le périphérique d'entrée standard et de les transférer dans un buffer. L'entrée se termine lorsque la touche Entrée est actionnée. Le code de cette touche (13) est alors également placé dans le buffer, comme dernier caractère de la chaîne.
    Comme l'entrée standard peut être redirigée sur un autre périphérique ou vers un fichier, les caractères entrés ne proviennent pas nécessairement du clavier. Si les caractères transmis proviennent d'un fichier, le programme d'appel n'a aucune possibilité de détecter si tous les caractères de ce fichier ont déjà été lus, autrement dit si la fin de fichier a déjà été atteinte.

    Entrée :

    AH = 0Ah
    DS = Adresse de segment du buffer
    DX = Adresse d'offset du buffer

    Sortie :

    aucune

    Remarques :

    · Le premier octet du buffer définit le nombre maximal de caractères (y compris le Carriage Return final) qui pourront être lus et placés dans le buffer à partir de la cellule de mémoire numéro deux. Ce paramètre doit être inscrit dans le buffer avant d'appeler la fonction, pour que celle-ci sache combien de caractères elle doit lire au maximum.
    · Le DOS inscrit dans la cellule de mémoire 1, une fois le travail terminé, le nombre de caractères lus à l'exception du Carriage Return.

    · Le buffer doit donc être d'une longueur égale au nombre de caractères à entrer plus 2 octets.
    · Dès que l'avant-dernière cellule de mémoire du buffer est atteinte, l'entrée d'autres caractères entraîne l'émission d'un bip et seule la touche Entrée est encore acceptée pour conclure l'entrée.
    · Les codes clavier étendus occupent deux octets dans le buffer. Le premier octet contient le code 0 et le second contient le code de la touche étendue.
    · Lorsque le caractère Ctrl-C est détecté au cours de l'entrée, l'interruption 23h est appelée.

    · L'entrée peut être éditée à l'aide de la touche Backspace et des touches curseur, sans que ces touches soient sauvegardées dans le buffer.
    · Cette fonction ne modifie le contenu d'aucun registre du processeur, y compris le registre de flags.
    Allez, maintenant je vais voir s'il n'y a pas des questions sur la déclaration de données en BASIC Amstrad

Discussions similaires

  1. [Turbo Pascal] Saisie de chaîne et conversion de minuscule en majuscule
    Par mariem1995 dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 16/04/2013, 03h19
  2. P saisie de chaînes
    Par bertden59 dans le forum Débuter
    Réponses: 2
    Dernier message: 01/06/2012, 19h28
  3. Réponses: 16
    Dernier message: 24/10/2006, 22h37
  4. Réponses: 1
    Dernier message: 13/04/2006, 13h21
  5. Saisie et affichage d'une chaîne de caractères
    Par sali dans le forum Assembleur
    Réponses: 2
    Dernier message: 31/03/2004, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo