ExamineAssembly()

Syntax

Ergebnis = ExamineAssembly(*Adresse [, *EndAdresse])
Beschreibung
Initialisiert das Disassemblieren an der angegebenen Adresse bzw. Adressbereichs.

Wichtig: Die Disassembler Befehle verwenden die Udis86 Disassembler Library, um die Anweisungen zu dekodieren. Diese Bibliothek wurde unter der BSD-Lizenz veröffentlicht, welche hier eingesehen werden kann. Wenn ExamineAssembly() und zugehörige Befehle in einem Programm verwendet werden, das öffentlich gemacht werden soll, muss der oben verlinkte Lizenz-Text mit in die Software aufgenommen werden.

Parameter

*Address Die Adresse der ersten zu disassemblierenden Anweisung.
*EndAddress (optional) Wenn angegeben, dann endet das Disassemblieren (NextInstruction() wird 0 zurückgeben), sobald '*EndAdresse' erreicht wird. Wenn '*EndAdresse' nicht angegeben wird, dann läuft das Disassemblieren bis NextInstruction() nicht länger aufgerufen wird.

Rückgabewert

Ein Wert ungleich Null, wenn das Disassemblieren möglich ist, andernfalls Null.

Beispiel

  DisableDebugger ; kein Disassemblieren von Debugger-relevanten Anweisungen
  
  Code_Start:
    ; Platziere Code zum Disassemblieren hier
    a = (Random(100) * 5) + 2000
  Code_End:
  
  Text$ = "Disassemblierter Code: " + Chr(13)  
  If ExamineAssembly(?Code_Start, ?Code_End)
    While NextInstruction()
      Text$ + RSet(Hex(InstructionAddress()), SizeOf(Integer)*2, "0")
      Text$ + " " + InstructionString() + Chr(13)
    Wend
  EndIf
  
  MessageRequester("Ergebnis", Text$)

Siehe auch

NextInstruction(), InstructionAddress(), InstructionString()

Unterstützte OS

Alle

<- ErrorTargetAddress() - OnError Inhaltsverzeichnis - InstructionAddress() ->