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