Zitat von
Dussel:
Die Gründe, warum ich nicht Assembler möchte, sind erstens, dass ich mich dann wieder in einen Assemblers einarbeiten muss
In die Architektur musst du dich sowieso einarbeiten. Nur wirst du dir die Opcodes vermutlich nicht so leicht merken können, wie die Mnemonics dazu. Und Address-Relocation auf Labels ist auch sehr viel angenehmer, als das Abzählen im Kopf.
Zitat von
Dussel:
zweitens möchte ich so systemnah wie möglich programmieren
Diesen Ehrgeiz in allen Ehren, aber Assembler ist systemnah genug um landläufig als das geekigste Lebewesen ver known zu gelten.
Zitat von
Dussel:
drittens möchte ich auch irgendwann mal *.exe oder andere Dateien lesen können, ohne sie zu disassemblieren
Oha, also mehrere hunderttausend Byte einfach mal so lesen, nur indem du nir die Zahlen anschaust. Wenn du das Ziel erreicht hast: Rehspeck! Du weißt aber schon, daß es mehr als hundert verschiedene Mnemonics gibt, die auch noch je nach Parameter völlig verschiedene Opcodes haben können, während sie für den menschen inhaltlich fast gleich sind? Es gibt einen Grund, warum auf modernen Architekturen sich niemand mehr für Opcodes interessiert.
Zitat von
Dussel:
(was mit nicht *.exe Dateien ja auch gar nicht funktioniert, oder?)
Stimmt, ein BMP-Bild habe ich noch nicht disassemblieren können, ich weiß einfach nicht, was ich falsch mache.
Zitat von
Dussel:
Kann mir jemand sagen, wie das 'hello world' Programm (als hexadezimales Programm) betriebssystemunabhängig aussieht? Im Tutorial steht es als Assembler, ich hätte es aber lieber in Hexadezimal (oder binär) programmiert.
Falls du damit mein Programm meinst: Assembliere es mit GAS und betrachte das Resultat in einem Hexeditor oder schreibe es mit bin2hex in eine Textdatei.