Problème de retour à la ligne [Résolu]

Signaler
Messages postés
38
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
9 décembre 2011
-
 ashitaka -
Bonjour à tous,

J'ai un petit problème. J'ai un bout de code(ci-dessous) qui assigne du texte à une variable(msgDebut).
msgDebut db "ligne1\nligne2", 13, 10, 0
Normalement \n signifie de passé à la ligne mais ca marche pas. Ca m'affiche "ligne1\nligne2".
Je voudrai que ca passe à la ligne. Comment faire????

Merci d'avance, mmaximum

8 réponses

Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
2
Google est ton ami (rubrique codes ascii)

10 = LF (line feed - saut de ligne)
13 = CR (carriage return - retour à la ligne)
Messages postés
38
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
9 décembre 2011
2
J'ai fini par trouvé.
Il suffisait de faire:
msgDebut db "ligne",13,10,"ligne2", 13, 10
Merci à vous tous de m'avoir aider
Messages postés
38
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
9 décembre 2011
2
J'ai oublié de vous donné ca:

"Fonction" qui affiche la variable:

afficher:
    push ax
    push bx
.debut:
    lodsb         ; ds:si -> al
    cmp al, 0     ; fin chaine ?
    jz .fin
    mov ah, 0x0E  ; appel au service 0x0e, int 0x10 du bios
    mov bx, 0x07  ; bx -> attribut, al -> caractere ascii
    int 0x10
    jmp .debut

.fin:
    pop bx
    pop ax
    ret

Bout de code qui lance la "fonction":
    mov si, msgDebut
    call afficher
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
2
D'après toi, à quoi correspondent les deux octets 13 et 10 de la ligne ci-dessous ?
 
msgDebut db "ligne1\nligne2", 13, 10, 0
Messages postés
38
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
9 décembre 2011
2
Je sais absolument pas!!!!
Messages postés
38
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
9 décembre 2011
2
Merci pour vos réponses mais comment je fais.
J'ai viens d'essayer comme ca:
msgDebut db "ligne1 10 ligne2", 13, 10, 0
puis
msgDebut db "ligne1 \10 ligne2", 13, 10, 0
 mais ca marche pas.
Il faut que je mette où les codes 10 et 13????
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

quand on utilise les instructions lods,scans,cmps,movs, on initialise le flag de direction avant.

@++
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
re,

Quand on est vraiment serieux, on fait:

pushf
cld
...
popf

cela evite de retourner un flag différent a la fonction appelante.

@++