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:

ASM von FreeBASIC

 
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
DOSe
aka EXP-S


Anmeldungsdatum: 05.07.2005
Beiträge: 96

BeitragVerfasst am: 13.12.2005, 18:14    Titel: ASM von FreeBASIC Antworten mit Zitat

OK ich poste das bewusst net in die FB sparte da es mehr ums ASM geht lächeln

mich durchdringt da gerade die Frage, FB ist ja in der Lage ASM Code vom Basic Code zu generieren, wodrauf greift FB zurück? sind die Print / Input Routinen Betriebssystem abhängig geschrieben worden, oder sind das eigene Funktionen, so das man wenn man eine BIN datei erstellen würde, die ohne Probleme auch ohne OS ausführen könnte..

also wenn man sich REIN aufs Print und Input beschränken würde...

hat da wer FB schonmal soweit aus ein ander genommen?

Greez DOSe
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 13.12.2005, 19:41    Titel: Antworten mit Zitat

Hi,
da es für verschiedene Betriebssysteme unterschiedliche FB-Versionen gibt, wird FB auch systemabhängige Routinen benutzen.
Wenn ich die Quellcode-Dateien von FB richtig deute, dann werden die erstellten Programme aus vorkompilierten SUBs und Funktionen zusammengebaut.
Ich bin zwar nicht 100% sicher, sehe aber keine Möglichkeit ohne ein Betriebssystem FBProgs zum laufen zu bekommen.
Gruß
Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DOSe
aka EXP-S


Anmeldungsdatum: 05.07.2005
Beiträge: 96

BeitragVerfasst am: 13.12.2005, 19:57    Titel: Antworten mit Zitat

Alles klar, schade eigentlich xD lächeln
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eastler_dart



Anmeldungsdatum: 25.09.2005
Beiträge: 177
Wohnort: Baden-Würtemberg + Sachsen

BeitragVerfasst am: 13.12.2005, 21:56    Titel: Antworten mit Zitat

Wenn das nu richtig verstanden hab, spielst du mit dem Gedanken, ein Programm laufen zu lassen, BEVOR ein Betriebssystem gestartet wird.

Volta hat bestimmt Recht, sonst wären ja nicht mehrere Versionen von FB vorhanden.

Aber daraus ergibt sich doch auch der Schluß, welche Version weitestgehendst an die Hardware ran geht.

Denken wir mal an die DOS-Version von FreeBasic.
In Verbindung (beim Compilieren) mit einer LIB (für Grafik) werden damit Programme erstellt, welche unter DOS Grafikauflösungen fahren, die DOS so nicht kennt.
Somit (zumindest für die Grafikausgabe) wird doch die Hardware (Grafikkarte) direkt (VESA-Standard) angesprochen.
Solche LIBs bringen oft auch alternative Tastaturtreiber mit, meist mit dem Hintergrund, daß diese schneller wären, als input/Inkey$.
Wäre zu testen, ob meine Vermutung stimmt, daß diese alternativen Tastaturabfrageroutinen ebenfalls mit der Hardware direkt arbeiten.

Sollte das alles so sein, wären doch die gefragten Voraussetzungen da: Eingabe und Bildschirmausgabe direkt mit der Hardware.

Sicher wirds schwierig, wie kriegt man die Programmdatei in den Speicher kopiert und dann zum Ausführen überredet???

Falls du tiefer forschen willst, denk ich mal, in diese Richtung sollte der Weg gehen. Versuch auch mal nach dem Thema Bios-Programme-schreiben zu googeln. Bios ist ja auch bloß ein Programm, und das läuft ebenfalls ohne Betriebssystem.

Hoffe das hilft dir ein bißchen

Eastler

EDIT P.S: Boot-Loader zum starten verschiedener Partitionen/Betriebssysteme laufen auch, bevor ein Betriebssystem da ist. z.B. unter Linux gibts lilo, der die Möglichkeiten Anzeigt und je nach Eingabe ein Betriebssystem startet. Google auch mal in Richtung "Boot-Loader programming" oder so
_________________
Kaum macht mans richtig, schon geht's


Zuletzt bearbeitet von Eastler_dart am 13.12.2005, 22:02, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Yahoo Messenger
DOSe
aka EXP-S


Anmeldungsdatum: 05.07.2005
Beiträge: 96

BeitragVerfasst am: 13.12.2005, 22:00    Titel: Antworten mit Zitat

hm du gibst mir hoffnung lächeln

das müsste gehen, vorraussetzung wenn ich nen leeres FBC Programm in ASM Code umwandle, macht FBC da keinen Betriebsystem spezifischen code mit rein, und eine Binary zu sarten ist so auch kein Prob, da hab ich noch tonnenweise Besipiel Sources da, die mir demonstrieren wie man ohne OS was ausgeben kann...

jedoch tu ich mich mit ASM immer noch etwas schwer, daher dieser Gedanke lächeln

ich werds denke ich mal im nächsten jahr ausprobieren...

ich geh mal davpn aus das die .bi von QB auch FB Kompatibel sind? o_O
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 13.12.2005, 22:06    Titel: Antworten mit Zitat

die .bi vllt, aber die qb.qlb bekommst du nich portiert.. => call interrupt / call absolute gibts ned falls du da drauf rauswolltest..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 13.12.2005, 22:41    Titel: Antworten mit Zitat

Na, dann spiel ich mal den Hoffnungskiller grinsen

Print und Imput lassen sich über BIOS-Interrups erstellen, das ist kein Problem.
Zitat:
wie kriegt man die Programmdatei in den Speicher kopiert und dann zum Ausführen überredet???

eben,
nach dem Kaltstart oder Reset wird die Adresse 0x0FFFF0 im BIOS-Segment angesprungen (Hardware gebunden).
Die verweist auf den POST (PowerOn SystemTest) dann wird die Bootstrap-Routine (Bootsektor laden) aufgerufen.
Bis dahin läuft alles über das BIOS (patchen?).
Der Urlader aus dem Bootsektor sucht genau nach IO.SYS und MSDOS.SYS auf dem Bootdrive, ja und dann bist du fast im OS. traurig
Also ohne BIOS- oder Bootsektor-patch Kopf schütteln
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DOSe
aka EXP-S


Anmeldungsdatum: 05.07.2005
Beiträge: 96

BeitragVerfasst am: 13.12.2005, 23:06    Titel: Antworten mit Zitat

volta hat Folgendes geschrieben:
Der Urlader aus dem Bootsektor sucht genau nach IO.SYS und MSDOS.SYS auf dem Bootdrive, ja und dann bist du fast im OS. traurig
Also ohne BIOS- oder Bootsektor-patch Kopf schütteln


naja aber auch nur wenn der DOS-Bootsektor vorhanden ist zwinkern wenn ich mein eigenen kleinen bootloader schreibe, der dann vom ersten sektor einer dis das prg in den speicher läft sollte das kein Prob sein, da hab ich sogar noch nen tutorial hier wie man sowas anstellt lächeln
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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