Les outils
Page 1 sur 1
Les outils
Pour créer les sources des programmes, je n'utilise pas d'atelier logiciel compliqué. Je me contente d'utiliser notepad++ .
Nous utiliserons le compilateur nasm disponible gratuitement à l'adresse : http://www.nasm.us/.
Vous y trouverez aussi un forum (en anglais) et la documentation au format html ou au format PDF.
Installez le compilateur sur votre ordinateur et créez un répertoire pour le développement.
Dans un premier temps, pour compiler il faudra créer un fichier .bat avec la commande suivante en changeant à chaque fois le nom du programme.
L'option -l permet de créer un listing de compilation mais n'est pas obligatoire.
Pour le linker, nous utiliserons golink de Jeremy Gordon disponible à l'adresse : http://www.godevtool.com/.
Vous y trouverez d'autres logiciels et la documentation de golink.
Mais il existe aussi d'autres linker permettant l'utilisation des fonctions des DLL windows.
La commande de base pour l'utiliser est la suivante :
L'option /console permet de faire apparaitre la console qui affichera éventuellement les messages d'erreur ou de débogage.
Ensuite figurent le nom des principales DLL de windows. Il sera nécessaire par la suite d'ajouter des DDL en fonction du type de programme.
L'option /entry indique au linker le nom de la procédure maître : ici c'est Main mais elle peut s'appeler autrement.
Après l'installation, il faut écrire le petit programme classique ci dessous, le sauvegarder sous le nom hello.asm, lancer la compilation et le linker avec les commandes précédentes puis exécuter le programme en cliquant sur le hello.exe généré. Éventuellement, il faudra corriger les erreurs de saisies !!
A l’exécution, vous devez avoir l'affichage du message avec la console en arrière plan :
Sur cette image, vous voyez aussi les fichiers générés par la compilation : hello.obj et hello.txt.
Nous utiliserons le compilateur nasm disponible gratuitement à l'adresse : http://www.nasm.us/.
Vous y trouverez aussi un forum (en anglais) et la documentation au format html ou au format PDF.
Installez le compilateur sur votre ordinateur et créez un répertoire pour le développement.
Dans un premier temps, pour compiler il faudra créer un fichier .bat avec la commande suivante en changeant à chaque fois le nom du programme.
- Code:
<Répertoire principal>\Assembleur\nasm\nasm.exe -f win64 hello.asm -l hello.txt
L'option -l permet de créer un listing de compilation mais n'est pas obligatoire.
Pour le linker, nous utiliserons golink de Jeremy Gordon disponible à l'adresse : http://www.godevtool.com/.
Vous y trouverez d'autres logiciels et la documentation de golink.
Mais il existe aussi d'autres linker permettant l'utilisation des fonctions des DLL windows.
La commande de base pour l'utiliser est la suivante :
- Code:
<Répertoire principal>\linker\Golink hello.obj /console Kernel32.dll User32.dll Gdi32.dll /entry:Main
L'option /console permet de faire apparaitre la console qui affichera éventuellement les messages d'erreur ou de débogage.
Ensuite figurent le nom des principales DLL de windows. Il sera nécessaire par la suite d'ajouter des DDL en fonction du type de programme.
L'option /entry indique au linker le nom de la procédure maître : ici c'est Main mais elle peut s'appeler autrement.
Après l'installation, il faut écrire le petit programme classique ci dessous, le sauvegarder sous le nom hello.asm, lancer la compilation et le linker avec les commandes précédentes puis exécuter le programme en cliquant sur le hello.exe généré. Éventuellement, il faudra corriger les erreurs de saisies !!
- Code:
;programme fenetre windows en 64 bits
global Main
extern ExitProcess,MessageBoxA ; fonction API windows
section .data
szTitre: db 'Win64', 0
szMsg: db 'Hello world!', 0
section .text
Main:
sub rsp, 28h
mov rcx, 0 ; handle fenêtre
lea rdx,[szMsg] ; adresse du message
lea r8,[szTitre] ; adresse du titre de la fenêtre
mov r9d, 0 ; type du message : OK
call MessageBoxA
mov ecx,eax ; code retour avec le code retour de MessageBoxA
call ExitProcess ; fonction de fin du programme
A l’exécution, vous devez avoir l'affichage du message avec la console en arrière plan :
Sur cette image, vous voyez aussi les fichiers générés par la compilation : hello.obj et hello.txt.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|