Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Bootloader soll kern.exe laden und starten

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DOZ



Anmeldungsdatum: 14.12.2008
Beiträge: 34

BeitragVerfasst am: 22.03.2010, 17:57    Titel: Bootloader soll kern.exe laden und starten Antworten mit Zitat

Moin,

mein bootlader startet von diskette.

Den Text "Boot fertig" kann er auch ausgeben.
Nur wie starte ich jetzt den kern.exe von diskette.
Load giebt es in assembler nich.

Ich habe mir überlegt den kern hinter den vom bootlader initialisierten speicher bereich in den speicher zu laden und dann dort hin zu JMPen
oder mit CALL das A:\unterPRG.exe diereckt zu starten.

Aber wie...?

bzw. wie startet man überhaupt programme aus in assembler geschriebenen programmen.
_________________
Gruß u.s.
Ersma
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 22.03.2010, 19:20    Titel: Antworten mit Zitat

Wenn du einen Bootloader hast, wirst du vermutlich keine exe-dateien laden können.
Ansonsten: lowlevel.brainsware.org
Da findest du alles.
_________________
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DOZ



Anmeldungsdatum: 14.12.2008
Beiträge: 34

BeitragVerfasst am: 22.03.2010, 19:29    Titel: Antworten mit Zitat

Letztendlich will ich ja nur eine ausfürbare datei starten.
_________________
Gruß u.s.
Ersma
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cherry



Anmeldungsdatum: 20.06.2007
Beiträge: 249

BeitragVerfasst am: 23.03.2010, 11:09    Titel: Antworten mit Zitat

Das wird nicht gehen, weil die in einem speziellen Format sind, das von DOS gelesen und verarbeitet wird - du hast hier aber kein DOS, sondern deinen eigenen Code.

Du könntest damit nur .com-Dateien laden, und auch nur solche, die nur BIOS-Interrupts verwenden und keine DOS-Interrupts (21h z.B.), was sehr unwahrscheinlich ist. Um genau zu sein, kannst du gar keine Dateien laden, weil du keinen Dateisystemtreiber hat. Du könntest höchstens direkt etwas von einem Sektor der Diskette lesen (z.B. den Inhalt einer com-Datei, den du vorher selber dahingesteckt hast) - (wie das geht, musst du nachschauen), und dann in irgendeinem Segment an Offset 0100 laden, ds, es und ss auf dieses Segment setzen, sp auf 0 setzen und dann nach ds:0100 jumpen (diese Umgebung erwartet eine com-Datei).

EDIT: Alle Angaben ohne Gewähr.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 23.03.2010, 18:50    Titel: Antworten mit Zitat

Cherry hat Folgendes geschrieben:
Das wird nicht gehen, weil die in einem speziellen Format sind, das von DOS gelesen und verarbeitet wird - du hast hier aber kein DOS, sondern deinen eigenen Code.

Schöner Vergleich: Versuch, sich eine neue Fähigkeit anzueignen. Dummerweise ist die Person, die sich etwas beibringen möchte, entweder noch ein Kleinkind oder Analphabet, womit er mit der Schrift, Sprache und Wörtern im Lehrbuch nichts anfangen kann...

Genauso ist es hier: "Normale" .EXE-Datei entspricht Buch, welches den Inhalt in Buchstaben und Wörtern in einer Sprache wie Deutsch, Englich usw. darstellt, so dass Sprachverständnis und Lesefähigkeit vorausgesetzt wird.

PC befindet sich aber in diesem Fall mit der Bootdiskette noch im Stadium "Kleinkind", wo die Fähigkeit zum Lesen und Schreiben noch gänzlich fehlt. => Somit müssen Deine Programme in etwa der Sprache der erziehenden Eltern und Kindergärtnerin (=etwas vermitteln können, ohne dass die Schreib- und Lesefähigkeit vorausgesetzt wird) aufgebaut sein. Bedeutet auf den PC übertragen: Höchstens aufs BIOS kannst Du zurückgreifen bzw. musst sogar direkt auf die Hardware gehen.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DOZ



Anmeldungsdatum: 14.12.2008
Beiträge: 34

BeitragVerfasst am: 24.03.2010, 19:43    Titel: Antworten mit Zitat

Genau das mit DOS INTs und so ist ja mein Problem.

In meinen 3-4 Assembler büchern gehen die immer davon aus das ich unter DOS oder sogar Win arbeite.

Also ist mir bewust das ich BIOS INTs benutzen und andere selber schreiben muß und das auch gerne möchte.

@Cherry
Das mit der EXE Bezeichnung sollte eher COM bedeuten, also einfach eine ausführbare Datei und diese sind dann auch von mir auchgeschrieben.

Kann QBasic COM Dateien Kompilieren?

Ansonsten erstmal Danke an alle. . .
_________________
Gruß u.s.
Ersma
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 24.03.2010, 19:47    Titel: Antworten mit Zitat

DOZ hat Folgendes geschrieben:
Kann QBasic COM Dateien Kompilieren?

Nein, mit QBasic kann man ganz streng genommen gar nichts compilieren, weil QBasic nur der Interpreter war und lediglich QuickBASIC (sowie QBX/PDS) einen Compiler mitbrachte. Allerdings kann man auch damit ausschließlich EXE-Dateien erzeugen. Die mit QuickBASIC erzeugten EXE-Dateien sind meines Wissens stets abhängig von DOS-Interrupts.

Übrigens: Die E-Mail-Adresse, die du im Forum angegeben hast, DOZ, ist leider inzwischen ungültig, wie es aussieht. Ich habe schon mehrere "Mail delivery failed: returning message to sender"-Benachrichtigungen deshalb erhalten. Bitte korrigier die Adresse wieder.
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Georgp24



Anmeldungsdatum: 30.06.2006
Beiträge: 81
Wohnort: Ahlen

BeitragVerfasst am: 27.03.2010, 22:26    Titel: Antworten mit Zitat

Ich hatte mal einen Bootloader gemacht der EXE Dateien, genauer gesagt mit Namen "startme.exe" von Diskette geladen und gestartet hat:

http://www.powerbasic.com/support/pbforums/showthread.php?t=24382&highlight=boot

Man kann die startme.exe aber nur mit Assembler oder Powerbasic compilieren. Powerbasic macht praktisch keine DOS-Calls bei Programmstart und verwendet überwiegend das BIOS, ganz im Gegensatz zu Quickbasic das erstmal eine endlose Reihe von DOS-Calls verwendet bevor "Hello World" erscheint.

Georg
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz