je la source suivante pour un programme de montage que je suis arrivé dans un tutoriel vidéo Youtube:programme d'assemblage MASM32 ne fonctionne pas comme prévu
.386
.model flat, stdcall
option casemap:none
include c:\masm32\include\windows.inc
include c:\masm32\include\masm32.inc
include c:\masm32\include\kernel32.inc
includelib c:\masm32\lib\masm32.lib
includelib c:\masm32\lib\kernel32.lib
.data
message1 db "Type your name: ", 0
message2 db "Your name is ", 0
.data?
buffer db 100 dup(?)
.code
start:
invoke StdOut, addr message1
invoke StdIn, addr buffer, 100
invoke StdOut, addr message2
invoke StdOut, addr buffer
invoke StdIn, addr buffer, 100
invoke ExitProcess, 0
end start
Je compilez le programme avec un fichier bat
ml /c /coff %1.asm
Link /SUBSYSTEM:WINDOWS %1.OBJ
J'appelle le fichier chauve assemble.bat donc j'appelle assembler la source et il assemble l'exécutable.
Le problème est que lorsque j'exécute le programme (le programme s'assemble correctement sans erreur), le programme ne fait simplement rien. Je l'appelle dans l'invite de la console et il ne fait simplement rien, le programme affiche simplement une ligne vide et retourne à l'invite de commande comme si rien ne se passait.
Dans le tutoriel vidéo, le gars a assemblé son programme et compilé et a bien fonctionné, mais rien ne se passe pour moi.
mais je ne veux pas lire ou écrire dans des fichiers. Il est destiné à obtenir et afficher des données dans la console. – Victor
@Victor: Les poignées de la console fonctionnent toujours comme des poignées de fichiers. Vous pouvez également les passer à des fonctions spéciales de la console (par exemple 'ReadConsoleInput',' WriteConsoleOutput'), mais puisque vous voulez juste afficher du texte simple et ne pas vous soucier de choses comme changer la couleur du texte, 'ReadFile' /' WriteFile' sont plus faciles. –
Le problème ici est que le code devrait fonctionner. C'est le même code que dans le didacticiel vidéo, et il devrait être en cours d'exécution. Voulez-vous dire que si j'utilise ReadConsoleInput et WriteConsoleOutput, le programme fonctionnera comme prévu? Si c'est le cas, comment utiliser ces fonctions? Le programme se monte bien mais quand je cours il ne se passe rien. – Victor