Assembleur sous DOS avec NASM - ASM - Programmation
Marsh Posté le 30-09-2004 à 15:54:23
essaie d'insérer un
Code :
|
juste avant d'écrire le message (ça flushe le buffer de sortie)
Marsh Posté le 30-09-2004 à 18:19:31
tiens, j'avais pas vu ça :
Code :
|
essaie plutot ça :
Code :
|
Marsh Posté le 30-09-2004 à 19:17:32
merci en effet c'était bien un problème de casse
n'empêche que je comprends toujours pas pourquoi ça marchait avec "Hello, World !"
Marsh Posté le 30-09-2004 à 20:06:00
Dans l'élan, je pose une autre question : comment demander une chaine de caractères à l'utilisateur (toujours sous DOS) ?
J'ai essayé avec ce code :
(...) |
Mais que faire après ? Lorsque j'essaie d'afficher le contenu de nom, je fais planter le DOS.
Marsh Posté le 30-09-2004 à 14:13:07
Voici deux code a priori identiques, si ce n'est la chaine de caractères qui diffère :
ORG 100h
SECTION .DATA
message DB 'Hello, World !','$'
SECTION .TEXT
MOV AX,0900h
MOV DX,message
INT 21h
MOV AX,4C00h
INT 21h
ORG 100h
SECTION .DATA
message DB 'Tapez un caractere !','$'
SECTION .TEXT
MOV AX,0900h
MOV DX,message
INT 21h
MOV AX,4C00h
INT 21h
Seulement, voila : le premier se compile et fonctionne (il affiche "Hello, World !" ), mais le deuxième se compile, puis à l'excution affiche plein de caractères incompréhensibles, puis fait planter la fenêtre DOS.
Voici les différentes hypothèses que j'ai envisagé, dont aucune ne s'est avérée exacte :
Alors, quel est votre avis ?
Je précise que je débute dans la programmation en assembleur.