]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Include/Library/ArmDisassemblerLib.h
1c77b3dfe3f824bd65c9c789d061121b7cdf4dc6
[mirror_edk2.git] / ArmPkg / Include / Library / ArmDisassemblerLib.h
1 /** @file
2
3 Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef __ARM_DISASSEBLER_LIB_H__
10 #define __ARM_DISASSEBLER_LIB_H__
11
12 /**
13 Place a dissasembly of of **OpCodePtr into buffer, and update OpCodePtr to
14 point to next instructin.
15
16 We cheat and only decode instructions that access
17 memory. If the instruction is not found we dump the instruction in hex.
18
19 @param OpCodePtrPtr Pointer to pointer of ARM Thumb instruction to disassemble.
20 @param Thumb TRUE for Thumb(2), FALSE for ARM instruction stream
21 @param Extended TRUE dump hex for instruction too.
22 @param ItBlock Size of IT Block
23 @param Buf Buffer to sprintf disassembly into.
24 @param Size Size of Buf in bytes.
25
26 **/
27 VOID
28 DisassembleInstruction (
29 IN UINT8 **OpCodePtr,
30 IN BOOLEAN Thumb,
31 IN BOOLEAN Extended,
32 IN OUT UINT32 *ItBlock,
33 OUT CHAR8 *Buf,
34 OUT UINTN Size
35 );
36
37 #endif