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

Programmation d'OS Assembleur Discussion :

Utiliser bootloader pour floppy pour un CD-ROM


Sujet :

Programmation d'OS Assembleur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 14
    Points : 13
    Points
    13
    Par défaut Utiliser bootloader pour floppy pour un CD-ROM
    Bonjour, après avoir trouvé un très bon tutoriel sur la programmation d'OS. J'ai décidé de me lancer dans la création d'un OS. Mais celui-ci me pose problème. J'ai cherché sur Google et j'ai trouvé un bootloader pour Floppy, mais seulement je n'ai pas de lecteur Floppy et pas envie d'en acheter un. Donc j'ai modifié ce bootloader ainsi :
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    [BITS 16]
     
    jmp start
     
    db "CREATOS01"
     
    dw 2352
     
    db 1
     
    dw 1
     
    db 2
     
    dw 224
     
    dw 2880
     
    db 0xF0
     
    dw 9
     
    dw 18
     
    dw 2
     
    dw 0
     
    dw 0
     
    db 0
     
    db 0
     
    db 0x29
     
    start:
     
     
     
    cli ; désactive les interruption car le processeur déteste qu'on touche au segment, il pourrait déclencer une interruption
     
    mov ax, 0x07C0
     
    mov ds, ax
     
    mov es, ax
     
    mov fs, ax
     
    mov gs, ax  ; tous les segments de donées sont initialisés
     
    mov ax, 0x6000           
     
    mov ss, ax ; le bas de la pile est à l'adresse 0x6000:0
     
    mov sp, 0xFFFF ;et la pile à une taille de 0xFFFF octet, donc le somment de la pile est à l'adresse 0x6000:0xFFFF
     
    sti ;réactive les interruptions
     
    mov ax, 0003h ;ah contient le numero de fonction, al le paramètre
     
    int 10h
     
     
     
    ;Une routine qui charge un kernel de 512 octet en mémoire à l'adresse logique 2000:0000 
     
    mov ax, 2000h
     
    mov es, ax ; pour l’int 13h
     
    mov ah, 02h ; numero de fonction de l’int 13h, 02h pour lire des secteurs
     
    mov dl, 00h ; (le lecteur disquette A correspond à 00h, le B à 01h, le disque dur 1 à 80h, le disque dur 2 à 81h)
     
    mov dh, 1 ; numero de face
     
    mov ch, 0 ; numero de piste
     
    mov cl, 16 ; numero de secteur
     
    mov al, 01h ; un seul secteur à lire car le kernel ne fait que 2350 octet ou moins
     
    mov bx, 00h ;pas d'offset
     
    int 13h ;appel de l'interruption
     
    jmp 2000h:0000h ; execution du kernel
     
     
     
    times 2350-($-$$) db 90h; rempli le fichier compile jusqu'au 2350 ème octet
     
    db 0x55 ; magic
     
    db 0xAA ; word
    Vous avez bien vu que j'ai modifié certaines valeurs. J'aimerais savoir si avec ce code je pouvais booter à partir d'un cd. Merci d'avance.

    CDT prog+

  2. #2
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Un CD ne boote pas comme une disquette ou un disque-dur

    Mais il existe des utilitaires pour transposer une image de disquette sur un CD

    Par contre, plutôt que de vouloir graver un CD (pas pratique comme support
    pour développer un OS)

    Pourquoi ne pas utiliser une clef USB ,qui elle s'utilise comme une disquette sur les BIOS modernes ?

    a+ François

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    ok mais alors comment proceder ?

  4. #4
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    J'ai toujours sur moi (sur mon porte-clés) ma clef USB bootable sous DOS
    Quand je veux bidouiller sur une machine, je l'utilise

    Tu as peut-être un début de solution ici : http://www.developpez.net/forums/d60...-usb-bootable/

    a+ François

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    merci mais sa ne m'indique pas comment resoudre mon probleme de bootloader

Discussions similaires

  1. [C#] Utilisation d'une ProgressBar pour un téléchargement
    Par snoof dans le forum Windows Forms
    Réponses: 10
    Dernier message: 04/10/2004, 19h37
  2. Peut-on utiliser les SGBDs libres pour construire un DWH ?
    Par daabos dans le forum Alimentation
    Réponses: 6
    Dernier message: 01/10/2004, 10h35
  3. [DLL] Utilisation d'une DLL pour utiliser serveur Firebird
    Par sekiryou dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/08/2004, 14h20
  4. Utiliser le port parallele pour simuler un digicode
    Par nonoRedDevils dans le forum Assembleur
    Réponses: 8
    Dernier message: 30/12/2003, 13h23
  5. utilisation d'objets ADO pour CMS sur POSTGRESQL7.3.2
    Par turbok dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 10/10/2003, 09h29

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