⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dis_arm_instr.h

📁 umon bootloader source code, support mips cpu.
💻 H
字号:
/* 
 * dis_arm_instr.h
 *
 * Instruction disassebly code for ARM processors.
 * Supports ARM and THUMB instruction sets.
 *
 * by Nick Patavalis (npat@inaccessnetworks.com)
 * 
 * Summary:
 *
 * F disarm_print_arm_instr - disasseble arm instruction
 * F disarm_print_thumb_instr - disasseble thumb instruction
 * F disarm_get_regname_num_options - num of reg-naming options
 * F disarm_set_regname_option - select reg-naming option
 * F disarm_get_regnames - info about reg-naming options
 *
 * This code was part of libopcodes which was part of GNU binutils.
 * Distributed under the terms of the GNU GPL v2 or latter version.
 * Copyright (C) Free Software Foundation, Inc. 
 * original code:
 *   contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
 *   modifications by James G. Smith (jsmith@cygnus.co.uk)
 *
 * $Id: dis_arm_instr.h,v 2.0 2006/09/22 05:27:20 lxw Exp $
 */

#ifndef DIS_ARM_INSTR_H
#define DIS_ARM_INSTR_H

/*************************************************************************/

/*
 * F disarm_print_arm_instr
 *
 * Disasemble a signle ARM instruction and print the
 * resulting assembly statement.
 *
 * Arguments:
 *   - pc - the address of the instruction (i.e. the program counter
 *   value when the instruction is executed.
 *   - given - the instruction word
 *
 * Returns:
 *   The size of the instruction disassebled (i.e. always 4).
 */
int disarm_print_arm_instr (unsigned long pc, long given);

/*************************************************************************/

/*
 * F disarm_print_thumb_instr
 *
 * Disasemble a signle THUMB instruction and print the
 * resulting assembly statement.
 *
 * Arguments:
 *   - pc - the address of the instruction (i.e. the program counter
 *   value when the instruction is executed.
 *   - given - the instruction half-word, in the least significant 
 *   half of 'given'.
 *
 * Returns:
 *   The size of the instruction disassebled (i.e. always 4).
 */
int disarm_print_thumb_instr (unsigned long pc, long given);

/*************************************************************************/

/*
 * F disarm_get_regname_num_options
 *
 * Returns the number of register-naming options
 *
 */
int disarm_get_regname_num_options (void);

/*
 * F disarm_set_regname_option
 *
 * Selects a register-naming option.
 *
 * Arguments:
 *   - option - the register-naming option to be selected
 *
 * Returns:
 *   The old register-naming option is returned.
 */
int disarm_set_regname_option (int option);

/*
 * F disarm_get_regnames
 *
 * Returns pointer to structures describing (giving information about)
 * the available register-naming options.
 *
 * Arguments:
 *   - option - the option you are interested in.
 *   - setname - Output. The name if the coresponding option.
 *   - setdescription - Output. A short descr of the coresponding 
 *   option.
 *   - register_names - Output. An array of register names
 *
 * Returns:
 *   The number of registers in the array
 */
int disarm_get_regnames (int option, const char **setname,
						 const char **setdescription,
						 const char ***register_names);

/*************************************************************************/

#endif /* of DIS_ARM_INSTR_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -