Ergebnis 1 bis 7 von 7

Thema: Binärcode / Maschinencode

  1. #1
    Registered User
    Registriert seit
    Sep 2003
    Beiträge
    54
    Renommee
    12

    search Binärcode / Maschinencode

    Hi leuts
    ich wollt fragen ob einer von euch ein Tutorial / Manual zu Binärcode/Maschinencode hat?
    ich möchts nicht lernen, aber mal son bissle reinschnuppern
    mfg,
    André

  2. #2
    Registered User
    Registriert seit
    Nov 2003
    Beiträge
    30
    Renommee
    19

    Re: Binärcode / Maschinencode

    Ich nehme an du meinst Assembler, da man Biärcode wohl kaum "lernen" wird...
    Es ist hilfreich wenn du dich vorher mit der Zahlendarstellung in Rechnern vertraut machst. Grundwissen über den Aufbau und die Arbeitsweise von Prozessoren sind Pflicht.
    Um leichter zu verstehen was du tust könntest du dir einen "kleinen Prozessor" (zB: Microcontroller 8051 oä) besorgen und damit zu arbeiten beginnen.
    Ich habe dazu das Buch "Microcomputertechnik" ISBN:3-446-22089-5 verwendet. Ich empfand das Buch als sehr einsteigerfreundlich.

    Hier kannst du dir ja einmal ansehen was dich erwartet:

    http://andremueller.gmxhome.de/toc.html
    http://your.orf.at/teletext/cbarchiv....htm#ASSEMBLER
    http://www.oszkim.de/materi/edemi/inhalt.html
    http://members.aol.com/peschko/
    Gesegnet seien jene, die nichts zu sagen haben und den Mund halten. (Oscar Wilde)

  3. #3
    Moderator
    Registriert seit
    May 2000
    Beiträge
    1.367
    Renommee
    1285

    Re: Binärcode / Maschinencode

    Zitat Zitat von georg
    Ich nehme an du meinst Assembler, da man Biärcode wohl kaum "lernen" wird...
    Ich nehme an, wenn er schreibt "Binärcode/Maschinencode", dann meint er auch Binärcode/Maschinencode.

    Zitat Zitat von Quiz-Master
    ich wollt fragen ob einer von euch ein Tutorial / Manual zu Binärcode/Maschinencode hat?
    Ich gehe einmal davon aus, dass du den Instruktionscode der 80x86-kompatiblen CPUs meinst.

    Als Grundregel kannst du dir merken, dass der Code ein allgemeines Standardformat hat, d.h. bei verschiedenen Instruktionen sind Informationen wie z.B. die adressierten CPU-Register immer gleich codiert.

    Ein einfaches Beispiel ist die Instruktion "XOR DWord reg32" - in den folgenden Beispielen ein 32bit XOR zweier Register.

    Das allgemeine Format dieser Instruktion ist (binär:)
    0011000[i]w [mod][TTT][r/m]

    - also 0x30 oder 0x31, jeweils plus einem Byte als Argument

    w ist ein Bit, also entweder 0 oder 1; es steuert, ob die Register AL, BL, CL und DL oder die
    Register AX, BX, CX und DX adressiert werden.

    Die Instruktion ist außerdem vom Betriebsmodus des Prozessors abhängig (konkret vom sogenannten D-Bit des aktiven Codesegments), das in unserem Beispiel (im Protected Mode unter einem UNIX-Betriebssystem) dafür sorgt, dass die Register mit 32 bit Länge benutzt werden (sie werden dann üblicherweise EAX, EBX, ECX und EDX genannt)

    mod sind die ersten 2 Bit des Argumentbytes, sie legen beispielsweise fest, ob weitere Byte zur Adressierung von Speicheradressen oder direkt angehängten Daten folgen, oder ob direkt z.B. CPU-Register adressiert werden, wie in unserem Beispiel.

    TTT sind 3 Bits, und sie dienen zu Instruktionsspezifischen Zwecken, in dieser Instruktion haben sie die gleiche Bedeutung wie die 3 r/m bits.

    r/m steht für register/memory, das sind 3 Bits, in denen, wie der Name schon sagt, beispielsweise Register adressiert werden, oder z.B. auch Speicher über eine in einem Register gespeicherte Adresse adressiert wird.

    In den Beispielen wird deutlich, wie die Register bei dieser Instruktion codiert sind:
    0x31 0xC0 == 00110001 11[rot]000[/rot][blau]000[/blau] == xorl [rot]%eax[/rot],[blau]%eax[/blau]
    0x31 0xDB == 00110001 11[rot]011[/rot][blau]011[/blau] == xorl [rot]%ebx[/rot],[blau]%ebx[/blau]
    0x31 0xC9 == 00110001 11[rot]001[/rot][blau]001[/blau] == xorl [rot]%ecx[/rot],[blau]%ecx[/blau]
    0x31 0xD2 == 00110001 11[rot]010[/rot][blau]010[/blau] == xorl [rot]%edx[/rot],[blau]%edx[/blau]

    0x31 0xC2 == 00110001 11[rot]000[/rot][blau]010[/blau] == xorl [rot]%eax[/rot],[blau]%edx[/blau]
    0x31 0xD9 == 00110001 11[rot]011[/rot][blau]001[/blau] == xorl [rot]%ebx[/rot],[blau]%ecx[/blau]

    Wenn man ein paar Instruktionen auswendig weiß, und dieses allgemeine Instruktionsformat kennt, kann man mit halbwegs akzeptablem Aufwand ohne besondere Hilfsmittel Maschinencode schreiben - ein Editor, mit dem jedes Byte erzeugt werden kann, oder eine UNIX-Shell, die octale Escapesequenzen ermöglicht, reicht dafür aus.

    MfG,
    octogen
    Segmentation fault (core dumped)

  4. #4
    Registered User
    Registriert seit
    Sep 2003
    Beiträge
    54
    Renommee
    12

    Re: Binärcode / Maschinencode

    jo ihc habe binärcode gemeint ^^
    ich habe assembler gelernt und das hat mich schwer beeindruckt... ^^
    deswegen wollt ich mal sehen wie sowas funktioniert!
    und thx octogen das hat mir echt geholfen!
    aber hast du nicht noch irngedne liste mit den befehlen für die prozessoren? google leider schon ewig, aber ohne ergebnis :'(
    hab sogar schon entwickler von asm's gefragt nicht mal die konnten mir helfen ^^
    mfg,
    André

  5. #5
    Moderator
    Registriert seit
    Jan 2001
    Beiträge
    1.253
    Renommee
    421

    Re: Binärcode / Maschinencode

    Google mal nach The Art Of Assembly.

    mfg Bunny
    Wir denken nur, wenn wir mit einem Problem konfrontiert werden. John Dewey

  6. #6
    Moderator
    Registriert seit
    Jan 2001
    Beiträge
    398
    Renommee
    130

    Re: Binärcode / Maschinencode

    Guckst du hier, steht alles drin:
    http://developer.intel.com/design/pe...als/253666.htm

  7. #7
    Registered User
    Registriert seit
    Sep 2003
    Beiträge
    54
    Renommee
    12

    Re: Binärcode / Maschinencode

    ui thx
    hab da auch gesucht aba *blind bin*

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Buchstaben in Binärcode
    Von Nepumuck im Forum (In)Security allgemein
    Antworten: 5
    Letzter Beitrag: 19.09.2002, 15:28
  2. [Maschinencode] Eigene Programme
    Von H@©b@rT im Forum Systemnahe Programmierung
    Antworten: 6
    Letzter Beitrag: 09.08.2001, 08:56
  3. Exakt in eine Konstante im Binärcode schreiben
    Von DragonTDA im Forum VisualBasic / VBScript
    Antworten: 11
    Letzter Beitrag: 09.02.2001, 01:56

Berechtigungen

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