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

📄 disassemble.h

📁 机器码指令格式
💻 H
字号:
#ifndef DISASSEMBLE_H
#define DISASSEMBLE_H

#include <stdio.h>
#include <stdlib.h>

#define		MAX_MNEMONIC_LEN		32
#define		MAX_OPERAND_LEN		64
#define		MAX_INSTRUCTION_LEN	128

typedef struct _INSTRUCTION
{
	/* prefixes */

	char	RepeatPrefix;
	char	SegmentPrefix;
	char	OperandPrefix;
	char	AddressPrefix;

	/* opcode */

	unsigned int	Opcode;

	/* ModR/M */

	char	ModRM;

	/* SIB */

	char	SIB;

	/* Displacement */

	unsigned int	Displacement;

	/* Immediate */

	unsigned int	Immediate;
	
	/* Linear address of this instruction */

	unsigned int	LinearAddress;
	
	/* Flags */

	char dFlag, wFlag, sFlag;


} INSTRUCTION, *PINSTRUCTION;


unsigned char *ParseModRM(unsigned char *Code, PINSTRUCTION Instruction, char *OperandRM);
unsigned char *ParseImmediate(unsigned char *Code, PINSTRUCTION Instruction, char *OperandImmediate);
unsigned char *ParseSIB(unsigned char *Code, PINSTRUCTION Instruction, char *SIBStr);
unsigned char *ParseRegModRM(unsigned char *Code, PINSTRUCTION Instruction, char *Operand1, char *Operand2);
unsigned char *Disassemble(unsigned int LinearAddress, unsigned char *Code, PINSTRUCTION Instruction, char *InstructionStr);

#endif

⌨️ 快捷键说明

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