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

C Discussion :

sous DOS, rebooter la machine


Sujet :

C

  1. #1
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 190
    Points : 83
    Points
    83
    Par défaut sous DOS, rebooter la machine
    Salut,

    Je cherche à rebooter ma machine par programmation.
    J'ai trouvé pleins de posts sur le sujet, mais tous sous Linux ou sous Windows. Moi, je suis sous Dos.

    D'ailleurs, je ne sais pas pourquoi, mais le Ctrl-Alt-Suppr ne fonctionne pas (c'est pour ça que je veux faire le prog d'ailleurs).

    Il me semblais qu'un envoyant une interuption particulière, on pouvait faire ça. Mais je ne me souviens absolument plus comment faire...

    Vous n'auriez pas une idée ?

    Merci,

    Jbat.
    Pour mes développements, j'utilise :
    WinX-64bits, Delphi Tokyo 10.2.2
    Merci, merci, merci... moi aussi je vous aime, c'est trop d'émotions...
    Key user des blagues nulles

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Es-tu réellement sous DOS ou lances-tu ton programme sous WIndows ?
    Sinon je sais plus trop... on peut le faire par le BIOS je sais, mais... c'est violent.

  3. #3
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 190
    Points : 83
    Points
    83
    Par défaut
    Je sais pas si je suis réellement sous DOS, mais en tout cas, je suis pas sous Windows.

    Je suis sous un simili Dos qui s'approche plus d'une disquette d'ammorçage Dos 6.22 que d'un Dos complet. Mais en plus, j'ai chargé d'autres drivers par dessus.

    En tout cas, oui, c'est bien par le bios que je veux faire ça. Pourquoi dis-tu que c'est violent puisque c'est justement ce que je veux faire ?
    Pour mes développements, j'utilise :
    WinX-64bits, Delphi Tokyo 10.2.2
    Merci, merci, merci... moi aussi je vous aime, c'est trop d'émotions...
    Key user des blagues nulles

  4. #4
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 337
    Points : 130 282
    Points
    130 282
    Billets dans le blog
    1
    Par défaut
    Il faut passer par de l'assembleur, voici la syntaxe pour Turbo C :
    Attention : ton programme doit tourner en mode réel

    Si ça ne marche pas précise l'OS exact, la machine, le compilateur utilisé
    Responsable technique forum & site

    Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec

  5. #5
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 190
    Points : 83
    Points
    83
    Par défaut
    Merci,

    Lorsque j'essaye ta ligne d'assembleur, le compilateur me lève l'erreur :
    "Incorrect format number".

    Je compile le programme sous Borland C++ 3 sous Dos (en fait sous W2000) et je souhaite utiliser le programme sous MS-DOS6.22 (mais je rappèle qu'il ne s'agit que d'une version "disquette d'ammorçage")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void main()
    {
    asm jmp far 0xffff:0
    }
    Pour mes développements, j'utilise :
    WinX-64bits, Delphi Tokyo 10.2.2
    Merci, merci, merci... moi aussi je vous aime, c'est trop d'émotions...
    Key user des blagues nulles

  6. #6
    Candidat au Club
    Inscrit en
    Novembre 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 3
    Points : 4
    Points
    4
    Par défaut merci
    interessant comme information merci, je debut en assembleur dans qlq mois vla

  7. #7
    Membre éclairé
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Points : 742
    Points
    742
    Par défaut
    Salut

    Ca ne s'écrit pas comme cela par hasard ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void main() 
    { 
    asm jmp far 0FFFFH:0 
    }
    Bye..
    - Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
    - Travailler dur n'a jamais tué personne, mais pourquoi prendre le risque (Edgar Bergen)

  8. #8
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    question subsidiaire :

    si vous bootez à partir d'une disquette MS-DOS 6.22, le disque C:
    risque de vous être inaccessible

    En effet, l'organisation des fichiers sous DOS et Win2000 sont #.

  9. #9
    Membre éclairé
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Points : 742
    Points
    742
    Par défaut
    Salut

    J'ai retrouver un vieux programme ASM pour rebooter une machine. A essayer...
    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
    Prog1   Segment
            Org 100h
            Assume CS:Prog1
    Start:  Jmp Debut
     
    Farboot Label   Dword
    FarOfs  Dw 0000h
    FarSeg  Dw 0FFFFh
    Reboot  Proc Near
            Mov Ax, 40h
            Mov Ds, Ax
            Mov Bx, 1234h
            Mov Ds:[072h], Bx
            Jmp Farboot
            Ret
    Reboot  Endp
     
    Debut:  Call Reboot
     
    Prog1   Ends
            End Start
    Bye...
    - Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
    - Travailler dur n'a jamais tué personne, mais pourquoi prendre le risque (Edgar Bergen)

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    Lorsque j'essaye ta ligne d'assembleur, le compilateur me lève l'erreur :
    "Incorrect format number".
    ====> c'est normal il faut que tu place ton code assembleur dans un bloc asm

    exemple:

    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
     
    ...
    ...
    ...
    asm
    {
       add $1,$2,$3
       jmp 0xFFFF
       sub ...
       ...
       ...
    }
    ...
    ...
    ...

    voilà ça devrait être bon je pense

  11. #11
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 337
    Points : 130 282
    Points
    130 282
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Vermin
    Ça ne va pas aller. Il faut que l'accolade ouvrante soit sur la même ligne que asm. Ici, c'est comme si tu n'avais pas mis asm. Pourquoi une telle particularité ? C'est parce que en ASM la fin d'une instruction est une fin de ligne et non pas un point-virgule.
    Responsable technique forum & site

    Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec

  12. #12
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 190
    Points : 83
    Points
    83
    Par défaut
    Merci à vous tous de m'aider.

    Mais malgré tout, je ne parviens a compiler toujours aucune des solutions proposées.

    Au mieux, j'ai toujours la même erreur à propos du format du nombre, au pire, j'ai 6 erreurs incompréhensibles.

    De plus, je me demande vraiment s'il connait la commande jmp (même dans un bloc ASM)... car parfois (pas tout le temps, ça dépends des autres erreurs), il me pose une erreur dessus en me disant qu'il ne connait pas.

    Je suis sous Borland Turbo C++3. Peut-être y a-t-il un moyen de faire la même chose en C ?

    Sinon, je veux bien programmer directement en assembleur, mais là, je suis un peu plus novice. J'ai bien trouvé dans le répertoire de mon tcpp.exe un executable nommé tasm2msg.exe mais je ne sais pas m'en servir.
    Pour mes développements, j'utilise :
    WinX-64bits, Delphi Tokyo 10.2.2
    Merci, merci, merci... moi aussi je vous aime, c'est trop d'émotions...
    Key user des blagues nulles

  13. #13
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 190
    Points : 83
    Points
    83
    Par défaut
    Bon, après de longues recherches , j'ai fini par trouver un programme qui fait A PEU PRES ce que je cherche à faire. Je m'en satisferai donc.

    Je le poste ici pour qu'il puisse éventuellement servir à d'autres...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <dos.h>
    void main()
    {
     
      geninterrupt(0x19);  
     
    }
    Ce code ne redémarre pas la machine mais relance depuis le début l'OS...

    Merci tout de même pour votre aide.
    Pour mes développements, j'utilise :
    WinX-64bits, Delphi Tokyo 10.2.2
    Merci, merci, merci... moi aussi je vous aime, c'est trop d'émotions...
    Key user des blagues nulles

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. commande sous DOS
    Par zorian dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 27/04/2004, 11h21
  2. Réponses: 13
    Dernier message: 07/04/2004, 14h25
  3. Réception sur le port série sous DOS avec Borland V3.0
    Par jackyjacky dans le forum Autres éditeurs
    Réponses: 24
    Dernier message: 19/03/2004, 23h18
  4. Mémoire insuffisante sous Dos
    Par Bubonik software dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 20/09/2003, 10h35
  5. Quel etait le secret de Rapid File, la bdd sous DOS
    Par Robert A. dans le forum Autres SGBD
    Réponses: 5
    Dernier message: 27/05/2003, 04h53

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