IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Créer un RamDisk en langage machine


Sujet :

Assembleur

  1. #1
    Membre régulier
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 60
    Points : 87
    Points
    87
    Par défaut Créer un RamDisk en langage machine
    Salut tout le monde,
    Voila, je suis en train de développer une application qui nécessiterait la présence d'un RAMDRIVE pour des questions de rapidité.
    Ayant fait un tour sur la toile je ne trouve que des applications ressemblant fortement à des jeux vidéos.
    Ma question, quelqu'un a t'il fait quelque chose en langage machine?
    je souhaiterait créer une fonction du style:

    ( #Drive S:\ #Size 16 )CreateDrive

    j'ai bien fouillé dans MSDN mais j'ai rien trouvé.

    Utilisant une machine Virtuelle qui accepte le code machine, comme ça:

    Desassemblage de la commande create-file

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    see Create-file
    4077BF   40376F ( R-BUF ) CALL          E8ABBFFFFF
    4077C4   EBX ECX MOV                    8BCB
    4077C6   4 [EBP] EAX MOV                8B4504
    4077C9   0 [EBP] EBX MOV                8B5D00
    4077CC   EAX 0 [EBP] MOV                894500
    4077CF   ECX 4 [EBP] MOV                894D04
    4077D2   4 # EBP SUB                    83ED04
    4077D5   EBX 0 [EBP] MOV                895D00
    4077D8   0 [ESP] EBX MOV                8B1C24
    4077DB   404F1F ( ZPLACE ) CALL         E83FD7FFFF
    4077E0   4 # EBP SUB                    83ED04
    4077E3   EBX 0 [EBP] MOV                895D00
    4077E6   EBX POP                        5B
    4077E7   0 [EBP] EAX MOV                8B4500
    4077EA   EBX 0 [EBP] MOV                895D00
    4077ED   EAX EBX MOV                    8BD8
    4077EF   4 # EBP SUB                    83ED04
    4077F2   EBX 0 [EBP] MOV                895D00
    4077F5   1 # EBX MOV                    BB01000000
    4077FA   4 # EBP SUB                    83ED04
    4077FD   EBX 0 [EBP] MOV                895D00
    407800   0 # EBX MOV                    BB00000000
    407805   4 # EBP SUB                    83ED04
    407808   EBX 0 [EBP] MOV                895D00
    40780B   2 # EBX MOV                    BB02000000
    407810   4 # EBP SUB                    83ED04
    407813   EBX 0 [EBP] MOV                895D00
    407816   80 # EBX MOV                   BB80000000
    40781B   4 # EBP SUB                    83ED04
    40781E   EBX 0 [EBP] MOV                895D00
    407821   8000000 # EBX MOV              BB00000008
    407826   0 [EBP] EBX OR                 0B5D00
    407829   4 # EBP ADD                    83C504
    40782C   4 # EBP SUB                    83ED04
    40782F   EBX 0 [EBP] MOV                895D00
    407832   0 # EBX MOV                    BB00000000
    407837   4064CF ( CreateFile ) CALL     E893ECFFFF
    40783C   4 # EBP SUB                    83ED04
    40783F   EBX 0 [EBP] MOV                895D00
    407842   EBX INC                        43
    407843   EBX NEG                        F7DB
    407845   EBX EBX SBC                    19DB
    407847   EBX NOT                        F7D3
    407849   4 # EBP SUB                    83ED04
    40784C   EBX 0 [EBP] MOV                895D00
    40784F   -C7 # EBX MOV                  BB39FFFFFF
    407854   0 [EBP] EBX AND                235D00
    407857   4 # EBP ADD                    83C504
    40785A   RET                            C3
    Il n'y a pas de PB pour intégrer une fonction

    en langage machine


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    CODE   My_Func_Name
     
    bla...
    bla...
    bla...
     
    END-CODE
     
    \ Et le tour est joué




    Ma question,
    qui aurait quelque chose à proposer ?

    Merci pour vos réponses

    Cordialement

    Ludwig

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Si on parle de langage machine plus personne code en langage machine depuis au moins les années 1950 :p
    Le code que tu montre c'est de l'assembleur (après effectivement l'assembleur est proche du langage machine).

    Pour ton souci , si le RAM drive c'est considère la RAM comme un disque dur , ben je vois pas le souci (et je ne vois pas le rapport avec l'asm aussi).
    Tu lis tel adresse comme si c’était un FAT16 ou FAT32.

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 431
    Points : 43 057
    Points
    43 057
    Par défaut
    Sous Windows, c'est pas si simple que ça. Il faut créer un driver.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Ludwig1 Voir le message
    Salut tout le monde,
    Voila, je suis en train de développer une application qui nécessiterait la présence d'un RAMDRIVE pour des questions de rapidité.
    ...
    Ma question,
    qui aurait quelque chose à proposer ?

    Merci pour vos réponses
    Cordialement

    Ludwig
    Ce n'est pas simple et je confirme en cela ce qui a été dit précédemment. Regarde éventuellement cet article de Stack Overflow : how-can-i-create-a-ram-disk

    Evidemment, c'est écrit en rosbif… (pardon à mes amis d'Outre Manche)
    Passe rapidement sur le début qui est moyennement intéressant. C'est plus concret après.
    Désolé de ne pouvoir faire mieux

Discussions similaires

  1. Convertir langage machine en langage C ?
    Par aliwatte dans le forum C
    Réponses: 9
    Dernier message: 08/12/2007, 14h14
  2. Créer un blog! quelles langages?
    Par keishah dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 20/08/2006, 15h42
  3. Langage machine
    Par casafa dans le forum Assembleur
    Réponses: 2
    Dernier message: 11/12/2005, 23h38
  4. Cours interactif langage machine
    Par pierre.jourlin dans le forum Assembleur
    Réponses: 8
    Dernier message: 01/12/2004, 22h07
  5. Créer un interpréteur de langage inspiré du Basic
    Par Picasso dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 11/05/2002, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo