ExamineAssembly()

Syntaxe

Resultat = ExamineAssembly(*Adresse [, *AdresseFin])
Description
Initialise le désassemblage des instructions à l'adresse spécifiée.

Important: Les commandes de désassemblage utilisent la bibliothèque Udis86 disassembler pour décoder les instructions. Elle est disponible sous license BSD qui peut être consultée ici. Si ExamineAssembly() et ses autres commandes relatives sont utilisées dans un programme, le texte de licence ci-dessus devra être inclu avec le logiciel.

Arguments

'*Adresse' indique l'adresse de la première instruction à désassembler. Si '*AdresseFin' est spécifiée, le désassemblage se terminera dès que '*AdresseFin' sera atteinte (et NextInstruction() reverra 0).

Valeur de retour

Renvoie une valeur différente de zéro si le désassemblage est possible.

Exemple

  DisableDebugger ; do not disassemble any debugger related instructions
  
  Code_Start:
    ; Place code to be disassembled here
    a = (Random(100) * 5) + 2000
  Code_End:
  
  Text$ = "Disassembled 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("Result", Text$)

OS Supportés

Windows, Linux, MacOS X (x86)

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