| 441 | } |
| 442 | |
| 443 | uint32_t get_indexed_element(const InstructionOperand *operand, char *outBuffer, uint32_t outBufferSize) |
| 444 | { |
| 445 | // make the "{, #<imm>}" |
| 446 | char optional_comma_and[32]; |
| 447 | if(operand->immediate) |
| 448 | if(snprintf(optional_comma_and, 32, ", #%" PRIu64 "", operand->immediate) >= 32) |
| 449 | return FAILED_TO_DISASSEMBLE_OPERAND; |
| 450 | |
| 451 | // <Pn>.<T>[<Wm>{, #<imm>}] |
| 452 | if(snprintf(outBuffer, outBufferSize, "%s%s[%s%s]", |
| 453 | get_register_name(operand->reg[0]), |
| 454 | get_arrspec_str_truncated(operand->arrSpec), |
| 455 | get_register_name(operand->reg[1]), |
| 456 | optional_comma_and |
| 457 | ) >= outBufferSize) |
| 458 | return FAILED_TO_DISASSEMBLE_OPERAND; |
| 459 | |
| 460 | return DISASM_SUCCESS; |
| 461 | } |
| 462 | |
| 463 | uint32_t get_accum_array(const InstructionOperand *operand, char *outBuffer, uint32_t outBufferSize) |
| 464 | { |
no test coverage detected