📄 cris-opc.c
字号:
cris_reg_mode_jump_op}, {"jsr", 0xB930, 0x42c0, "s", 0, SIZE_FIX_32, 0, cris_none_reg_mode_jump_op}, {"jsr", 0xB930, 0x42c0, "S", 0, SIZE_NONE, 0, cris_none_reg_mode_jump_op}, {"jsrc", 0x39b0, 0xc640, "r", 0, SIZE_NONE, cris_ver_v8p, cris_reg_mode_jump_op}, {"jsrc", 0x3930, 0xc2c0, "s", 0, SIZE_FIX_32, cris_ver_v8p, cris_none_reg_mode_jump_op}, {"jsrc", 0x3930, 0xc2c0, "S", 0, SIZE_NONE, cris_ver_v8p, cris_none_reg_mode_jump_op}, {"jump", 0x09b0, 0xF640, "r", 0, SIZE_NONE, 0, cris_reg_mode_jump_op}, {"jump", JUMP_INDIR_OPCODE, JUMP_INDIR_Z_BITS, "s", 0, SIZE_FIX_32, 0, cris_none_reg_mode_jump_op}, {"jump", JUMP_INDIR_OPCODE, JUMP_INDIR_Z_BITS, "S", 0, SIZE_NONE, 0, cris_none_reg_mode_jump_op}, {"jmpu", 0x8930, 0x72c0, "s", 0, SIZE_FIX_32, cris_ver_v10p, cris_none_reg_mode_jump_op}, {"jmpu", 0x8930, 0x72c0, "S", 0, SIZE_NONE, cris_ver_v10p, cris_none_reg_mode_jump_op}, {"lsl", 0x04C0, 0x0B00, "m r,R", 0, SIZE_NONE, 0, cris_dstep_logshift_mstep_neg_not_op}, {"lslq", 0x03c0, 0x0C20, "c,R", 0, SIZE_NONE, 0, cris_dstep_logshift_mstep_neg_not_op}, {"lsr", 0x07C0, 0x0800, "m r,R", 0, SIZE_NONE, 0, cris_dstep_logshift_mstep_neg_not_op}, {"lsrq", 0x03e0, 0x0C00, "c,R", 0, SIZE_NONE, 0, cris_dstep_logshift_mstep_neg_not_op}, {"lz", 0x0730, 0x08C0, "r,R", 0, SIZE_NONE, cris_ver_v3p, cris_not_implemented_op}, {"move", 0x0640, 0x0980, "m r,R", 0, SIZE_NONE, 0, cris_reg_mode_add_sub_cmp_and_or_move_op}, {"move", 0x0630, 0x09c0, "r,P", 0, SIZE_NONE, 0, cris_move_to_preg_op}, {"move", 0x0670, 0x0980, "P,r", 0, SIZE_NONE, 0, cris_reg_mode_move_from_preg_op}, {"move", 0x0BC0, 0x0000, "m R,y", 0, SIZE_FIELD, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"move", 0x0BC0, 0x0000, "m D,S", 0, SIZE_NONE, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"move", 0x0A40, 0x0180, "m s,R", 0, SIZE_FIELD, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"move", 0x0A40, 0x0180, "m S,D", 0, SIZE_NONE, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"move", 0x0A30, 0x01c0, "s,P", 0, SIZE_SPEC_REG, 0, cris_move_to_preg_op}, {"move", 0x0A30, 0x01c0, "S,P", 0, SIZE_NONE, 0, cris_move_to_preg_op}, {"move", 0x0A70, 0x0180, "P,y", 0, SIZE_SPEC_REG, 0, cris_none_reg_mode_move_from_preg_op}, {"move", 0x0A70, 0x0180, "P,S", 0, SIZE_NONE, 0, cris_none_reg_mode_move_from_preg_op}, {"movem", 0x0BF0, 0x0000, "R,y", 0, SIZE_FIX_32, 0, cris_move_reg_to_mem_movem_op}, {"movem", 0x0BF0, 0x0000, "D,S", 0, SIZE_NONE, 0, cris_move_reg_to_mem_movem_op}, {"movem", 0x0BB0, 0x0040, "s,R", 0, SIZE_FIX_32, 0, cris_move_mem_to_reg_movem_op}, {"movem", 0x0BB0, 0x0040, "S,D", 0, SIZE_NONE, 0, cris_move_mem_to_reg_movem_op}, {"moveq", 0x0240, 0x0D80, "i,R", 0, SIZE_NONE, 0, cris_quick_mode_and_cmp_move_or_op}, {"movs", 0x0460, 0x0B80, "z r,R", 0, SIZE_NONE, 0, cris_reg_mode_add_sub_cmp_and_or_move_op}, {"movs", 0x0860, 0x0380, "z s,R", 0, SIZE_FIELD, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"movs", 0x0860, 0x0380, "z S,D", 0, SIZE_NONE, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"movu", 0x0440, 0x0Ba0, "z r,R", 0, SIZE_NONE, 0, cris_reg_mode_add_sub_cmp_and_or_move_op}, {"movu", 0x0840, 0x03a0, "z s,R", 0, SIZE_FIELD, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"movu", 0x0840, 0x03a0, "z S,D", 0, SIZE_NONE, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"mstep", 0x07f0, 0x0800, "r,R", 0, SIZE_NONE, 0, cris_dstep_logshift_mstep_neg_not_op}, {"muls", 0x0d00, 0x02c0, "m r,R", 0, SIZE_NONE, cris_ver_v10p, cris_muls_op}, {"mulu", 0x0900, 0x06c0, "m r,R", 0, SIZE_NONE, cris_ver_v10p, cris_mulu_op}, {"neg", 0x0580, 0x0A40, "m r,R", 0, SIZE_NONE, 0, cris_dstep_logshift_mstep_neg_not_op}, {"nop", NOP_OPCODE, NOP_Z_BITS, "", 0, SIZE_NONE, 0, cris_btst_nop_op}, {"not", 0x8770, 0x7880, "r", 0, SIZE_NONE, 0, cris_dstep_logshift_mstep_neg_not_op}, {"or", 0x0740, 0x0880, "m r,R", 0, SIZE_NONE, 0, cris_reg_mode_add_sub_cmp_and_or_move_op}, {"or", 0x0B40, 0x0080, "m s,R", 0, SIZE_FIELD, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"or", 0x0B40, 0x0080, "m S,D", 0, SIZE_NONE, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"or", 0x0B40, 0x0480, "m S,R,r", 0, SIZE_NONE, 0, cris_three_operand_add_sub_cmp_and_or_op}, {"orq", 0x0340, 0x0C80, "i,R", 0, SIZE_NONE, 0, cris_quick_mode_and_cmp_move_or_op}, {"pop", 0x0E6E, 0x0191, "!R", 0, SIZE_NONE, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"pop", 0x0e3e, 0x01c1, "!P", 0, SIZE_NONE, 0, cris_none_reg_mode_move_from_preg_op}, {"push", 0x0FEE, 0x0011, "BR", 0, SIZE_NONE, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"push", 0x0E7E, 0x0181, "BP", 0, SIZE_NONE, 0, cris_move_to_preg_op}, {"rbf", 0x3b30, 0xc0c0, "y", 0, SIZE_NONE, cris_ver_v10p, cris_not_implemented_op}, {"rbf", 0x3b30, 0xc0c0, "S", 0, SIZE_NONE, cris_ver_v10p, cris_not_implemented_op}, {"ret", 0xB67F, 0x4980, "", 1, SIZE_NONE, 0, cris_reg_mode_move_from_preg_op}, {"retb", 0xe67f, 0x1980, "", 1, SIZE_NONE, 0, cris_reg_mode_move_from_preg_op}, {"reti", 0xA67F, 0x5980, "", 1, SIZE_NONE, 0, cris_reg_mode_move_from_preg_op}, {"sbfs", 0x3b70, 0xc080, "y", 0, SIZE_NONE, cris_ver_v10p, cris_not_implemented_op}, {"sbfs", 0x3b70, 0xc080, "S", 0, SIZE_NONE, cris_ver_v10p, cris_not_implemented_op}, {"sa", 0x0530+CC_A*0x1000, 0x0AC0+(0xf-CC_A)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"scc", 0x0530+CC_CC*0x1000, 0x0AC0+(0xf-CC_CC)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"scs", 0x0530+CC_CS*0x1000, 0x0AC0+(0xf-CC_CS)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"seq", 0x0530+CC_EQ*0x1000, 0x0AC0+(0xf-CC_EQ)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"setf", 0x05b0, 0x0A40, "f", 0, SIZE_NONE, 0, cris_ax_ei_setf_op}, /* Need to have "swf" in front of "sext" so it is the one displayed in disassembly. */ {"swf", 0x0530+CC_EXT*0x1000, 0x0AC0+(0xf-CC_EXT)*0x1000, "r", 0, SIZE_NONE, cris_ver_v10p, cris_scc_op}, {"sext", 0x0530+CC_EXT*0x1000, 0x0AC0+(0xf-CC_EXT)*0x1000, "r", 0, SIZE_NONE, cris_ver_v0_3, cris_scc_op}, {"sge", 0x0530+CC_GE*0x1000, 0x0AC0+(0xf-CC_GE)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"sgt", 0x0530+CC_GT*0x1000, 0x0AC0+(0xf-CC_GT)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"shi", 0x0530+CC_HI*0x1000, 0x0AC0+(0xf-CC_HI)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"shs", 0x0530+CC_HS*0x1000, 0x0AC0+(0xf-CC_HS)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"sle", 0x0530+CC_LE*0x1000, 0x0AC0+(0xf-CC_LE)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"slo", 0x0530+CC_LO*0x1000, 0x0AC0+(0xf-CC_LO)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"sls", 0x0530+CC_LS*0x1000, 0x0AC0+(0xf-CC_LS)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"slt", 0x0530+CC_LT*0x1000, 0x0AC0+(0xf-CC_LT)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"smi", 0x0530+CC_MI*0x1000, 0x0AC0+(0xf-CC_MI)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"sne", 0x0530+CC_NE*0x1000, 0x0AC0+(0xf-CC_NE)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"spl", 0x0530+CC_PL*0x1000, 0x0AC0+(0xf-CC_PL)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"sub", 0x0680, 0x0940, "m r,R", 0, SIZE_NONE, 0, cris_reg_mode_add_sub_cmp_and_or_move_op}, {"sub", 0x0a80, 0x0140, "m s,R", 0, SIZE_FIELD, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"sub", 0x0a80, 0x0140, "m S,D", 0, SIZE_NONE, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"sub", 0x0a80, 0x0540, "m S,R,r", 0, SIZE_NONE, 0, cris_three_operand_add_sub_cmp_and_or_op}, {"subq", 0x0280, 0x0d40, "I,R", 0, SIZE_NONE, 0, cris_quick_mode_add_sub_op}, {"subs", 0x04a0, 0x0b40, "z r,R", 0, SIZE_NONE, 0, cris_reg_mode_add_sub_cmp_and_or_move_op}, {"subs", 0x08a0, 0x0340, "z s,R", 0, SIZE_FIELD, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"subs", 0x08a0, 0x0340, "z S,D", 0, SIZE_NONE, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"subs", 0x08a0, 0x0740, "z S,R,r", 0, SIZE_NONE, 0, cris_three_operand_add_sub_cmp_and_or_op}, {"subu", 0x0480, 0x0b60, "z r,R", 0, SIZE_NONE, 0, cris_reg_mode_add_sub_cmp_and_or_move_op}, {"subu", 0x0880, 0x0360, "z s,R", 0, SIZE_FIELD, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"subu", 0x0880, 0x0360, "z S,D", 0, SIZE_NONE, 0, cris_none_reg_mode_add_sub_cmp_and_or_move_op}, {"subu", 0x0880, 0x0760, "z S,R,r", 0, SIZE_NONE, 0, cris_three_operand_add_sub_cmp_and_or_op}, {"svc", 0x0530+CC_VC*0x1000, 0x0AC0+(0xf-CC_VC)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, {"svs", 0x0530+CC_VS*0x1000, 0x0AC0+(0xf-CC_VS)*0x1000, "r", 0, SIZE_NONE, 0, cris_scc_op}, /* The insn "swapn" is the same as "not" and will be disassembled as such, but the swap* family of mnmonics are generally v8-and-higher only, so count it in. */ {"swapn", 0x8770, 0x7880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapw", 0x4770, 0xb880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapnw", 0xc770, 0x3880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapb", 0x2770, 0xd880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapnb", 0xA770, 0x5880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapwb", 0x6770, 0x9880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapnwb", 0xE770, 0x1880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapr", 0x1770, 0xe880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapnr", 0x9770, 0x6880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapwr", 0x5770, 0xa880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapnwr", 0xd770, 0x2880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapbr", 0x3770, 0xc880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapnbr", 0xb770, 0x4880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapwbr", 0x7770, 0x8880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"swapnwbr", 0xf770, 0x0880, "r", 0, SIZE_NONE, cris_ver_v8p, cris_not_implemented_op}, {"test", 0x0640, 0x0980, "m D", 0, SIZE_NONE, 0, cris_reg_mode_test_op}, {"test", 0x0b80, 0xf040, "m s", 0, SIZE_FIELD, 0, cris_none_reg_mode_clear_test_op}, {"test", 0x0b80, 0xf040, "m S", 0, SIZE_NONE, 0, cris_none_reg_mode_clear_test_op}, {"xor", 0x07B0, 0x0840, "r,R", 0, SIZE_NONE, 0, cris_xor_op}, {NULL, 0, 0, NULL, 0, 0, 0, cris_not_implemented_op}};/* Condition-names, indexed by the CC_* numbers as found in cris.h. */const char * constcris_cc_strings[] ={ "hs", "lo", "ne", "eq", "vc", "vs", "pl", "mi", "ls", "hi", "ge", "lt", "gt", "le", "a", /* In v0, this would be "ext". */ "wf",};/* * Local variables: * eval: (c-set-style "gnu") * indent-tabs-mode: t * End: */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -