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 :

Problème d'affichage d'une chaîne de caractères


Sujet :

Assembleur

  1. #1
    Futur Membre du Club
    Inscrit en
    mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Problème d'affichage d'une chaîne de caractères
    Bonjour,
    Voici le code, je l'ai compilé, il n y a aucune erreur mais lors de l'exécution il n'affiche rien , pourquoi à votre avis?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    data segment
    	s db 'bonjour$'
    data ends
     
    assume ds: data , cs: code
     
    code segment
     
    modetext proc near
    	mov al, 3
    	int 10h
    	Ret
    modetext EndP
     
    gotodos proc near
    	mov ah, 4ch
    	int 21
    	Ret
    gotodos EndP
     
    writes proc near
    	mov ah, 09
    	int 21h
    	Ret
    writes EndP
     
    ; ---- Bloc principal ----
     
    main:
    	call modetext
     
    	mov ax, data
    	mov ds, ax
     
    	mov dx, offset s
    	call writes
     
    	call gotodos		
    code ends
    end main

  2. #2
    Membre à l'essai
    Inscrit en
    juin 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Salut friend, tu dois déclarer le segment de la pile parce que, si tu utilises des procédures, il faut obligatoirement ajouter le segment de pile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    spile segment stack
    db 256 dup(?)
    bpile equ this word
    spile ends
    assume ds:data,cs:code,ss:spile
    code segment
    ;declaration des procedures
    main:mov ax,data
           mov ds,ax
           mov ax,spile
           mov ss,ax
           mov sp,bpile
    ;l'appel des fonctions

  3. #3
    Futur Membre du Club
    Inscrit en
    mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Oui t'as raison, je l'ai déclaré mais ça marche toujours pas

  4. #4
    Membre à l'essai
    Inscrit en
    juin 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    je l'ai teste chez moi et ça marche très bien

  5. #5
    Futur Membre du Club
    Inscrit en
    mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    c'est bizarre, moi j'ai un écran tout noir

  6. #6
    Membre à l'essai
    Inscrit en
    juin 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    si tu peux ecrire tout le programme pour regarder s'il n ya pas de problemes

  7. #7
    Futur Membre du Club
    Inscrit en
    mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    oui voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    data segment
        s db 'bonjour$'
    data ends
     
    spile segment stack
        db 256 dup(?)
    bpile EQU this word
    spile ends
     
    assume ds: data , cs: code , ss: spile
     
    code segment
     
    modetext proc near
        mov al, 3
        int 10h
        Ret
    modetext EndP
     
    gotodos proc near
        mov ah, 4ch
        int 21
        Ret
    gotodos EndP
     
    writes proc near
        mov ah, 09
        int 21h
        Ret
    writes EndP
     
    ; ---- Bloc principal ----
     
    main:
        call modetext
     
        mov ax, data
        mov ds, ax
        mov ax, spile
        mov ss, ax
        mov sp, bpile
     
        mov dx, offset s
        call writes
     
        call gotodos        
    code ends
    end main

  8. #8
    Membre à l'essai
    Inscrit en
    juin 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    tu teste ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    data segment
        s db 'bonjour$'
    data ends
     
    spile segment stack
        db 256 dup(?)
    bpile EQU this word
    spile ends
     
    assume ds: data , cs: code , ss: spile
     
    code segment
     
    modetext proc near
        mov al, 2
        int 10h
        Ret
    modetext EndP
     
    gotodos proc near
        mov ah, 4ch
        int 21h
        Ret
    gotodos EndP
     
    writes proc near
        mov ah, 09
        int 21h
        Ret
    writes EndP
     
    ; ---- Bloc principal ----
     
    main:
     
     
        mov ax, data
        mov ds, ax
        mov ax, spile
        mov ss, ax
        mov sp, bpile
    	 call modetext
        mov dx, offset s
        call writes
     
        call gotodos        
    code ends
    end main

  9. #9
    Membre à l'essai
    Inscrit en
    juin 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    tu peux me dire la methode utilisée pour la compilation?

  10. #10
    Futur Membre du Club
    Inscrit en
    mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    ca aussi n'affiche rien et il me donne un problème le truc Envoyer le rapport d'erreur ou Ne pas envoyer.
    Pour la compilation j'utilise le TASM

  11. #11
    Membre à l'essai
    Inscrit en
    juin 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    tu fais tasm prog.asm
    puis tlink prog.obj
    puis tu sors du dos complétement et tu ouvres une autre fois le dos et tu fais prog.exe
    si ça marcha pas avec cette méthode c'est sur qu'il y a un probleme dans ton pc

  12. #12
    Futur Membre du Club
    Inscrit en
    mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par midou1988 Voir le message
    tu fais tasm prog.asm
    puis tlink prog.obj
    puis tu sors du dos complétement et tu ouvres une autre fois le dos et tu fais prog.exe
    si ça marcha pas avec cette méthode c'est sur qu'il y a un probleme dans ton pc
    malheureusement ça marche pas , mais c'est bizarre ce truc, j'ai d'autres programmes qui utilisent l'affichage en mode texte et même en mode graphique et ils fonctionnent correctement

  13. #13
    Membre à l'essai
    Inscrit en
    juin 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    je l'ai testé dans plusieurs pc ça marche impec

  14. #14
    Membre à l'essai
    Inscrit en
    juin 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    tu peux ne pas utiliser le mode texte et afficher la chaine dans le dos directement

Discussions similaires

  1. Saisie et affichage d'une chaîne de caractères
    Par thouraya24 dans le forum x86 16-bits
    Réponses: 8
    Dernier message: 13/04/2009, 19h01
  2. limiter l'espace d'affichage d'une chaîne de caractères
    Par loic.ledouble dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 26/04/2008, 22h49
  3. [MySQL] Affichage d’une chaîne de caractères contenant des parenthèses
    Par mathiotp dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/11/2007, 20h31
  4. Problème d'affichage d'une chaîne à l'écran
    Par Bubonik software dans le forum C
    Réponses: 7
    Dernier message: 08/05/2004, 20h47
  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, 18h01

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