![]() |
ASM zu binärcode bzw funktionierender exe?
Tag allerseits.
Da mich das gebiet Assembler total interressiert(sowie Compilerbau :twisted:), würde ich gerne wissen, wie man von Assembler code zu einem ausführbaren programm kommt. Wenn ich es richtig verstanden habe ist es doch so verkettet: Hochsprache -> Assembler -> Binärcode (bitte dringenst korrigieren wenn ich falsch liege) MFG Memnarch |
AW: ASM zu binärcode bzw funktionierender exe?
Assembler = Binärcode
Assembler ist nur eine Textanzeige des Binärcodes. Das kannst du vergleichen mit der Darstellung von Zahlen, diese lassen sich im dezimalen System besser lesen als im binären. 0011 = 3 Es gibt nun noch spezielle Editoren, welche ASM-Code als "Hochsprache" behandeln und Sprungmarken mit Text darstellen. Diese Textmarken werden dann in Adressen beim kompilieren umgesetzt. Ohne diese Editoren müsste man die Adresse ausrechnen und eingeben. Wenn du mal CPU "anfassen" möchtest, dann empfehle ich dir einen Mikrocontroller zu nehmen und diesen zu programmieren. Beliebt sind die Atmel 8Bit Risc Prozessoren - billig und leicht zu beschalten. Das schöne da dran - man muss alles per Hand machen, da es kein OS gibt. |
AW: ASM zu binärcode bzw funktionierender exe?
Die einfache Antwort wäre
Compilieren,Linken,fertig. Aber das willst Du wahrscheinlich nicht lesen. Es gibt "Sprachpakete" bei denen es so gemacht wird, wie Du es skizziert hast: Hochsprache -> (Makro)Assembler -> Binärcode -> Ausführbares Programm Was sind denn Deine konkreten Anliegen? Gruß K-H |
AW: ASM zu binärcode bzw funktionierender exe?
Ich glaube wir haben uns etwas verpasst^^.
mir geht es darum: wen ich z.B den ausgeschriebenen befehl "mov" habe, wie wird der "übersetzt". Gibt es dafür eine tabelle, wird der wert einfach aus den Asciizeichen berechnet? mit "mov" im Klartext kann eine CPU ja schlecht was anfangen o.O. Und dan ebend noch: wie ist das mit einer Executable unter windows.? EDIT: rote box war wohl wieder auf urlaub.... EDIT2: Also: ich möchte ein programm schreiben dass aus einer art selbst definierter hochsprache(hoch in anführungszeichen...eher was sehr simples proceduales) den noch für menschenlesbaren ASM code generiert. Ok da bin ich noch im stande mir selbst zu helfen. Wenn ich aber bei dem lesbaren ASM angekommen wäre, wie geht es dan weiter? Was muss ich tun, damit ich daraus dan ein ausführbares programm machen kann? MFG Memnarch |
AW: ASM zu binärcode bzw funktionierender exe?
Ich glaube ihr verwirrt ihn nur mehr...
Also man kann Assembler quasi 1:1 in Binären Code (ich nenne es mal so) umwandeln. z.B. entspricht der Befehl "hlt" dem Byte (Opcode) 0xF4 mov eax, 20 inc eax hlt :arrow: B8 14 00 00 00 40 F4 Liste mit Befehlen/Opcodes: ![]() Infos zum Aufbau von Exe-Dateien findest du bei Wikipedia: ![]() und natürlich bei Microsoft selbst: ![]() |
AW: ASM zu binärcode bzw funktionierender exe?
Meinst Du TASM oder MSAM?
|
AW: ASM zu binärcode bzw funktionierender exe?
@Neutral General: ah das ist doch schonmal was. Aber "quasi" bedeutet ja das ich trotzdem irgendwo ne referenz haben muss(also welcher opcode für welchen befehl ;) ). Aber damit komm ich schonmal weiter, danke.
@Bummi: o.O? |
AW: ASM zu binärcode bzw funktionierender exe?
Das
![]() Kapitel 2 sollte imho die Zusammensetzung der Instruktionen beschreiben. |
AW: ASM zu binärcode bzw funktionierender exe?
@Bummi
ich denke das ist in diesem zusammenhang egal Gruß K-H Edith: vielleicht noch als Zusatz, der "Assemblercode" für ein LINUX-Programm ist der gleichen wie bei windows, da der Processor der gleiche ist. Nur die systemspezifischen Befehle, unterscheiden sich. (Linker) Also alles was Du für das Laden des Programms und für die Speicheradressierung brauchst. (OK ein bischen API und ....) |
AW: ASM zu binärcode bzw funktionierender exe?
Zitat:
![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz