📄 arm2x86_movl.c
字号:
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];intop_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);}//teawater add for xscale(arm v5) 2005.09.22------------------------------------uint8_t *get_op_movl_T1_T0 (int *len){ uint8_t *ret; unsigned int begin = 0, end = 0; OP_BEGIN ("get_op_movl_T1_T0"); T1 = T0; OP_END ("get_op_movl_T1_T0"); *len = end - begin; ret = (uint8_t *) begin; return (ret);}//AJ2D--------------------------------------------------------------------------op_table_t op_movl_T0_T2;op_table_t op_movl_T2_T1;//teawater add for xscale(arm v5) 2005.09.22------------------------------------op_table_t op_movl_T1_T0;//AJ2D--------------------------------------------------------------------------//--------------------------------------------------------------------------------------------------intarm2x86_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);//teawater add for xscale(arm v5) 2005.09.22------------------------------------ op_movl_T1_T0.op = get_op_movl_T1_T0 (&op_movl_T1_T0.len); if (op_movl_T1_T0.len <= 0) return (-1);//AJ2D-------------------------------------------------------------------------- return (0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -