bootloader masm
-
ich wollte nur versuchhalber mit masm machen, nur aus neugier.
ich kann irgendwie nix finden, dass masm bin format machen kann. heisst dass mit masm nicht moeglich ist?
-
JnZn558 schrieb:
ich wollte nur versuchhalber mit masm machen, nur aus neugier.
ich kann irgendwie nix finden, dass masm bin format machen kann. heisst dass mit masm nicht moeglich ist?Wie gesagt, .com/.exe sind "kompliziertere" Formate, die erst aus dem simplen Code erzeugt werden. Mit Masm muss man doch auch manuell linken, versuchs doch mal ohne GUI und schau an, was er dir ausspuckt.
-
JnZn558 schrieb:
ich wollte nur versuchhalber mit masm machen, nur aus neugier.
ich kann irgendwie nix finden, dass masm bin format machen kann. heisst dass mit masm nicht moeglich ist?MASM kann das nicht -> jWasm.
-
Ethon schrieb:
JnZn558 schrieb:
ich wollte nur versuchhalber mit masm machen, nur aus neugier.
ich kann irgendwie nix finden, dass masm bin format machen kann. heisst dass mit masm nicht moeglich ist?Wie gesagt, .com/.exe sind "kompliziertere" Formate, die erst aus dem simplen Code erzeugt werden. Mit Masm muss man doch auch manuell linken, versuchs doch mal ohne GUI und schau an, was er dir ausspuckt.
Nicht ganz. Die echten 16Bit DOS .com-Programme (dh., was nicht einfach eine umbenannte .exe ist) sind auch nur nackter Code, allerdings mit der Vorgabe, dass sie bei Offset 0x100 starten. Wenn du die Segmentregister entsprechend setzt, sollte es moeglich sein, einen funktionierenden Bootloader als .com-Programm zu fabrizieren.
-
Nobuo T schrieb:
Ethon schrieb:
JnZn558 schrieb:
ich wollte nur versuchhalber mit masm machen, nur aus neugier.
ich kann irgendwie nix finden, dass masm bin format machen kann. heisst dass mit masm nicht moeglich ist?Wie gesagt, .com/.exe sind "kompliziertere" Formate, die erst aus dem simplen Code erzeugt werden. Mit Masm muss man doch auch manuell linken, versuchs doch mal ohne GUI und schau an, was er dir ausspuckt.
Nicht ganz. Die echten 16Bit DOS .com-Programme (dh., was nicht einfach eine umbenannte .exe ist) sind auch nur nackter Code, allerdings mit der Vorgabe, dass sie bei Offset 0x100 starten. Wenn du die Segmentregister entsprechend setzt, sollte es moeglich sein, einen funktionierenden Bootloader als .com-Programm zu fabrizieren.
achso, das ist eine möglichkeit. werde ich mal testen. und dann diese .com datei in eine floppy image schreiben.
-
Man kann auch eine normale Exe erstellen und ein wenig im Hexeditor nacharbeiten.
Einen Blick wert: http://flatassembler.net/download.php
-
Hallo,
soweit ich weiß erstellt man eine normale .com Datei.
In dieser ist der Code zum beschreiben des 1 Sektors der Festplatte / Diskette vorhanden sowie der dazugehörige Code.Das was nach dem BIOS geladen wird ist weder eine .com, .exe oder .bin Datei... Nur eine Befehlsfolge von CPU-Befehlen.
Und mit diesem Code lädst du dann die nächsten Codezeilen von der Fesplatte oder Disk in den Ram und setzt den IP auf dessen Anfang.
MfG
Nicky
-
Hmmmm,...
ich habe auch noch keinen bootloader für x86/x64 geschrieben,...
Wo gibts den mehr informationen zu diesem Thema?lg
-
z.B. FAQ oder Erhards OS-Dev Unterforum.
-
Ja ich habe da auch etwas feines gefunden:
http://www.codeproject.com/KB/tips/boot-loader.aspx
greetz