Partage
  • Partager sur Facebook
  • Partager sur Twitter

[NASM] lecture d'une saisie utilisateur

    12 octobre 2020 à 13:07:48

    Bonjour, j'ai commencé à apprendre le NASM et je sais déjà stocker des valeurs dans la RAM et les afficher. Je sais également les comparer. Maintenant, j'ai envie d'apprendre à lire une donnnée (string) saisie par l'utilisateur (comme avec la fonction scanf() en c). Voici un code montrant mon niveau actuel (je comprend la totalité des lignes suivantes)

    org 0x0100
    	
    	init:
    		xor bh, bh ; met la valeur 0 dans bh
    		mov cx, 1 ; met la valeur 1 dans cx pour repeter chaque caractère une seul fois
    		mov ah, 0x0E ; numéro de fonction
    		mov edx, text ; met l'adresse du début de la chaine de caractère dans edx
    
    	traitement:
    		mov al, [edx] ; met la valeur stocker à l'adresse contenu dans edx dans al qui est le caractère a afficher
    		or al, al ; compare al pour positionner les flags sans changer la valeur de al
    		jz sortie ; si le resultat de la comparaison nous donne que al == 0, alors saute au label 'sortie'
    		int 0x10 ; appel la fonction d'affichage d'un caractère
    		inc edx ; increment edx pour aller a l'adresse suivante
    		jmp traitement ; retourne au debut de 'traitement' pour recommencer le cycle
    
    	sortie:
    		ret ; quitte le programme
    
    	text : db "Hello World !", 0


    Merci d'avance



    -
    Edité par AyrtonLachat 12 octobre 2020 à 13:08:34

    • Partager sur Facebook
    • Partager sur Twitter
      17 octobre 2020 à 18:21:56

      Vu que ça semble être du MS-DOS :
      https://www.gladir.com/LEXIQUE/INTR/int21f01.htm

      Sinon pour :

      mov cx, 1 ; met la valeur 1 dans cx pour repeter chaque caractère une seul fois

      Non int 10h /ah = 0xE , ne prend pas CX en paramètre , donc ici cx ne sert à rien

      Et tout programme en .com doit se terminer par

      int 20h



      -
      Edité par HelbaSama 17 octobre 2020 à 18:25:47

      • Partager sur Facebook
      • Partager sur Twitter

      [NASM] lecture d'une saisie utilisateur

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown