Compiller un programme assembleur pour windows
Résolu/Fermé
thyma2
Messages postés
20
Date d'inscription
dimanche 26 mars 2017
Statut
Membre
Dernière intervention
7 janvier 2020
-
Modifié le 26 mars 2017 à 19:58
thyma2 Messages postés 20 Date d'inscription dimanche 26 mars 2017 Statut Membre Dernière intervention 7 janvier 2020 - 2 avril 2017 à 20:01
thyma2 Messages postés 20 Date d'inscription dimanche 26 mars 2017 Statut Membre Dernière intervention 7 janvier 2020 - 2 avril 2017 à 20:01
A voir également:
- Compiller un programme assembleur pour windows
- Programme demarrage windows 10 - Guide
- Clé windows 10 gratuit - Guide
- Désinstaller programme windows 10 - Guide
- Montage video windows - Guide
- Windows ne démarre pas - Guide
3 réponses
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
Modifié le 27 mars 2017 à 01:58
Modifié le 27 mars 2017 à 01:58
'lut,
ça crash pour la simple raison que tu utilises des interruptions BIOS directement, et que là où DOSBOX (émulant DOS, qui n'est pas un "vrai" OS dans le sens où il n'a pas de noyau) ou VirtualBox émulent un BIOS et du matériel indépendant, Windows ne te laissera absolument jamais faire ça avec un simple programme tournant en espace utilisateur.
Dans l'état tu es obligé de faire de l'émulation ou de booter réellement dessus, la manipulation graphique étant toute autre sur Windows.
from human import idiocy
del idiocy
ça crash pour la simple raison que tu utilises des interruptions BIOS directement, et que là où DOSBOX (émulant DOS, qui n'est pas un "vrai" OS dans le sens où il n'a pas de noyau) ou VirtualBox émulent un BIOS et du matériel indépendant, Windows ne te laissera absolument jamais faire ça avec un simple programme tournant en espace utilisateur.
Dans l'état tu es obligé de faire de l'émulation ou de booter réellement dessus, la manipulation graphique étant toute autre sur Windows.
from human import idiocy
del idiocy
thyma2
Messages postés
20
Date d'inscription
dimanche 26 mars 2017
Statut
Membre
Dernière intervention
7 janvier 2020
2
2 avril 2017 à 20:01
2 avril 2017 à 20:01
EDIT j'y suis enfin arriver, j'ai trouver comme un grand et dans mon extrême générosité je poste la solution pour ceux qui comme moi galères :
bon de base l'objectif était de crée un noyau qui charge un kernel le tout dans un .img qu'on met dans une clef usb ou sur virtual box puis on se la pète devant les copains qui vous prennent pour un gros taré
bon alors le noyau il est ici : http://a.michelizza.free.fr/pmwiki.php?n=TutoOS.Bootloader
et vous pouvez virez tout ce qui est en rapport avec l'affichage de texte parce qu'en vrai ça sert à rien ^^
ensuite le kernel vous le faites vous même hein ^^ (sinon quel intérêt?) mais vous pouvez toujours prendre un scripte en ligne pour tester)
et enfin vous avez vos deux fichiers sources en .asm
ce qu'il faut faire :
bon ban en premier (j’espère que vous savez déjà) vous compilez en .exe le kernel et le noyau :
nasm noyau.asm -f bin -o noyau.exe
nasm kernel.asm -f bin -o kernel.exe
puis TOUT CON MAIS J'AI GALÉRER 3 HEURS: vous crée le .img :
copy noyau.exe/B+kernel.exe/B disk.img /Y
et enfin deux chois :
vous testez sur une vm comme bosh, quému, ou virutalbox
ou alors avec rawrite vous foutez le .img sur votre clef usb préférer pour booter réellement sur votre os
bon de base l'objectif était de crée un noyau qui charge un kernel le tout dans un .img qu'on met dans une clef usb ou sur virtual box puis on se la pète devant les copains qui vous prennent pour un gros taré
bon alors le noyau il est ici : http://a.michelizza.free.fr/pmwiki.php?n=TutoOS.Bootloader
et vous pouvez virez tout ce qui est en rapport avec l'affichage de texte parce qu'en vrai ça sert à rien ^^
ensuite le kernel vous le faites vous même hein ^^ (sinon quel intérêt?) mais vous pouvez toujours prendre un scripte en ligne pour tester)
et enfin vous avez vos deux fichiers sources en .asm
ce qu'il faut faire :
bon ban en premier (j’espère que vous savez déjà) vous compilez en .exe le kernel et le noyau :
nasm noyau.asm -f bin -o noyau.exe
nasm kernel.asm -f bin -o kernel.exe
puis TOUT CON MAIS J'AI GALÉRER 3 HEURS: vous crée le .img :
copy noyau.exe/B+kernel.exe/B disk.img /Y
et enfin deux chois :
vous testez sur une vm comme bosh, quému, ou virutalbox
ou alors avec rawrite vous foutez le .img sur votre clef usb préférer pour booter réellement sur votre os
27 mars 2017 à 18:19
mais du coup peut tu m'envoyer un tuto qui me donne la syntaxe assembleur autoriser par windows parce que bon si je dois rebooter mon ordie sur ma clef pour lancer mes programmes c'est pas top ^^
j’espère que la syntaxe windows ne complique pas bon au bout de 2 semaines à tous mettre en place j'arrive enfin à m'y retrouver ^^
29 mars 2017 à 00:32
Il y a sans doute d'autre solutions mais tu vas devoir coder beaucoup toi-même.
30 mars 2017 à 20:19
mais j'ai un autre problème pourrais tu m'aider stp
enfaite j'ai décider de crée un mini os (pas un vrai genre windows hein juste deux trois programmes) et je me dit que je peut pas le coder en une fois cette os alors pour me faciliter je vais le fragmenter en pleins de fonctions (genre la fonction ligne que j'ai améliorer depuis) et que quelques programmes principaux vont appeler ces fonctions.
mais je n'arrive pas a ouvrir un programme à partir d'un autre
je m'explique
j'aimerai faire ceci:
[code]
ORG 0x7C00
;ceci est mon noyau ici j'aimerai charger un programme du nom de clavier.exe comment je fait ?
times 510 - ($ - $$) db 0
dw 0xAA55
[/code]
Modifié le 31 mars 2017 à 19:04
comment à partir de mon noyau je lance un autre programme ?
je compile mes programmes comme ça (code batch) :
nasm -o test.o test.asm
nasm test.asm -f bin -o test.exe
copy test.exe disk.img /Y (ça c'est la création du disque pour virtual box mais malheureusement la commande ne marche que si il n'y a qu'un seul exe exactement ce que je ne veut pas)
vraiment je suis débutant en asm ne pas trop me bousculer merci ^^ la preuve je me suis limité au mode graphique 13h parce que j'arrivais pas à lancer ceux au dessus^^