Einzelnen Beitrag anzeigen

Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#1

Assembler und Disassambler simulieren

  Alt 7. Nov 2009, 16:56
Hallo kennt jemand eine Seite wo die Vorgänge beschrieben werden oder weiß jemand wie es normalerweise gemacht wird.
Ich wollte so etwas in Delphi umsetzen...
Also um genauer zu werden, wie der Assembler aus dem String den man eingibt zB "mvi a,55h" einen Opcode erstellt.
Wird da zuerst die Hexzahl entfernt und dann mit einer riesen case Anweisung geschaut welcher Opcode zu "mvi a" gehört (in dem Fall wäre es ja "E3")?
Und beim disassemblieren müsste ja irgendwie erkannt werden ob es sich um einen Befehl oder den zugehörigen Operanden handelt, der gerade gelesen wird. Also das "E3" der Befehl "mvi a" ist und hintendran der Operand folgt.
Das wäre ja nur möglich wenn man vorne anfängt und Schritt für Schritt durchgeht, da die Befehle ja immer eine bestimmte größe haben und man dann wüsste, dass auf "E3" ein Operand in dem Fall "55h" folgt und dann der nächste Befehl kommem muss. Oder täusche ich mich da....
  Mit Zitat antworten Zitat