Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Von CD ein Programm booten

Frage Entwicklung

Mitglied: 26126

26126 (Level 1)

25.02.2007, aktualisiert 19:27 Uhr, 3593 Aufrufe, 3 Kommentare

Mit Assembler starten und mit z.B. QBasic enden?

Hallo Administratoren!

Es ist möglich mit Assembler ein OS von einer Diskette zu starten. Nungut, es ist bestimmt auch mehr möglich, aber soweit bin ich gerade. Und da ist mir eingefallen, dass ich gar kein C kann, mit dem ich dann überhaupt meinen Kernel starten könnte. Ist es also möglich eine CD (oder am Anfang erst eine Diskette) zu schreiben, die als Bootsektor angesehen wird, von der man also booten kann, die aber dann ein NICHT-Assembler Programm startet, sondern ein QBasic Programm oder ähnliches?

Theoretisch: man steckt die Diskette rein, dann kann man von der Diskette mit dem Assemblerbootloader starten und dann wird das andere Programm gestartet. möglich oder nicht?

Mit freundlichen Grüßen, Datis
Mitglied: miniversum
25.02.2007 um 17:39 Uhr
Den Anfang mußt du in assembler machen. Dafür gibts ja genügend Codebeispiele und Erklärungen wie zu kompilieren im Internet.

Amembler brauchst du halt das du an der Startadresse die der Bootloader des PCs will wirklich beginnst (geht ja mit ORG). Dann noch den Stack festlegen in assembler udn danach kanst du auf ne Funktion in C verweisen als FAR Prozedur halt. Ob das equivalent mit QBasic geht weiß ich allerdings nicht.

miniversum
Bitte warten ..
Mitglied: 26126
25.02.2007 um 17:57 Uhr
Danke für deine schnlle Antwort.

Dass du ein Profi bist, ist mir gleich klar geworden, kannst du es aber auch einem Noob wie mir ein bisschen "noobiger" erklären?

"ORG, FAR, equivalent"
Bitte warten ..
Mitglied: miniversum
25.02.2007 um 19:27 Uhr
Naja Profi...
Also wenn du mal im Internet nach sourcecodes suchst wirst du immer asemblerdateien Finden die am anfang ein ORG und eine Zahl dahinter stehen haben. Die Zahl ist der anfangspunkt des Programmes im Speicher. Dein PC Will dabei immer an einer Bestimmten Adresse des Speichers Booten. Diese Startadresse muß dorthinter dem ORG stehen. Schau einfach mal da ist das schon fertig wenn du nach Sourcecodes suchst.
Als weiteres gibt es vershciedene arten von Prozeduren. Near und Far. Das hat was dmait zu tun ob die Prozedur/Die Funktion die aufgerufen wird in der nähe oder weiter weg ist (innerhalb der Datei oder auserhalb, naja so ähnlich. Jedenfalls wird in Assenbler normalerweise eben diese Startadresse aufgegriffen, der Stack angelegt und dann auf eine Funktion in einer C Datei weitergeleitet. Bei den C dateien ist nicht sichergestellt wo genau diese im Speicher leigen. Durch die Assemblerdatei bekommst du diesen Einsprungpunkt also.

Ob das mit einer Weiterführung in QBasic anstatt in C geht weiß ich allerdings nicht. Müßte man ausprobieren.

Wenn Du mal nach Sourcecode für Betriebssysteme schaust wirst du schnell mehrere Betriebssysteme finden die sogar nur in assembler geschrieben sind. Sourcecode dazu ist auch leicht zu finden inclusive einer beschribung welcher Compiler benutzt werden soll und wie das ganze Funktioniert.

miniversum
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Microsoft Office
32 Bit CAD Programm und Excel 64 Bit geht nicht (5)

Frage von GrueneSosseMitSpeck zum Thema Microsoft Office ...

Windows Installation
PXE Boot-Von CD Starten (2)

Frage von STITDK zum Thema Windows Installation ...

Notebook & Zubehör
Surface Pro 4 Booten von USB Stick (6)

Frage von endurance zum Thema Notebook & Zubehör ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...