Bonjour
je voudrais savoir quelles sont les interruptions utilisables en programmation assembleur win32
Je sais que certaines interruptions ne sont plus valides (interruptions du dos)
merci pour votre réponse
Bonjour
je voudrais savoir quelles sont les interruptions utilisables en programmation assembleur win32
Je sais que certaines interruptions ne sont plus valides (interruptions du dos)
merci pour votre réponse
Aucune.
Les interruptions dos ne sont pas permises car Windows s'execute en mode protégé.
Windows n'a rien à voir avec Linux. Et même si les interruptions dos seraient permises, tu ne pourrais faire de programme moderne avec (16bits uniquement).
http://en.wikipedia.org/wiki/MS-DOS_API
SI tu veux programmer en asm, je te conseil plutôt d'utiliser Fasm. C'est comme Masm, si on peut dire, mais en mieux. Projet actif, bonne doc, beaucoup d'exemples explicites, et syntaxe vraiment intuitive je trouve.
http://flatassembler.net/download.php
http://flatassembler.net/examples.php
http://flatassembler.net/docs.php
Et surtout, l'indispensable Msdn:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Beaucoup de fonctions disposent d'un ou plusieurs exemples en bas de page:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Il y a aussi des codes complets en exemple pour chaque api:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Sur un forum, j'avais lu le post d'une personne qui disait: "j'ai lu telle doc, telle doc, telle doc, telle doc, et j'ai fini par lire "the art of assembly", mais je n'arrive toujours pas à coder un programme, que me conseillez-vous ?"
C'est un forgeant qu'on devient forgeron. Donc si tu veux savoir programmer en assembleur, code en assembleur. Regarde les exemples, modifie les, réécrit des code C en asm, etc..
Bonjour,
Les interruptions logiciels ou encore les exceptions (ou encore les interruptions programmées ou encore appel système) sont des routines (programmes) écrite par le concepteur du système (Windows, Linux...) pour permettre à l'utilisateur d'accéder au matériel de son PC depuis une application. Ces interruptions seront donc exécutées en mode protégé (mode 32bit pour les processeurs 32bit).
Dans un programme assembleur, l'instruction int n permet de générer une interruption (appel système) immédiatement après son exécution. La valeur n est le ID d'une telle interruption. Il varie d'un système à l'autre (le choisx du concepteur). Sous Linux n = 128 et sous Windows n = 33.
Je vous invite, pour bien comprendre les interruptions, de lire le chapitre 9 de ce document : https://www.google.tn/url?sa=t&rct=j...LjY18zyZt6YQQA
merci pour vos réponses et vos liens
question : pour programmer des applications windows en assembleur, il faut une librairie windows?
si oui, quelles sont -elles pour fasm, nasm?
Et où pourrais-je les trouver ?
Google ne m'aide pas sur ce coup-là
Tu trouveras une grande partie de réponses dans les exemples Fasm.
Télécharge le programme, ensuite regarde dans le répertoire "examples", puis tu ouvres l'exemple "template.asm".
Regarde en bas, le linkage des librairies est dans la section "idata":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 section '.idata' import data readable writeable library kernel32,'KERNEL32.DLL',\ user32,'USER32.DLL' include 'api\kernel32.inc' include 'api\user32.inc'
Donc par exemple, imaginons que tu souhaites coder un programme utilisant des sockets.
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
En bas de la page, la dll necessaire est précisé dans le tableau "Requirements".
Et pour la fonction "socket", c'est "Ws2_32.dll".
Donc dans ton fichier.asm, tu le rajoutes.
Normalement avec la doc et les exemples de Fasm + la Msdn, tu as tout ce qu'il faut pour débuter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 section '.idata' import data readable writeable library kernel32,'KERNEL32.DLL',\ user32,'USER32.DLL',\ ws2_32,'WS2_32.DLL include 'api\kernel32.inc' include 'api\user32.inc' include 'api\wsock32.inc'
d'accord, et pour appeler les fonctions de la librairie, ce sont les mêmes noms pour Fasm?
Oui.
Regarde les exemples c'est très bien fait.
- quetannon (réseau)
- minipad (bureautique)
etc..
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager