📄 arm2x86_movl.c
字号:
}
uint8_t *
get_op_movl_r5_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r5_T1");
st->Reg[5] = T1;
OP_END("get_op_movl_r5_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r6_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r6_T1");
st->Reg[6] = T1;
OP_END("get_op_movl_r6_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r7_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r7_T1");
st->Reg[7] = T1;
OP_END("get_op_movl_r7_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r8_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r8_T1");
st->Reg[8] = T1;
OP_END("get_op_movl_r8_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r9_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r9_T1");
st->Reg[9] = T1;
OP_END("get_op_movl_r9_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r10_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r10_T1");
st->Reg[10] = T1;
OP_END("get_op_movl_r10_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r11_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r11_T1");
st->Reg[11] = T1;
OP_END("get_op_movl_r11_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r12_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r12_T1");
st->Reg[12] = T1;
OP_END("get_op_movl_r12_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r13_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r13_T1");
st->Reg[13] = T1;
OP_END("get_op_movl_r13_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r14_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r14_T1");
st->Reg[14] = T1;
OP_END("get_op_movl_r14_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r15_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r15_T1");
st->Reg[15] = (T1 & (~3)) + 4;
OP_END("get_op_movl_r15_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r0_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r0_T2");
st->Reg[0] = T2;
OP_END("get_op_movl_r0_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r1_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r1_T2");
st->Reg[1] = T2;
OP_END("get_op_movl_r1_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r2_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r2_T2");
st->Reg[2] = T2;
OP_END("get_op_movl_r2_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r3_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r3_T2");
st->Reg[3] = T2;
OP_END("get_op_movl_r3_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r4_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r4_T2");
st->Reg[4] = T2;
OP_END("get_op_movl_r4_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r5_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r5_T2");
st->Reg[5] = T2;
OP_END("get_op_movl_r5_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r6_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r6_T2");
st->Reg[6] = T2;
OP_END("get_op_movl_r6_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r7_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r7_T2");
st->Reg[7] = T2;
OP_END("get_op_movl_r7_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r8_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r8_T2");
st->Reg[8] = T2;
OP_END("get_op_movl_r8_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r9_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r9_T2");
st->Reg[9] = T2;
OP_END("get_op_movl_r9_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r10_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r10_T2");
st->Reg[10] = T2;
OP_END("get_op_movl_r10_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r11_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r11_T2");
st->Reg[11] = T2;
OP_END("get_op_movl_r11_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r12_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r12_T2");
st->Reg[12] = T2;
OP_END("get_op_movl_r12_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r13_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r13_T2");
st->Reg[13] = T2;
OP_END("get_op_movl_r13_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r14_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r14_T2");
st->Reg[14] = T2;
OP_END("get_op_movl_r14_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_r15_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_r15_T2");
st->Reg[15] = (T2 & (~3)) + 4;
OP_END("get_op_movl_r15_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
int op_movl_reg_Tx_maxlen;
int op_movl_reg_Tx_array_maxlen[Tx_MAX+1];
op_table_t op_movl_reg_Tx[Tx_MAX+1][16];
int
op_movl_reg_Tx_init()
{
int i, j;
op_movl_reg_Tx[0][0].op = get_op_movl_r0_T0(&op_movl_reg_Tx[0][0].len);
op_movl_reg_Tx[0][1].op = get_op_movl_r1_T0(&op_movl_reg_Tx[0][1].len);
op_movl_reg_Tx[0][2].op = get_op_movl_r2_T0(&op_movl_reg_Tx[0][2].len);
op_movl_reg_Tx[0][3].op = get_op_movl_r3_T0(&op_movl_reg_Tx[0][3].len);
op_movl_reg_Tx[0][4].op = get_op_movl_r4_T0(&op_movl_reg_Tx[0][4].len);
op_movl_reg_Tx[0][5].op = get_op_movl_r5_T0(&op_movl_reg_Tx[0][5].len);
op_movl_reg_Tx[0][6].op = get_op_movl_r6_T0(&op_movl_reg_Tx[0][6].len);
op_movl_reg_Tx[0][7].op = get_op_movl_r7_T0(&op_movl_reg_Tx[0][7].len);
op_movl_reg_Tx[0][8].op = get_op_movl_r8_T0(&op_movl_reg_Tx[0][8].len);
op_movl_reg_Tx[0][9].op = get_op_movl_r9_T0(&op_movl_reg_Tx[0][9].len);
op_movl_reg_Tx[0][10].op = get_op_movl_r10_T0(&op_movl_reg_Tx[0][10].len);
op_movl_reg_Tx[0][11].op = get_op_movl_r11_T0(&op_movl_reg_Tx[0][11].len);
op_movl_reg_Tx[0][12].op = get_op_movl_r12_T0(&op_movl_reg_Tx[0][12].len);
op_movl_reg_Tx[0][13].op = get_op_movl_r13_T0(&op_movl_reg_Tx[0][13].len);
op_movl_reg_Tx[0][14].op = get_op_movl_r14_T0(&op_movl_reg_Tx[0][14].len);
op_movl_reg_Tx[0][15].op = get_op_movl_r15_T0(&op_movl_reg_Tx[0][15].len);
op_movl_reg_Tx[1][0].op = get_op_movl_r0_T1(&op_movl_reg_Tx[1][0].len);
op_movl_reg_Tx[1][1].op = get_op_movl_r1_T1(&op_movl_reg_Tx[1][1].len);
op_movl_reg_Tx[1][2].op = get_op_movl_r2_T1(&op_movl_reg_Tx[1][2].len);
op_movl_reg_Tx[1][3].op = get_op_movl_r3_T1(&op_movl_reg_Tx[1][3].len);
op_movl_reg_Tx[1][4].op = get_op_movl_r4_T1(&op_movl_reg_Tx[1][4].len);
op_movl_reg_Tx[1][5].op = get_op_movl_r5_T1(&op_movl_reg_Tx[1][5].len);
op_movl_reg_Tx[1][6].op = get_op_movl_r6_T1(&op_movl_reg_Tx[1][6].len);
op_movl_reg_Tx[1][7].op = get_op_movl_r7_T1(&op_movl_reg_Tx[1][7].len);
op_movl_reg_Tx[1][8].op = get_op_movl_r8_T1(&op_movl_reg_Tx[1][8].len);
op_movl_reg_Tx[1][9].op = get_op_movl_r9_T1(&op_movl_reg_Tx[1][9].len);
op_movl_reg_Tx[1][10].op = get_op_movl_r10_T1(&op_movl_reg_Tx[1][10].len);
op_movl_reg_Tx[1][11].op = get_op_movl_r11_T1(&op_movl_reg_Tx[1][11].len);
op_movl_reg_Tx[1][12].op = get_op_movl_r12_T1(&op_movl_reg_Tx[1][12].len);
op_movl_reg_Tx[1][13].op = get_op_movl_r13_T1(&op_movl_reg_Tx[1][13].len);
op_movl_reg_Tx[1][14].op = get_op_movl_r14_T1(&op_movl_reg_Tx[1][14].len);
op_movl_reg_Tx[1][15].op = get_op_movl_r15_T1(&op_movl_reg_Tx[1][15].len);
op_movl_reg_Tx[2][0].op = get_op_movl_r0_T2(&op_movl_reg_Tx[2][0].len);
op_movl_reg_Tx[2][1].op = get_op_movl_r1_T2(&op_movl_reg_Tx[2][1].len);
op_movl_reg_Tx[2][2].op = get_op_movl_r2_T2(&op_movl_reg_Tx[2][2].len);
op_movl_reg_Tx[2][3].op = get_op_movl_r3_T2(&op_movl_reg_Tx[2][3].len);
op_movl_reg_Tx[2][4].op = get_op_movl_r4_T2(&op_movl_reg_Tx[2][4].len);
op_movl_reg_Tx[2][5].op = get_op_movl_r5_T2(&op_movl_reg_Tx[2][5].len);
op_movl_reg_Tx[2][6].op = get_op_movl_r6_T2(&op_movl_reg_Tx[2][6].len);
op_movl_reg_Tx[2][7].op = get_op_movl_r7_T2(&op_movl_reg_Tx[2][7].len);
op_movl_reg_Tx[2][8].op = get_op_movl_r8_T2(&op_movl_reg_Tx[2][8].len);
op_movl_reg_Tx[2][9].op = get_op_movl_r9_T2(&op_movl_reg_Tx[2][9].len);
op_movl_reg_Tx[2][10].op = get_op_movl_r10_T2(&op_movl_reg_Tx[2][10].len);
op_movl_reg_Tx[2][11].op = get_op_movl_r11_T2(&op_movl_reg_Tx[2][11].len);
op_movl_reg_Tx[2][12].op = get_op_movl_r12_T2(&op_movl_reg_Tx[2][12].len);
op_movl_reg_Tx[2][13].op = get_op_movl_r13_T2(&op_movl_reg_Tx[2][13].len);
op_movl_reg_Tx[2][14].op = get_op_movl_r14_T2(&op_movl_reg_Tx[2][14].len);
op_movl_reg_Tx[2][15].op = get_op_movl_r15_T2(&op_movl_reg_Tx[2][15].len);
op_movl_reg_Tx_maxlen = 0;
for(i = 0; i <= Tx_MAX; i++) {
op_movl_reg_Tx_array_maxlen[i] = 0;
for(j = 0; j <= 15; j++){
if (op_movl_reg_Tx[i][j].len <= 0) {
return(-1);
}
if (op_movl_reg_Tx[i][j].len > op_movl_reg_Tx_array_maxlen[i]) {
op_movl_reg_Tx_array_maxlen[i] = op_movl_reg_Tx[i][j].len;
}
}
if (op_movl_reg_Tx_array_maxlen[i] > op_movl_reg_Tx_maxlen) {
op_movl_reg_Tx_maxlen = op_movl_reg_Tx_array_maxlen[i];
}
}
return(0);
}
//--------------------------------------------------------------------------------------------------
uint8_t *
get_op_movl_eax_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_eax_T2");
__asm__ __volatile__ ("movl %"AREG_T2", %eax");
OP_END("get_op_movl_eax_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
op_table_t op_movl_eax_T2;
//--------------------------------------------------------------------------------------------------
uint8_t *
get_op_movl_trap_im(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_trap_im");
st->trap = ULONG_MAX;
OP_END("get_op_movl_trap_im");
*len = end - begin;
if (*len <= sizeof(ULONG_MAX)) {
return(NULL);
}
else {
*len -= sizeof(ULONG_MAX);
}
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_trap_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_trap_T2");
st->trap = T2;
OP_END("get_op_movl_trap_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
op_table_t op_movl_trap_im;
op_table_t op_movl_trap_T2;
//--------------------------------------------------------------------------------------------------
uint8_t *
get_op_movl_T0_T2(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_T0_T2");
T0 = T2;
OP_END("get_op_movl_T0_T2");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
uint8_t *
get_op_movl_T2_T1(int *len)
{
uint8_t *ret;
unsigned int begin=0,end=0;
OP_BEGIN("get_op_movl_T2_T1");
T2 = T1;
OP_END("get_op_movl_T2_T1");
*len = end - begin;
ret=(uint8_t *)begin;
return(ret);
}
op_table_t op_movl_T0_T2;
op_table_t op_movl_T2_T1;
//--------------------------------------------------------------------------------------------------
int
arm2x86_movl_init()
{
if (op_movl_Tx_im_init()) {
return(-1);
}
if (op_movl_tmpx_im_init()) {
return(-1);
}
if (op_movl_Tx_reg_init()) {
return(-1);
}
if (op_movl_reg_Tx_init()) {
return(-1);
}
op_movl_eax_T2.op = get_op_movl_eax_T2(&op_movl_eax_T2.len);
if (op_movl_eax_T2.len <= 0)
return(-1);
op_movl_trap_im.op = get_op_movl_trap_im(&op_movl_trap_im.len);
if (op_movl_trap_im.len <= 0)
return(-1);
op_movl_trap_T2.op = get_op_movl_trap_T2(&op_movl_trap_T2.len);
if (op_movl_trap_T2.len <= 0)
return(-1);
op_movl_T0_T2.op = get_op_movl_T0_T2(&op_movl_T0_T2.len);
if (op_movl_T0_T2.len <= 0)
return(-1);
op_movl_T2_T1.op = get_op_movl_T2_T1(&op_movl_T2_T1.len);
if (op_movl_T2_T1.len <= 0)
return(-1);
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -