AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Maschinensprache

Ein Thema von Neutral General · begonnen am 13. Okt 2004 · letzter Beitrag vom 27. Okt 2005
Antwort Antwort
Seite 6 von 10   « Erste     456 78     Letzte »    
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#51

Re: Maschinensprache

  Alt 20. Okt 2005, 13:46
Zitat von nieurig:
Hallo Mabuse!
Super Anleitung/Beschreibung
Angesichts der heutigen Tools fällt es schwer jemandem die absoluten Grundlagen darzustellen. Dein Text ist Spitze.
Niels
Danke
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Dussel

Registriert seit: 19. Okt 2005
12 Beiträge
 
#52

Re: Maschinensprache

  Alt 20. Okt 2005, 15:54
Dass binär und hexadezimal das gleiche ist, ist mir klar. Deshalb habe ich binär ja auch als Alternative in Klammern geschrieben. Das sollte nur heißen 'Wenn jemand ein entsprechendes Programm binär schreiben kann, dann muss er es nicht in hexadezimal umschreiben.'
Die Gründe, warum ich nicht Assembler möchte, sind erstens, dass ich mich dann wieder in einen Assemblers einarbeiten muss, zweitens möchte ich so systemnah wie möglich programmieren und drittens möchte ich auch irgendwann mal *.exe oder andere Dateien lesen können, ohne sie zu disassemblieren (was mit nicht *.exe Dateien ja auch gar nicht funktioniert, oder?)
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#53

Re: Maschinensprache

  Alt 20. Okt 2005, 16:11
Zitat von Dussel:
drittens möchte ich auch irgendwann mal *.exe oder andere Dateien lesen können, ohne sie zu disassemblieren
Wie soll das in der Praxis aussehen?

Zitat von Dussel:
(was mit nicht *.exe Dateien ja auch gar nicht funktioniert, oder?)
Warum nicht? Prozessoranweisungen sind Prozessoranweisungen...
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#54

Re: Maschinensprache

  Alt 20. Okt 2005, 16:12
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.
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#55

Re: Maschinensprache

  Alt 20. Okt 2005, 18:00
Zitat von Dussel:
Die Gründe, warum ich nicht Assembler möchte, sind erstens, dass ich mich dann wieder in einen Assemblers einarbeiten muss, zweitens möchte ich so systemnah wie möglich programmieren und drittens möchte ich auch irgendwann mal *.exe oder andere Dateien lesen können, ohne sie zu disassemblieren (was mit nicht *.exe Dateien ja auch gar nicht funktioniert, oder?)
Lies das hier mal bitte durch:
Wofür eignet sich Assembler?

Du kannst also alle Hex Codes der Mnemonics auswendig lernen und dann kannst Du auch im Kopf Maschienensprache lesen.

Eine kleine Auswahl an Assemblerbefehlen (inkl. Maschienencode) findest Du hier:
http://de.wikibooks.org/wiki/Assembl...efehlsreferenz

Hier ist eine etwas vollständigere Liste der Befehle, aber ohne die entsprechenden Maschienencodes:
http://moab.eecs.wsu.edu/~ee314/handouts/x86ref.pdf

Viel Spaß
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#56

Re: Maschinensprache

  Alt 20. Okt 2005, 18:38
Zitat von Dussel:
Dass binär und hexadezimal das gleiche ist, ist mir klar. Deshalb habe ich binär ja auch als Alternative in Klammern geschrieben. Das sollte nur heißen 'Wenn jemand ein entsprechendes Programm binär schreiben kann, dann muss er es nicht in hexadezimal umschreiben.'
Die Gründe, warum ich nicht Assembler möchte, sind erstens, dass ich mich dann wieder in einen Assemblers einarbeiten muss, zweitens möchte ich so systemnah wie möglich programmieren und drittens möchte ich auch irgendwann mal *.exe oder andere Dateien lesen können, ohne sie zu disassemblieren (was mit nicht *.exe Dateien ja auch gar nicht funktioniert, oder?)
Das finde ich schwachsinn!

Auch wenn die Gefahr besteht das mich ein Mod umbringt:
Wozu in Maschienencode Programmieren wenn es Hex gibt, und wozu in Hex Programmieren wenn es ASM gibt, und wozu in ASM Programmieren wenn es Hochsprachen gibt( Auch die in verschiedenen Generationen )?

Du kannst genauso anfangen deinen Prozessor selber zusammenbauen, und das ist allergrößter Schwachsinn!
Nicht umsonst hat man asm und Hochsprachen eingeführt, die einzigen die vielleicht heute noch mit HEX und Maschienencode zu tun haben sind wohl die Entwickler von Prozessoren die neue Befehle einführen( Stichwörter: MMX, SSE , 3DNOW ), und selbst dort haben sie denke ich sicherlich geeignete Tools und Geräte um sich das leben leichter zu machen!

