Home
last modified time | relevance | path

Searched refs:instruction (Results 1 – 25 of 31) sorted by relevance

12

/haiku/src/libs/zydis/Zydis/
H A DDecoder.c247 ZydisDecodedInstruction* instruction, ZyanU8* value) in ZydisInputPeek() argument
250 ZYAN_ASSERT(instruction); in ZydisInputPeek()
253 if (instruction->length >= ZYDIS_MAX_INSTRUCTION_LENGTH) in ZydisInputPeek()
277 static void ZydisInputSkip(ZydisDecoderState* state, ZydisDecodedInstruction* instruction) in ZydisInputSkip() argument
280 ZYAN_ASSERT(instruction); in ZydisInputSkip()
281 ZYAN_ASSERT(instruction->length < ZYDIS_MAX_INSTRUCTION_LENGTH); in ZydisInputSkip()
283 ++instruction->length; in ZydisInputSkip()
301 ZydisDecodedInstruction* instruction, ZyanU8* value) in ZydisInputNext() argument
304 ZYAN_ASSERT(instruction); in ZydisInputNext()
307 if (instruction->length >= ZYDIS_MAX_INSTRUCTION_LENGTH) in ZydisInputNext()
[all …]
H A DDisassembler.c36 ZydisDisassembledInstruction *instruction, ZydisFormatterStyle style) in ZydisDisassemble() argument
38 if (!buffer || !instruction) in ZydisDisassemble()
43 *instruction = (ZydisDisassembledInstruction) in ZydisDisassemble()
72 ZYAN_CHECK(ZydisDecoderDecodeInstruction(&decoder, &ctx, buffer, length, &instruction->info)); in ZydisDisassemble()
73 ZYAN_CHECK(ZydisDecoderDecodeOperands(&decoder, &ctx, &instruction->info, in ZydisDisassemble()
74 instruction->operands, instruction->info.operand_count)); in ZydisDisassemble()
78 ZYAN_CHECK(ZydisFormatterFormatInstruction(&formatter, &instruction->info, in ZydisDisassemble()
79 instruction->operands, instruction->info.operand_count_visible, instruction->text, in ZydisDisassemble()
80 sizeof(instruction->text), runtime_address, ZYAN_NULL)); in ZydisDisassemble()
91 ZydisDisassembledInstruction *instruction) in ZydisDisassembleIntel() argument
[all …]
H A DUtils.c41 ZyanStatus ZydisCalcAbsoluteAddress(const ZydisDecodedInstruction* instruction, in ZydisCalcAbsoluteAddress() argument
44 if (!instruction || !operand || !result_address) in ZydisCalcAbsoluteAddress()
58 *result_address = ((ZyanU32)runtime_address + instruction->length + in ZydisCalcAbsoluteAddress()
64 *result_address = (ZyanU64)(runtime_address + instruction->length + in ZydisCalcAbsoluteAddress()
71 switch (instruction->address_width) in ZydisCalcAbsoluteAddress()
90 *result_address = (ZyanU64)((ZyanI64)runtime_address + instruction->length + in ZydisCalcAbsoluteAddress()
92 switch (instruction->machine_mode) in ZydisCalcAbsoluteAddress()
103 if ((instruction->operand_width == 16) && in ZydisCalcAbsoluteAddress()
104 (instruction->mnemonic != ZYDIS_MNEMONIC_XBEGIN)) in ZydisCalcAbsoluteAddress()
124 ZyanStatus ZydisCalcAbsoluteAddressEx(const ZydisDecodedInstruction* instruction, in ZydisCalcAbsoluteAddressEx() argument
[all …]
H A DFormatterBase.c111 if (context->instruction->operand_count_visible < 2) in ZydisFormatterHelperGetExplicitSize()
177 switch (context->instruction->operand_width) in ZydisFormatterBaseFormatOperandPTR()
231 ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand, in ZydisFormatterBasePrintAddressABS()
238 switch (context->instruction->address_width) in ZydisFormatterBasePrintAddressABS()
271 ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand, 0, &address)); in ZydisFormatterBasePrintAddressREL()
278 switch (context->instruction->address_width) in ZydisFormatterBasePrintAddressREL()
338 switch (context->instruction->operand_width) in ZydisFormatterBasePrintIMM()
401 (context->instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_SS)) in ZydisFormatterBasePrintSegment()
410 (context->instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_DS)) in ZydisFormatterBasePrintSegment()
437 for (ZyanU8 i = 0; i < context->instruction->raw.prefix_count; ++i) in ZydisFormatterBasePrintPrefixes()
[all …]
H A DFormatterATT.c49 ZYAN_ASSERT(context->instruction); in ZydisFormatterATTFormatInstruction()
58 const ZyanI8 c = (ZyanI8)context->instruction->operand_count_visible - 1; in ZydisFormatterATTFormatInstruction()
141 if ((context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) || in ZydisFormatterATTFormatInstruction()
142 (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)) in ZydisFormatterATTFormatInstruction()
145 (context->instruction->operand_count_visible > 1) && in ZydisFormatterATTFormatInstruction()
155 if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX) in ZydisFormatterATTFormatInstruction()
165 if (i == (context->instruction->operand_count_visible - 1)) in ZydisFormatterATTFormatInstruction()
172 (context->instruction->operand_count_visible > (i + 1)) && in ZydisFormatterATTFormatInstruction()
178 if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX) in ZydisFormatterATTFormatInstruction()
280 ZYAN_ASSERT(context->instruction); in ZydisFormatterATTPrintMnemonic()
[all …]
H A DFormatter.c456 const ZydisDecodedInstruction* instruction, const ZydisDecodedOperand* operands, in ZydisFormatterFormatInstruction() argument
459 if (!formatter || !instruction || (operand_count && !operands) || in ZydisFormatterFormatInstruction()
461 (operand_count < instruction->operand_count_visible) || !buffer || (length == 0)) in ZydisFormatterFormatInstruction()
470 context.instruction = instruction; in ZydisFormatterFormatInstruction()
492 const ZydisDecodedInstruction* instruction, const ZydisDecodedOperand* operand, in ZydisFormatterFormatOperand() argument
495 if (!formatter || !instruction || !operand || !buffer || (length == 0)) in ZydisFormatterFormatOperand()
504 context.instruction = instruction; in ZydisFormatterFormatOperand()
549 const ZydisDecodedInstruction* instruction, const ZydisDecodedOperand* operands, in ZydisFormatterTokenizeInstruction() argument
553 if (!formatter || !instruction || (operand_count && !operands) || in ZydisFormatterTokenizeInstruction()
555 (operand_count < instruction->operand_count_visible) || !buffer || in ZydisFormatterTokenizeInstruction()
[all …]
H A DFormatterIntel.c51 ZYAN_ASSERT(context->instruction); in ZydisFormatterIntelFormatInstruction()
59 for (ZyanU8 i = 0; i < context->instruction->operand_count_visible; ++i) in ZydisFormatterIntelFormatInstruction()
141 if ((context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) || in ZydisFormatterIntelFormatInstruction()
142 (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)) in ZydisFormatterIntelFormatInstruction()
145 (context->instruction->operand_count_visible > 1) && in ZydisFormatterIntelFormatInstruction()
155 if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX) in ZydisFormatterIntelFormatInstruction()
165 if (i == (context->instruction->operand_count_visible - 1)) in ZydisFormatterIntelFormatInstruction()
172 (context->instruction->operand_count_visible > (i + 1)) && in ZydisFormatterIntelFormatInstruction()
178 if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX) in ZydisFormatterIntelFormatInstruction()
274 context->instruction->mnemonic); in ZydisFormatterIntelPrintMnemonic()
[all …]
/haiku/src/kits/debugger/arch/x86/disasm/
H A DDisassemblerX86.cpp103 ZydisDecodedInstruction instruction; in GetNextInstruction() local
106 fCodeSize - fZydisData->offset, &instruction, operands))) { in GetNextInstruction()
111 fZydisData->offset += instruction.length; in GetNextInstruction()
115 for (ZyanUSize i = 0; i < instruction.length; i++) { in GetNextInstruction()
121 if (ZYAN_SUCCESS(ZydisFormatterFormatInstruction(&fZydisData->formatter, &instruction, in GetNextInstruction()
122 operands, instruction.operand_count_visible, formatted, sizeof(formatted), address, in GetNextInstruction()
131 _size = instruction.length; in GetNextInstruction()
149 ZydisDecodedInstruction instruction; in GetPreviousInstruction() local
152 &instruction))) { in GetPreviousInstruction()
156 fZydisData->offset += instruction.length; in GetPreviousInstruction()
[all …]
/haiku/src/kits/debugger/arch/x86_64/disasm/
H A DDisassemblerX8664.cpp112 ZydisDecodedInstruction instruction; in GetNextInstruction() local
115 fCodeSize - fZydisData->offset, &instruction, operands))) { in GetNextInstruction()
120 fZydisData->offset += instruction.length; in GetNextInstruction()
124 for (ZyanUSize i = 0; i < instruction.length; i++) { in GetNextInstruction()
130 if (ZYAN_SUCCESS(ZydisFormatterFormatInstruction(&fZydisData->formatter, &instruction, operands, in GetNextInstruction()
131 instruction.operand_count_visible, formatted, sizeof(formatted), address, NULL))) { in GetNextInstruction()
139 _size = instruction.length; in GetNextInstruction()
157 ZydisDecodedInstruction instruction; in GetPreviousInstruction() local
160 &instruction))) { in GetPreviousInstruction()
164 fZydisData->offset += instruction.length; in GetPreviousInstruction()
[all …]
/haiku/src/add-ons/kernel/debugger/disasm/x86/
H A Ddisasm_arch.cpp29 ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand, in ZydisFormatterPrintAddressAbsolute()
81 ZydisDecodedInstruction instruction; in disasm_arch_dump_insns() local
93 (ZydisDecoderContext*)ZYAN_NULL, buffer, sizeof(buffer), &instruction))) { in disasm_arch_dump_insns()
94 address += instruction.length; in disasm_arch_dump_insns()
109 for (int i = 0; i < count; i++, offset += instruction.length) { in disasm_arch_dump_insns()
117 if (!ZYAN_SUCCESS(ZydisDecoderDecodeFull(&sDecoder, buffer, sizeof(buffer), &instruction, in disasm_arch_dump_insns()
132 for (ZyanUSize i = 0; i < instruction.length; i++) { in disasm_arch_dump_insns()
138 if (ZYAN_SUCCESS(ZydisFormatterFormatInstruction(&sFormatter, &instruction, operands, in disasm_arch_dump_insns()
139 instruction.operand_count_visible, formatted, sizeof(formatted), in disasm_arch_dump_insns()
/haiku/headers/libs/zydis/Zydis/
H A DDecoder.h258 const void* buffer, ZyanUSize length, ZydisDecodedInstruction* instruction,
280 ZydisDecodedInstruction* instruction);
309 const ZydisDecoderContext* context, const ZydisDecodedInstruction* instruction,
H A DUtils.h75 ZYDIS_EXPORT ZyanStatus ZydisCalcAbsoluteAddress(const ZydisDecodedInstruction* instruction,
95 ZYDIS_EXPORT ZyanStatus ZydisCalcAbsoluteAddressEx(const ZydisDecodedInstruction* instruction,
H A DDisassembler.h118 ZydisDisassembledInstruction *instruction);
127 ZydisDisassembledInstruction *instruction);
H A DFormatter.h656 const ZydisDecodedInstruction* instruction; member
1060 const ZydisDecodedInstruction* instruction, const ZydisDecodedOperand* operands,
1083 const ZydisDecodedInstruction* instruction, const ZydisDecodedOperand* operand,
1109 const ZydisDecodedInstruction* instruction, const ZydisDecodedOperand* operands,
1132 const ZydisDecodedInstruction* instruction, const ZydisDecodedOperand* operand,
H A DSegment.h165 ZYDIS_EXPORT ZyanStatus ZydisGetInstructionSegments(const ZydisDecodedInstruction* instruction,
/haiku/headers/libs/zydis/Zydis/Internal/
H A DEncoderData.h241 const ZydisEncodableInstruction **instruction);
/haiku/src/system/libroot/os/arch/x86_64/
H A Dsyscalls.inc12 // 4) is overwritten by the SYSCALL instruction, so it is moved to R10. Syscall
/haiku/docs/develop/kernel/arch/sparc/
H A Doverview.rst25 in the form of a register window. There is an instruction to shift the registers
75 multi byte instruction and cause a SIGBUS. Solution: make sure the struct
111 There are actually two separate units for the instruction and data address
212 The SPARC instruction set specifies instruction for handling long double
354 202000 dis (disassemble starting at 202000 until next return instruction)
/haiku/docs/develop/kernel/arch/arm/
H A Doverview.rst48 The ARM instruction set has evolved a lot over time, and we have to make a choice: use the oldest
49 versions of the instruction set gives us maximal compatibility, but at the cost of a large
/haiku/data/develop/
H A Dmakefile-engine204 # Create the resource definitions instruction in case RDEFS is not empty.
211 # Create the resource instruction.
/haiku/src/system/ldscripts/arm/
H A Dkernel.ld149 /* We want the small data sections together, so single-instruction offsets
/haiku/src/system/ldscripts/arm64/
H A Dkernel.ld149 /* We want the small data sections together, so single-instruction offsets
/haiku/src/system/ldscripts/riscv64/
H A Dkernel.ld154 /* We want the small data sections together, so single-instruction offsets
/haiku/docs/user/interface/
H A DPicture.dox49 instruction to be recorded. Drawing instructions are recorded even if the
/haiku/docs/user/drivers/
H A DKernelExport.dox382 the instruction ordering, and the memory. A barrier makes sure every read that should be
392 the instruction ordering, and the memory. A barrier makes sure every read that should be

12