Forum: PC-Programmierung Bios - wie programmieren


von Anfänger10101 (Gast)


Lesenswert?

Mal eine Frage von einem Amateur:

Wie wird das Bios von einem Computer programmiert? Wenn ich eine 
Bios-Datei habe, wie kann ich mir die anschauen? Mit einem Editor?


Danke!

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Anfänger10101 schrieb:
> Wie wird das Bios von einem Computer programmiert?
Mit einem Editor in Assembler

> Wenn ich eine
> Bios-Datei habe, wie kann ich mir die anschauen? Mit einem Editor?
Disassembler.

von München-Allach (Gast)


Lesenswert?

Die kannst Du Dir mit einem Hex-Editor anschaun. Nutzt nur nicht viel, 
da siehst Du nur den Maschinencode.

Den Maschinencode kann man zwar mit geeigneten Programmen wieder in 
Assembler übersetzten. Aber selbst damit können nur echte Profis was 
anfangen.

von München-Allach (Gast)


Lesenswert?

Öha, Nils war schneller. Meint aber das Gleiche.

von DirkB (Gast)


Lesenswert?

Wenn du mal eins aschauen willst, schau mal hier:
http://www.vintage-computer.com/vcforum/archive/index.php/t-2289.html

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

in den Urzeiten hat IBM das noch veröffentlicht, im "AT Technical 
Reference Manual" ist das komplette kommentierte Listing drin, hab ich 
oft als Grundlage benutzt für Fragen, z.B. wie funktioniert ein PC 
COM-Port (die Hardware ist auch drin).

Vielleicht findest du das noch irgendwo, manches gibts auch in Netz.

Für einen heutigen PC wirst du kein Listing mehr bekommen, es sei denn 
du kaufst Entwicklungssoftware von einem der üblichen Hersteller wie 
AMI, Award oder Phönix. Das können sich aber nur PC-Hersteller leisten.

Gruss Reinhard
PS ich hatte mal so einen BIOS Dev. Kit, noch für XT, sieht aber so aus 
als ob ich ihn weggeworfen hätte.

von Anfänger10101 (Gast)


Lesenswert?

Danke für die schnellen Antworten.

Wo bekomme ich so einen passenden Disassembler her? Mein Wissen in 
diesem Bereich hat noch nicht einmal das Niveau von Wikipedia erreicht. 
Ich kann zwar ein bisschen Programmieren, bin aber nicht vom Fach. Ist 
nur eine reine Interessensfrage!

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Wie wärs mit google? x86 disassembler?

von Anfänger10101 (Gast)


Lesenswert?

oooooookayy....... da gibts wohl so einige...

Kann da jemand was für ein Asrock-Bios (AMD-AM2-Prozessor ) empfehlen?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Um mich zu wiederholen:

> Wie wärs mit google? x86 disassembler?

von rudi (Gast)


Lesenswert?

Nils S. schrieb:
> x86 disassembler?
Vergiss es, denn: das eigentliche BIOS, welches du flashen tust, ist in 
dem File komprimiert. Wenn der PC started, wird es in das RAM entpackt 
und steht erst dann zur Disassemblierung bereit.
"Wenn der Programmcode vom BIOS komprimiert ist wird es in den 
RAM-Baustein entpackt."
http://www.google.de/webhp?complete=0#sclient=psy-ab&hl=de&complete=0&site=webhp&source=hp&q=bios+komprimiert&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=28609f4cbea231bf&biw=1280&bih=871

von Anfänger10101 (Gast)


Lesenswert?

Jau, habe ich:

http://en.wikibooks.org/wiki/X86_Disassembly/Disassemblers_and_Decompilers


Hier sind einige kostenlose Dissassembler für Windows aufgeführt. Alle 
unter "Free Windows Disassemblers" habe ich durch... klappt nicht.

von Christian B. (casandro)


Lesenswert?

Es gibt aber auch Coreboot, das ist ein schlankes BIOS für Leute die 
eigentlich nur Linux starten wollen:

http://www.coreboot.org/Welcome_to_coreboot

Das ist im Quellcode verfügbar und initalisiert auch moderne Hardware.

von Anfänger10101 (Gast)


Lesenswert?

Christian Berger schrieb:
> Es gibt aber auch Coreboot, das ist ein schlankes BIOS für Leute die
> eigentlich nur Linux starten wollen:
>
> http://www.coreboot.org/Welcome_to_coreboot
>
> Das ist im Quellcode verfügbar und initalisiert auch moderne Hardware.

Aha! Kompliziert sieht so was also aus.... Danke!

von Christian H. (christian_h)


Lesenswert?

Bitte, auch aus Interesse, versuche nicht als Anfänger Disassembler Code 
zu lesen. Mach es richtig (sonst wirst du wohl noch 10.000 Threads 
eröffnen, weil du nichts verstehst). Also, du solltest schonmal 
Assembler können (da dir sonst der Code eh nichts sagen wird, dann 
solltest du Grundlagen in Rechnerarchitektur kennen (ansonsten kapierst 
du nicht, wofür der Code da ist, denn Zeilen wie mov ax, 09 werden dir 
dann nichts verraten). Danach kannst du mit viel Übung und viel Zeit, 
vielleicht etwas über das BIOS lernen.

Tipp: Wenn du einigermaßen Programmieren kannst (und Assembler 
verstehst), auch mal bei Betriebssystem reingucken, da lernt man 
ebenfalls, was das BIOS ganz genau macht, wo es liegt, wie der PC 
startet und funktioniert usw.

Aber so jetzt werde dich leider nur die ??? besuchen kommen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.