Function report |
Source Code:arch\x86\lib\insn.c |
Create Date:2022-07-28 07:25:05 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:sn_get_modrm - collect ModRM byte, if any*@insn: &struct insn containing instruction* Populates @insn->modrm and updates @insn->next_byte to point past the* ModRM byte, if any. If necessary, first collects the preceding bytes* (prefixes and opcode(s))
Proto:void insn_get_modrm(struct insn *insn)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct insn * | insn |
| 291 | If !0 if we've run insn_get_xxx() for this field Then Return |
| 296 | If inat_has_modrm(attr) Then |
| 297 | mod = get_next(insn_byte_t, insn) |
| 299 | nbytes = 1 |
| 300 | If inat_is_group(attr) Then |
| 302 | attr = inat_get_group_attribute(mod, pfx_id, attr) |
| 304 | If insn_is_avx(insn) && Not inat_accept_vex(attr) Then attr = 0 |
| 309 | If x86_64 && inat_is_force64(attr) Then opnd_bytes = 8 |
| 313 | err_out : |
| 314 | Return |
| Name | Describe |
|---|---|
| insn_rip_relative | sn_rip_relative() - Does instruction use RIP-relative addressing mode?*@insn: &struct insn containing instruction* If necessary, first collects the instruction up to and including the* ModRM byte. No effect if @insn->x86_64 is 0. |
| insn_get_sib | sn_get_sib() - Get the SIB byte of instruction*@insn: &struct insn containing instruction* If necessary, first collects the instruction up to and including the* ModRM byte. |
| get_eff_addr_reg | get_eff_addr_reg() - Obtain effective address from register operand*@insn: Instruction |
| get_eff_addr_modrm | get_eff_addr_modrm() - Obtain referenced effective address via ModRM*@insn: Instruction |
| get_eff_addr_modrm_16 | get_eff_addr_modrm_16() - Obtain referenced effective address via ModRM*@insn: Instruction |
| get_eff_addr_sib | get_eff_addr_sib() - Obtain referenced effective address via SIB*@insn: Instruction |
| get_addr_ref_16 | get_addr_ref_16() - Obtain the 16-bit address referred by instruction*@insn: Instruction containing ModRM byte and displacement*@regs: Register values as seen when entering kernel mode* This function is to be used with 16-bit address encodings |
| insn_get_attribute | Attribute will be determined after getting ModRM (for opcode groups) |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |