| 416 | |
| 417 | |
| 418 | uint32_t tokenize_shift( |
| 419 | const InstructionOperand* __restrict operand, vector<InstructionTextToken>& result) |
| 420 | { |
| 421 | if (operand->shiftType != ShiftType_NONE) |
| 422 | { |
| 423 | const char* shiftStr = get_shift(operand->shiftType); |
| 424 | if (shiftStr == NULL) |
| 425 | return FAILED_TO_DISASSEMBLE_OPERAND; |
| 426 | |
| 427 | result.emplace_back(TextToken, ", "); |
| 428 | result.emplace_back(TextToken, shiftStr); |
| 429 | if (operand->shiftValueUsed != 0) |
| 430 | { |
| 431 | char buf[64] = {0}; |
| 432 | snprintf(buf, sizeof(buf), "%#x", (uint32_t)operand->shiftValue); |
| 433 | result.emplace_back(OperationToken, " #"); |
| 434 | result.emplace_back(IntegerToken, buf, operand->shiftValue); |
| 435 | } |
| 436 | } |
| 437 | return DISASM_SUCCESS; |
| 438 | } |
| 439 | |
| 440 | |
| 441 | uint32_t tokenize_shifted_immediate( |
nothing calls this directly
no test coverage detected