Selbst Betriebssysteme lassen sich mit mit einer Hochsprache und einem Speziellen Compiler entwickeln( Ob die Basis auch damit Entwickelt wird ist Fraglich, aber ich hatte mal einen Link wo drinstand wie es geht )!

Um es kürzer auszudrücken: Du kannst auch gleich mit einem Stock gegen einen Panzer anrennen, weit kommst du damit nicht! Wenn dir Delphi nicht gefällt such dir >>hier<< eine Sprache aus, oder versuchs mal mit Brainf*ck!

hf & gl
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#57

Re: Maschinensprache

  Alt 20. Okt 2005, 19:11
Zitat von Speedmaster:
Wozu in Maschienencode Programmieren wenn es Hex gibt
Allein durch diesen Halbsatz disqualifizierst du dich eigentlich schon

Zitat von Speedmaster:
und wozu in ASM Programmieren wenn es Hochsprachen gibt( Auch die in verschiedenen Generationen )?
Um die Architektur zu verstehen und weil man einige Dinge in Assembler besser gebacken kriegt als in mittelmäßigen Hochsprachen.

Zitat von Speedmaster:
Du kannst genauso anfangen deinen Prozessor selber zusammenbauen, und das ist allergrößter Schwachsinn!
Wieso? Vielleicht kommt ja ein CISC bei raus

Zitat von Speedmaster:
die einzigen die vielleicht heute noch mit HEX und Maschienencode zu tun haben sind wohl die Entwickler von Prozessoren die neue Befehle einführen( Stichwörter: MMX, SSE , 3DNOW ), und selbst dort haben sie denke ich sicherlich geeignete Tools und Geräte um sich das leben leichter zu machen!
Stimmt, die Tools nennen sich "Assembler".

Zitat von Speedmaster:
Selbst Betriebssysteme lassen sich mit mit einer Hochsprache und einem Speziellen Compiler entwickeln( Ob die Basis auch damit Entwickelt wird ist Fraglich, aber ich hatte mal einen Link wo drinstand wie es geht )!
Mit einer normalen Hochsprache kriegst du kein Betriebssystem hin.
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#58

Re: Maschinensprache

  Alt 20. Okt 2005, 20:45
Zitat von tommie-lie:
Mit einer normalen Hochsprache kriegst du kein Betriebssystem hin.
Soso, C++ zählt also nicht zu einer Hochsprache? Sicherlich, um asm kommst du nicht rum, aber eine Hochsprache ist C++ trotzdem! Zudem sagte ich ja mit einem Speziellen kompiler, habe natürlich vergessen zu sagen das man auch Spezielle Libs braucht!

Zitat von tommie-lie:
Um die Architektur zu verstehen und weil man einige Dinge in Assembler besser gebacken kriegt als in mittelmäßigen Hochsprachen.
Hmm, das kann sein( Wenn nicht umbedingt .NET im Spiel ist ), allerdings ist der Geschwindigkeitsunterschied nicht so krass, und du Programmierst mit einer Hochsprache mit großer Wahrscheinlichkeit schneller( Gibt natürlich Leute wie uall )!
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#59

Re: Maschinensprache

  Alt 20. Okt 2005, 20:56
Zitat von Speedmaster:
Sicherlich, um asm kommst du nicht rum
Danke daß du mir zustimmt, so what?
Allen mir bekannten Hochsprachen fehlen Sprachelemente um bestimmte Dinge zu machen, die in einem Betriebssystem zwingend notwendig sind, ein Betriebssystem lässt sich also nicht mit einer der bekannten Hochsprachen möglich, sondern man benötigt einige tausend Zeilen Assembler dafür. Daß der weitaus größere Teil aktueller Betriebssysteme in einer Hochsprache geschrieben ist, zweifele ich ja nicht im geringsten an, ich weiß nämlich, daß es so ist.

Zitat von Speedmaster:
allerdings ist der Geschwindigkeitsunterschied nicht so krass
Kommt auf den Anwendungsfall an. Man ist in Assembler schon mal gerne um Größenordnungen schneller als der Compiler (zumindest geht das beim Delphi-Compiler, ich gebe zu, GCC/C++-Compilate habe ich mir noch nicht angeschaut).
  Mit Zitat antworten Zitat
Neotracer64

Registriert seit: 27. Okt 2004
292 Beiträge
 
Delphi 7 Professional
 
#60

Re: Maschinensprache

  Alt 20. Okt 2005, 21:14
Doch es wäre wirklich möglich ein OS ganz ohne einen Code in Assembly geschrieben zu haben zum laufen zu bringen.

Letztendlich wird doch alles was man in einer Hochsprache programmiert in Maschinencode umgewandelt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 10   « Erste     456 78     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz