| /** @file |
| |
| Copyright (c) 2008-2010 Apple Inc. All rights reserved.<BR> |
| |
| All rights reserved. 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 |