Ergebnis 1 bis 20 von 37

Thema: Patches selber machen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat
    Abgesehen von HTML(Keine richtige Programmiersprache) kann ich einbisschen Phyton und daher weiß ich, dass "print" auch haüfig in Programmiersprachen vorkommt.^^
    Genauso wie "else" usw...
    Mit diesem Wissen solltest du vielleicht erstmal eine richtige Programmiersprache wie Python oder Ruby richtig lernen - dann hast du auch im XP etlich mehr Möglichkeiten als von Hause aus - bevor du dich an Patches und Assembler begibst.

    Alle Programmiersprachen, sei es Ruby, Python, Lua oder sogar C(++) (das ich nicht unbedingt als Anfängerfreundlich einstufen würde) haben eines gemeinsam: Sie wurden für Menschen entwickelt.
    Assembler ist da ganz anders. Assembler ist mehr oder weniger nichts weiter als die Sprache des Prozessors, wobei die einzelnen Befehle Namen kriegen, anstatt der Zahlen, mit denen die CPU arbeitet.
    Alle Konstrukte, die es so in gängigen Programmiersprachen gibt, wie print, if-else, Schleifen usw. gibt es in Assembler nicht.
    Was es gibt sind ein paar Befehle um Speicherinhalte zu bewegen (sowas wie Typen kennt Assembler nicht), einige Rechenbefehle sowie ein paar Befehle um im Code rumzuspringen (direkte Sprünge und bedingte Sprünge).

    Assembler mal so eben lernen ist nicht drin. Ich bin noch nicht mal sicher ob man eine Sprache wie Ruby "mal so eben" lernen kann.
    Ich hab ein wenig Assembler in der Uni im Rahmen einer Vorlesung lernen müssen und wenn ich eines davon behalten habe, dann daß ich niemals in Assembler arbeiten will und wenn dann bitte nur mit sehr ausführlichen Kommentaren (selbst dann ist es schwer genug).

    Aber falls du immer noch interessiert genug bist. Ich kann gerne das (englische) Buch raussuchen, daß uns damals empfohlen wurde (gibts als PDF).

  2. #2
    Zitat Zitat von MagicMagor Beitrag anzeigen
    Assembler mal so eben lernen ist nicht drin.
    Kann ich nur zustimmen. Wer sich trotzdem das ganze ansehen will und nicht unbedingt seinen PC schrotten will, der kann mal "SPIM" und "MIPS" googlen, bzw. "MARS" gibts da auch noch. Ein Handbuch (PDF) müsste unter Umständen noch als "spimdoku" (oder so ähnlich) zu finden sein. Hierbei handelt es sich einfach nur um Assembler- Simulatoren, allerdings würde ich es mir nicht noch einmal antuen wollen.

  3. #3
    Zitat Zitat
    Wer sich trotzdem das ganze ansehen will und nicht unbedingt seinen PC schrotten will, der kann mal "SPIM" und "MIPS" googlen, bzw. "MARS" gibts da auch noch. Ein Handbuch (PDF) müsste unter Umständen noch als "spimdoku" (oder so ähnlich) zu finden sein. Hierbei handelt es sich einfach nur um Assembler- Simulatoren, allerdings würde ich es mir nicht noch einmal antuen wollen.
    Eine kurze Google-Anfrage ergibt, daß du hier wohl etwas verwechselt. Unter dem Begriff "MIPS" finde ich eine Mikro-Prozessor-Architektur, was sich mit den Simulatoren decken würde, da man hier einen Mikroprozessor simulieren muss.
    Mikroprozessor-Programmierung ist kein Assembler. Mikroprozessor-Programmierung liegt eine Ebene tiefer unter dem Assembler und ist gewissermaßen die Schnittstelle zwischen Assembler und Hardware.

    Assembler braucht man nicht simulieren, man kann es direkt zu einer binary assemblieren und ausführen. (für die in heutigen PCs verwendete x86-Architektur wäre das zB mit NASM möglich)

    Mal ein direkter Vergleich von Hochsprachen und Assembler:

  4. #4
    Zitat Zitat von MagicMagor Beitrag anzeigen
    <snip>Mikroprozessor-Programmierung ist kein Assembler. Mikroprozessor-Programmierung liegt eine Ebene tiefer unter dem Assembler und ist gewissermaßen die Schnittstelle zwischen Assembler und Hardware.
    Einspruch! µPc ist sehr wohl Assembler, nur halt mit einem etwas anderen Befehlssatz, als man ihn vom PC her kennt - aber was soll's? Der 286er hatte auch einen ganz anderen Befehlssatz und eine andere Register-Struktur als moderne Prozessoren, trotzdem ist beides Assembler. Unterschiedliche Dialekte will ich gerne zugeben, aber immer noch Assembler - genauso wie das, was ich für meine ATMEL-Chips fabriziere.

  5. #5
    Zitat Zitat
    Einspruch! µPc ist sehr wohl Assembler, nur halt mit einem etwas anderen Befehlssatz, als man ihn vom PC her kennt - aber was soll's? Der 286er hatte auch einen ganz anderen Befehlssatz und eine andere Register-Struktur als moderne Prozessoren, trotzdem ist beides Assembler. Unterschiedliche Dialekte will ich gerne zugeben, aber immer noch Assembler - genauso wie das, was ich für meine ATMEL-Chips fabriziere.
    Vielleicht meinen wir hier jeweils mit Assembler nur etwas anderes. Bei uns wurde in Info2 Mikroprozessor-Programmierung seperat von Assembler behandelt und eben eine Ebene tiefer angesetzt. Vermutlich kann man das auch als Assembler bezeichnen, ich habe hier im Thread aber mit Assembler implizit die x86-Architektur gemeint und dessen Befehlssatz wie er eben von NASM erzeugt wird.
    Denn hier im Thread geht es nunmal immer noch um Patches für den Maker und demzufolge mMn um das Verändern der Maker-Exes, der nunmal in x86-Code vorliegt.

  6. #6
    Zitat Zitat von MagicMagor Beitrag anzeigen
    Vielleicht meinen wir hier jeweils mit Assembler nur etwas anderes.
    Kann gut sein. Hamburger glauben auch nicht, dass Bayern Deutsch sprechen können.

    Zitat Zitat
    Bei uns wurde in Info2 Mikroprozessor-Programmierung seperat von Assembler behandelt und eben eine Ebene tiefer angesetzt.
    Da würde mich echt mal interessieren wieso? Ob ich meinen MOV AX Sonstwas nun auf 'nem X86 oder auf 'nen ATMEL ausführen lasse, ist doch Wurscht - beides ist Assembler.

    Zitat Zitat
    Vermutlich kann man das auch als Assembler bezeichnen, ich habe hier im Thread aber mit Assembler implizit die x86-Architektur gemeint und dessen Befehlssatz wie er eben von NASM erzeugt wird.
    Allein bei den X86ern gibt's -zig Dialekte die auch auf Verlangen von NASM passend erzeugt werden können. Im Standardfall nimmt er halt den kleinsten gemeinsamen Nenner - aber IIRC, kann er sogar für ATMEL, PICaxe und sonstwas passenden Maschinencode erzeugen. Alles Assembler, in meinen Augen, aber ich will mich da nicht streiten.

    Zitat Zitat
    Denn hier im Thread geht es nunmal immer noch um Patches für den Maker und demzufolge mMn um das Verändern der Maker-Exes, der nunmal in x86-Code vorliegt.
    In welchem? Dem von Intel, oder dem von AMD, oder gar ganz rustikal in dem von CYRIX?

    OK, ich will mich wirklich nicht streiten, aber für mich ist Assembler eine Suppe, die jeweils passend für den Prozessor zugeschnitten (gewürzt) wird/wurde, auf dem sie ausgeführt (gekocht) werden soll. Ob der Topf nun Intel, AMD, Atmel, oder sonstwie heißt, interessiert mich nicht. Zumindest so lange nicht, wie es nicht um Zeit-kritische Anwendungen geht, wo zB der AMD 1 bis 2 Prozessorzyklen mehr für einen Assembler-Befehl braucht als der Intel - oder umgekehrt, je nach Situation.

    Geändert von Das'O' (04.07.2010 um 17:50 Uhr) Grund: Typo

  7. #7
    Ein Assembler ist einfach nur ein Übersetzungstool für beliebige Befehlssätze (MIPS, x86, ARM, PowerPC, usw, wobei es in der Regel noch weiter zwischen Dialekten unterschieden wird, wie Das 'O' bereits bemerkte).

    Was MagicMagor wohl mit "Mikroprozessor-Programmierung" meint, ist die Implementierung eines Befehlssatzes mittels des Mikrobefehlssatzes der zugrunde liegenden Hardware, was jedoch vom Hardwarehersteller selbst vorgenommen wird. Der Begriff "Mikroprozessor-Programmierung" ist hier anscheinend nur unglücklich gewählt.

    Mit Mikroprozessor/-controller-Programmierung verbinde ich, wie auch Das 'O', die Programmierung eines Mikroprozessors/-controllers mittels eines Befehlssatzes, oder einer höheren Programmiersprache wie etwa C.

    Geändert von Kyuu (04.07.2010 um 18:11 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •