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

📄 tb.h

📁 skyeye-1.0.0.rar surce code
💻 H
字号:
#ifndef _TB_H_
#define _TB_H_

#define ALIGN(val,align)	(val - val % align)

#define TB_INSN_LEN_MAX		tb_insn_len_max
//teawater change align to make speed up 2005.07.22-----------------------------
#define TB_LEN			(1 << 8)		//256
#define TB_ALIGN(a)		(a & (~(TB_LEN - 1)))
//AJ2D--------------------------------------------------------------------------

#define TB_TBP_MAX		(TB_LEN / sizeof(ARMword) * TB_INSN_LEN_MAX + op_return.len)
#define TB_TBT_CACHE_MAX	8
#define TB_TBP_DEFAULT		(1024 * 1024 * 64)

typedef struct tb_cache_s {
	struct list_head	list;
	ARMword			addr;
	uint8_t			*tp;
}tb_cache_t;

typedef struct tb_s {
//teawater add for new tb manage function 2005.07.10----------------------------
	struct list_head	list;
//AJ2D--------------------------------------------------------------------------
	int			ted;				//0 not translated	1 already translated
	struct list_head	cache[TB_TBT_CACHE_MAX];	//if set ted = 0 must clear it
//teawater add for new tb manage function 2005.07.10----------------------------
	uint8_t			*tbp;
	ARMword			addr;
//AJ2D--------------------------------------------------------------------------
//teawater change for if trap translate stop 2005.07.23-------------------------
	ARMword			tran_addr;
	uint8_t			*tbp_now;
//AJ2D--------------------------------------------------------------------------
}tb_t;

extern int		tb_insn_len_max;

extern uint8_t *	tb_find(ARMul_State * state, ARMword addr);
extern int		tb_insn_len_max_init(ARMul_State * state);

#ifndef TEA_OUT
//#define TEA_DEBUG
#ifdef TEA_DEBUG
#define TEA_OUT(a)	a
#else
#define TEA_OUT(a)
#endif
#endif

#endif	//_TB_H_

⌨️ 快捷键说明

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