Précédent   Forum du club des développeurs et IT Pro > Autres langages > Assembleur > x86 32-bits / 64-bits
x86 32-bits / 64-bits Architectures x86 32/64 bits et leurs outils (assembleurs, debuggers, émulateurs...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/08/2012, 16h26   #1
yoyo501
Invité de passage
 
Homme
Lycéen
Inscription : août 2012
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Dordogne (Aquitaine)

Informations professionnelles :
Activité : Lycéen
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2012
Messages : 1
Points : 0
Points : 0
Par défaut Interagir avec le disque dur en assembleur

Bonjour,

Je souhaiterais créer une application en assembleur pour interagir avec le disque dur (formatage, lecture tête...). J'ai un processeur AMD Athlon 64 Bit, je souhaiterais savoir comment je pourrais m'y prendre.

En vous remerciant par avance.
yoyo501 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2012, 16h37   #2
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 614
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 614
Points : 11 087
Points : 11 087
Hello,

Il faut que tu saches que l'assembleur, en soi, est le langage du micro-processeur et qu'à ce titre :
  • Il varie d'un processeur à l'autre ;
  • Il est indépendant de la machine dans laquelle celui-ci est installé.

Tu utilises un processeur Athlon 64 Bits, soit. On fait donc l'hypothèse probable que tu travailles sur PC.

Il y a plusieurs façons de faire ce que tu veux faire : la méthode traditionnelle consiste à exploiter les interruptions du BIOS, et l'occurrence l'interruption 13h : http://en.wikipedia.org/wiki/INT_13H . C'est ce qu'il y a de plus simple à écrire et cela fonctionnera sur tous les PC depuis 1980 (sauf peut-être les tous derniers qui utilisent UEFI). Par contre, ça t'oblige à travailler en 16 bits (oui, 16 bits, même pas trente-deux), et à faire un périphérique bootable, car ton système d'exploitation ne te laissera pas faire.

L'autre méthode consiste justement à appeler ton système d'exploitation. Ça dépend donc du système avec lequel tu travailles (Windows, Linux, OpenBSD, DOS, OS/2 Warp :-) et à faire un appel système. La plupart de ces systèmes, cela dit, ont été écrits en C. Il faut donc reconstruire un appel de fonction tel qu'il aurait été généré par le compilateur C. Les bons assembleurs proposent la macro « INVOKE » pour ce faire. Mais à ce stade, ce n'est plus vraiment de l'assembleur.

Que cherches-tu à faire au final ?
Obsidian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h28.


 
 
 
 
Partenaires

Hébergement Web