/haiku/src/libs/zydis/Zydis/ |
H A D | Decoder.c | 247 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 D | Disassembler.c | 36 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 D | Utils.c | 41 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 D | FormatterBase.c | 111 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 D | FormatterATT.c | 49 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 D | Formatter.c | 456 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 D | FormatterIntel.c | 51 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 D | DisassemblerX86.cpp | 103 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 D | DisassemblerX8664.cpp | 112 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 D | disasm_arch.cpp | 29 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 D | Decoder.h | 258 const void* buffer, ZyanUSize length, ZydisDecodedInstruction* instruction, 280 ZydisDecodedInstruction* instruction); 309 const ZydisDecoderContext* context, const ZydisDecodedInstruction* instruction,
|
H A D | Utils.h | 75 ZYDIS_EXPORT ZyanStatus ZydisCalcAbsoluteAddress(const ZydisDecodedInstruction* instruction, 95 ZYDIS_EXPORT ZyanStatus ZydisCalcAbsoluteAddressEx(const ZydisDecodedInstruction* instruction,
|
H A D | Disassembler.h | 118 ZydisDisassembledInstruction *instruction); 127 ZydisDisassembledInstruction *instruction);
|
H A D | Formatter.h | 656 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 D | Segment.h | 165 ZYDIS_EXPORT ZyanStatus ZydisGetInstructionSegments(const ZydisDecodedInstruction* instruction,
|
/haiku/headers/libs/zydis/Zydis/Internal/ |
H A D | EncoderData.h | 241 const ZydisEncodableInstruction **instruction);
|
/haiku/src/system/libroot/os/arch/x86_64/ |
H A D | syscalls.inc | 12 // 4) is overwritten by the SYSCALL instruction, so it is moved to R10. Syscall
|
/haiku/docs/develop/kernel/arch/sparc/ |
H A D | overview.rst | 25 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 D | overview.rst | 48 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 D | makefile-engine | 204 # Create the resource definitions instruction in case RDEFS is not empty. 211 # Create the resource instruction.
|
/haiku/src/system/ldscripts/arm/ |
H A D | kernel.ld | 149 /* We want the small data sections together, so single-instruction offsets
|
/haiku/src/system/ldscripts/arm64/ |
H A D | kernel.ld | 149 /* We want the small data sections together, so single-instruction offsets
|
/haiku/src/system/ldscripts/riscv64/ |
H A D | kernel.ld | 154 /* We want the small data sections together, so single-instruction offsets
|
/haiku/docs/user/interface/ |
H A D | Picture.dox | 49 instruction to be recorded. Drawing instructions are recorded even if the
|
/haiku/docs/user/drivers/ |
H A D | KernelExport.dox | 382 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
|