/** @file | |
Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR> | |
This program and the accompanying materials | |
are licensed and made available under the terms and conditions of the BSD License | |
which accompanies this distribution. The full text of the license may be found at | |
http://opensource.org/licenses/bsd-license.php | |
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
**/ | |
#ifndef __ARM_DISASSEBLER_LIB_H__ | |
#define __ARM_DISASSEBLER_LIB_H__ | |
/** | |
Place a dissasembly of of **OpCodePtr into buffer, and update OpCodePtr to | |
point to next instructin. | |
We cheat and only decode instructions that access | |
memory. If the instruction is not found we dump the instruction in hex. | |
@param OpCodePtrPtr Pointer to pointer of ARM Thumb instruction to disassemble. | |
@param Thumb TRUE for Thumb(2), FALSE for ARM instruction stream | |
@param Extended TRUE dump hex for instruction too. | |
@param ItBlock Size of IT Block | |
@param Buf Buffer to sprintf disassembly into. | |
@param Size Size of Buf in bytes. | |
**/ | |
VOID | |
DisassembleInstruction ( | |
IN UINT8 **OpCodePtr, | |
IN BOOLEAN Thumb, | |
IN BOOLEAN Extended, | |
IN OUT UINT32 *ItBlock, | |
OUT CHAR8 *Buf, | |
OUT UINTN Size | |
); | |
#endif |